Example usage for org.eclipse.jface.viewers TableViewer TableViewer

List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer TableViewer.

Prototype

public TableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:com.aptana.theme.preferences.ThemePreferencePage.java

License:Open Source License

private void createTokenEditTable(Composite composite) {
    // FIXME allow drag and drop to sort items in the table!
    Composite comp = new Composite(composite, SWT.NONE);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.heightHint = 200;//from  ww w .  j  ava2s .co m
    comp.setLayoutData(gridData);
    TableColumnLayout layout = new TableColumnLayout();
    comp.setLayout(layout);
    final Table table = new Table(comp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL);
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
    // Hack to force a specific row height
    table.addListener(SWT.MeasureItem, new Listener() {
        public void handleEvent(Event event) {
            event.height = ROW_HEIGHT;
        }
    });
    // Hack to draw the underline in first column
    table.addListener(SWT.PaintItem, new Listener() {
        public void handleEvent(Event event) {
            if ((event.detail & SWT.FOREGROUND) != 0 && event.index == 0) {
                TableItem item = (TableItem) event.item;
                ThemeRule token = (ThemeRule) item.getData();
                if ((token.getTextAttribute().style & TextAttribute.UNDERLINE) != 0) {
                    int y = event.getBounds().y + event.getBounds().height - 6;
                    int x2 = event.getBounds().width;
                    Color oldFG = event.gc.getForeground();
                    Color fg;
                    RGBa rgb = token.getTextAttribute().foreground;
                    if (rgb == null) {
                        fg = ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground());
                    } else {
                        fg = ThemePlugin.getDefault().getColorManager().getColor(rgb.toRGB());
                    }
                    event.gc.setForeground(fg);
                    event.gc.drawLine(0, y, x2, y);
                    event.gc.setForeground(oldFG);
                    event.detail &= ~SWT.FOREGROUND;
                }
            }
        }
    });

    Listener selectionOverride = new Listener() {
        public void handleEvent(Event event) {
            if ((event.detail & SWT.SELECTED) != 0) {
                Scrollable scrollable = (Scrollable) event.widget;
                Rectangle clientArea = scrollable.getClientArea();
                int clientWidth = clientArea.width;

                GC gc = event.gc;
                Color oldBackground = gc.getBackground();

                gc.setBackground(ThemePlugin.getDefault().getColorManager()
                        .getColor(getTheme().getSelectionAgainstBG()));
                gc.fillRectangle(clientArea.x, event.y, clientWidth, event.height);
                gc.setBackground(oldBackground);

                event.detail &= ~SWT.SELECTED;
                event.detail &= ~SWT.BACKGROUND;

                // force foreground color. Otherwise on dark themes we get black FG (all the time on Win, on
                // non-focus for Mac)
                gc.setForeground(
                        ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground()));
            }
        }
    };
    table.addListener(SWT.EraseItem, selectionOverride);

    tableViewer = new TableViewer(table);
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        private Theme theme;

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            this.theme = (Theme) newInput;
        }

        public void dispose() {

        }

        public Object[] getElements(Object inputElement) {
            return theme.getTokens().toArray();
        }
    });
    tableViewer.setLabelProvider(new TokenLabelProvider());
    tableViewer.getTable().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            Table table = tableViewer.getTable();
            // If user is clicking in the FG/BG column when it's empty, pop open a color dialog
            int fgColX = table.getColumn(0).getWidth(); // scope col width
            int fgColWidth = table.getColumn(1).getWidth(); // fg col width
            int bgColX = fgColX + fgColWidth;
            int bgColWidth = table.getColumn(2).getWidth() + 2;

            if (e.x > fgColX && e.x < (fgColX + fgColWidth)) {
                // user clicked in FG column
                ColorDialog colorDialog = new ColorDialog(table.getShell());
                colorDialog.setRGB(getTheme().getForeground());
                RGB newRGB = colorDialog.open();
                if (newRGB == null) {
                    return; // no color selected, don't change a thing!
                }
                TableItem tableItem = table.getItem(new Point(e.x, e.y));
                ThemeRule token = (ThemeRule) tableItem.getData();
                int index = table.indexOf(tableItem);
                getTheme().updateRule(index, token.updateFG(new RGBa(newRGB)));
            } else if (e.x > bgColX && e.x < (bgColX + bgColWidth)) // is user clicking in the BG column?
            {
                ColorDialog colorDialog = new ColorDialog(table.getShell());
                colorDialog.setRGB(getTheme().getBackground());
                RGB newRGB = colorDialog.open();
                if (newRGB == null) {
                    return; // no color selected, don't change a thing!
                }
                TableItem tableItem = table.getItem(new Point(e.x, e.y));
                ThemeRule token = (ThemeRule) tableItem.getData();
                int index = table.indexOf(tableItem);
                getTheme().updateRule(index, token.updateBG(new RGBa(newRGB)));
            } else {
                return;
            }

            tableViewer.refresh();
            addCustomTableEditorControls();
        }
    });

    TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn tokenName = column.getColumn();
    tokenName.setText("Element"); //$NON-NLS-1$
    layout.setColumnData(tokenName, new ColumnWeightData(100, true));
    column.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            ThemeRule token = (ThemeRule) element;
            return token.getName();
        }

        public Color getForeground(Object element) {
            ThemeRule token = (ThemeRule) element;
            // TODO How do we handle alpha?
            RGBa fg = token.getTextAttribute().foreground;
            if (fg == null)
                return ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground());
            return ThemePlugin.getDefault().getColorManager().getColor(fg.toRGB());
        }

        public Color getBackground(Object element) {
            ThemeRule token = (ThemeRule) element;
            // TODO How do we handle alpha?
            RGBa bg = token.getTextAttribute().background;
            if (bg == null)
                return ThemePlugin.getDefault().getColorManager().getColor(getTheme().getBackground());
            return ThemePlugin.getDefault().getColorManager().getColor(bg.toRGB());
        }

        public Font getFont(Object element) {
            ThemeRule token = (ThemeRule) element;
            if (token.getTextAttribute().style == 0) // TODO Limit to only checking for bold or italic
                return fFont;
            return lazyFont(fFont, token.getTextAttribute().style);
        }
    });

    column.setEditingSupport(new EditingSupport(tableViewer) {

        private TextCellEditor cellEditor;

        @Override
        protected void setValue(Object element, Object value) {
            ThemeRule token = (ThemeRule) element;
            String newName = (String) value;
            if (newName.equals(token.getName())) {
                return;
            }
            // update the token in the theme
            int index = getTheme().getTokens().indexOf(token);
            getTheme().updateRule(index, token.setName(newName));
            tableViewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            ThemeRule token = (ThemeRule) element;
            return token.getName();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            ThemeRule token = (ThemeRule) element;
            cellEditor = new TextCellEditor(table);
            cellEditor.setValue(token.getName());
            return cellEditor;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn foreground = column.getColumn();
    foreground.setResizable(false);
    foreground.setText(Messages.ThemePreferencePage_ForegroundColumnLabel);
    layout.setColumnData(foreground, new ColumnPixelData(30, false));
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn background = column.getColumn();
    background.setResizable(false);
    background.setText(Messages.ThemePreferencePage_BackgroundColumnLabel);
    layout.setColumnData(background, new ColumnPixelData(30, false));
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    final TableColumn fontStyle = new TableColumn(table, SWT.NONE);
    fontStyle.setResizable(false);
    fontStyle.setText(Messages.ThemePreferencePage_FontStyleColumnLabel);
    layout.setColumnData(fontStyle, new ColumnPixelData(75, false));

    Composite editTokenList = new Composite(composite, SWT.NONE);
    editTokenList.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    GridLayout grid = new GridLayout(2, false);
    editTokenList.setLayout(grid);

    Composite buttons = new Composite(editTokenList, SWT.NONE);
    GridLayout buttonsLayout = new GridLayout(2, true);
    buttonsLayout.marginWidth = 0;
    buttonsLayout.horizontalSpacing = 0;
    buttons.setLayout(buttonsLayout);

    fAddTokenButton = new Button(buttons, SWT.PUSH | SWT.FLAT);
    fAddTokenButton.setBounds(0, 0, 16, 16);
    fAddTokenButton.setLayoutData(new GridData(GridData.FILL_BOTH));
    fAddTokenButton.setText(Messages.ThemePreferencePage_AddTokenLabel);
    fAddTokenButton.addSelectionListener(this);
    fRemoveTokenButton = new Button(buttons, SWT.PUSH | SWT.FLAT);
    fRemoveTokenButton.setLayoutData(new GridData(GridData.FILL_BOTH));
    fRemoveTokenButton.setText(Messages.ThemePreferencePage_RemoveTokenLabel);
    fRemoveTokenButton.addSelectionListener(this);

    Composite textField = new Composite(editTokenList, SWT.NONE);
    textField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    textField.setLayout(new GridLayout(2, false));
    Label addTokenLabel = new Label(textField, SWT.RIGHT);
    addTokenLabel.setText(Messages.ThemePreferencePage_ScopeSelectoreLabel);

    fScopeText = new Combo(textField, SWT.SINGLE | SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    fScopeText.setLayoutData(data);
    for (String preset : tokenTypeNames) {
        fScopeText.add(preset);
    }
    table.addSelectionListener(this);
    fScopeSelectorDecoration = new ControlDecoration(fScopeText, SWT.RIGHT);
    fScopeText.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent e) {
            // Update the scope selector for the current token!
            TableItem[] selection = table.getSelection();
            if (selection == null || selection.length == 0) {
                return;
            }
            TableItem item = selection[0];
            ThemeRule rule = (ThemeRule) item.getData();

            String scopeSelectorText = fScopeText.getText();
            // Validate the value isn't a duplicate!
            ScopeSelector selector = new ScopeSelector(scopeSelectorText);
            ThemeRule match = getTheme().getRuleForSelector(selector);
            if (scopeSelectorText.length() > 0 && match != null && match != rule) {
                FieldDecoration dec = FieldDecorationRegistry.getDefault()
                        .getFieldDecoration(FieldDecorationRegistry.DEC_WARNING);
                fScopeSelectorDecoration.setImage(dec.getImage());
                fScopeSelectorDecoration.setDescriptionText(MessageFormat
                        .format(Messages.ThemePreferencePage_DuplicateScopeSelectorRules, match.getName()));
                fScopeText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
            } else {
                fScopeSelectorDecoration.setDescriptionText(null);
                fScopeSelectorDecoration.setImage(null);
                fScopeText.setForeground(null);
            }

            int index = table.indexOf(item);
            ThemeRule newRule = rule.setScopeSelector(selector);
            getTheme().updateRule(index, newRule);
            item.setData(newRule);
        }
    });

    addDNDToTable(table);
}

From source file:com.astra.ses.spell.gui.dialogs.PropertiesDialog.java

License:Open Source License

/***************************************************************************
 * Create the history of changes/*from  w ww.j  ava  2 s  .  com*/
 **************************************************************************/
protected void createHistoryOfChanges(TabFolder folder) {
    TabItem itemHistory = new TabItem(folder, SWT.NONE);
    itemHistory.setText("History of changes");
    m_tabHistory = new Composite(folder, SWT.BORDER);
    GridLayout tabLayout2 = new GridLayout();
    tabLayout2.numColumns = 1;
    m_tabHistory.setLayout(tabLayout2);
    itemHistory.setControl(m_tabHistory);

    m_history = new ArrayList<String>();
    parseHistory();

    m_table = new Table(m_tabHistory, SWT.NONE);
    m_historyViewer = new TableViewer(m_table);
    m_historyViewer.setContentProvider(new HistoryContentProvider());
    m_historyViewer.setInput(m_history);
    m_table.setHeaderVisible(true);
    m_table.setLinesVisible(true);
    m_table.setLayoutData(new GridData(GridData.FILL_BOTH));
    IConfigurationManager mgr = (IConfigurationManager) ServiceManager.get(IConfigurationManager.class);
    m_table.setFont(mgr.getFont(FontKey.CODE));
    m_tabHistory.pack();
}

From source file:com.bluexml.side.application.presentation.ApplicationEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->//from   w  ww .  jav  a  2 s .  com
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ApplicationEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.bluexml.side.application.ui.action.ApplicationDialog.java

License:Open Source License

/**
 * Create the TableViewer//from  w w w .  j  ava 2s .c o  m
 */
private void createTableViewer() {
    generatorParametersViewer = new TableViewer(generatorParameters);
    generatorParametersViewer.setUseHashlookup(true);
    generatorParametersViewer.setColumnProperties(columnNames);

    // Create the cell editors
    CellEditor[] editors = new CellEditor[2];

    // Column 1 : Label (Text, readonly)
    editors[0] = new TextCellEditor(generatorParameters);

    // Column 2 : Value (Text, editable)
    TextCellEditor textEditor = new TextCellEditor(generatorParameters);
    editors[1] = (CellEditor) textEditor;

    editors[1] = (CellEditor) new DialogResourceCellEditor(generatorParameters);

    // Assign the cell editors to the viewer
    generatorParametersViewer.setCellEditors(editors);
    // Set the cell modifier for the viewer
    generatorParameterContentProvider = new GeneratorParameterContentProvider(dataStructure);
    generatorParametersViewer.setContentProvider(generatorParameterContentProvider);
    generatorParameterLabelProvider = new GeneratorParameterLabelProvider(dataStructure);
    generatorParametersViewer.setLabelProvider(generatorParameterLabelProvider);
    generatorParameterCellModifier = new GeneratorParameterCellModifier(dataStructure, columnNames,
            generatorParametersViewer);
    generatorParametersViewer.setCellModifier(generatorParameterCellModifier);

    generatorParametersViewer.setInput(dataStructure);
    generatorParametersViewer.refresh();

}

From source file:com.bluexml.side.Class.modeler.diagram.dialogs.ClazzEditDialog.java

License:Open Source License

/**
 * // w ww. j  a  v  a2 s  .  c  o m
 * @param composite
 */
private void createTableViewer(Composite panelTable) {
    int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
    table = new Table(panelTable, style);
    TableColumn aspectColumn = new TableColumn(table, SWT.LEFT);
    aspectColumn.setText("Aspects");
    aspectColumn.setWidth(350);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalSpan = 2;
    table.setLayoutData(gridData);

    TableViewer tableViewer = new TableViewer(table);

    tableViewer.setUseHashlookup(true);
    tableViewer.setColumnProperties(new String[] { "Aspects" });

    tableViewer.setContentProvider(new AspectContentProvider());
    tableViewer.setLabelProvider(new AspectLabelProvider());
    tableViewer.setInput(classe.getAspects());
}

From source file:com.bluexml.side.Class.modeler.diagram.dialogs.EnumerationLiteralViewer.java

License:Open Source License

/**
 * /*  w  w  w . j av a2s .co m*/
 * @param composite
 */
private void createTableViewer(Composite composite) {
    Table table = createTable(composite);
    tableViewer = new TableViewer(table);

    tableViewer.setUseHashlookup(true);
    tableViewer.setColumnProperties(columnNames);

    CellEditor[] editors = new CellEditor[2];

    TextCellEditor textEditor = new TextCellEditor(table);
    ((Text) textEditor.getControl()).setTextLimit(60);
    editors[0] = textEditor;
    TextCellEditor textEditor2 = new TextCellEditor(table);
    ((Text) textEditor2.getControl()).setTextLimit(60);
    editors[1] = textEditor2;

    tableViewer.setCellEditors(editors);
    tableViewer.setContentProvider(new ParameterContentProvider());
    tableViewer.setLabelProvider(new ParameterLabelProvider());
    tableViewer.setInput(dataStructure);
    tableViewer.setCellModifier(new ParameterCellModifier());
}

From source file:com.bluexml.side.Class.modeler.diagram.dialogs.OperationParameterViewer.java

License:Open Source License

/**
 * //from  w ww . j  a  va2s .co  m
 * @param composite
 */
private void createTableViewer(Composite composite) {
    Table table = createTable(composite);
    tableViewer = new TableViewer(table);

    tableViewer.setUseHashlookup(true);
    tableViewer.setColumnProperties(columnNames);

    CellEditor[] editors = new CellEditor[2];

    TextCellEditor textEditor = new TextCellEditor(table);
    ((Text) textEditor.getControl()).setTextLimit(60);
    editors[0] = textEditor;

    TextCellEditor textEditor2 = new TextCellEditor(table);
    ((Text) textEditor2.getControl()).setTextLimit(60);
    editors[1] = new ComboBoxCellEditor(table, typeNames, SWT.READ_ONLY);

    tableViewer.setCellEditors(editors);
    tableViewer.setContentProvider(new ParameterContentProvider());
    tableViewer.setLabelProvider(new ParameterLabelProvider());
    tableViewer.setInput(dataStructure);
    tableViewer.setCellModifier(new ParameterCellModifier());
}

From source file:com.bluexml.side.clazz.presentation.ClazzEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->/*from   w  ww .  j a  va  2s  . co  m*/
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ClazzEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.bluexml.side.form.presentation.FormEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc/*from w w  w. j a v a 2 s. c  o m*/
 * --> <!-- end-user-doc -->
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), FormEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.bluexml.side.Portal.modeler.diagram.dialogs.viewer.ColumnViewer.java

License:Open Source License

/**
 * /*from  w w  w  .  j  a v a2  s.c o  m*/
 * @param composite
 */
private void createTableViewer(Composite composite) {
    Table table = createTable(composite);
    tableViewer = new TableViewer(table);

    tableViewer.setUseHashlookup(true);
    tableViewer.setColumnProperties(columnNames);
    editors = new CellEditor[3];

    TextCellEditor nameEditor = new TextCellEditor(table);
    ((Text) nameEditor.getControl()).setTextLimit(60);
    editors[0] = nameEditor;

    TextCellEditor widthEditor = new TextCellEditor(table);
    ((Text) widthEditor.getControl()).setTextLimit(3);
    editors[1] = widthEditor;

    editors[2] = new ComboBoxCellEditor(table, widthType, SWT.READ_ONLY);

    tableViewer.setCellEditors(editors);
    tableViewer.setContentProvider(new ColumnContentProvider());
    tableViewer.setLabelProvider(new ColumnLabelProvider());
    tableViewer.setInput(dataStructure);
    tableViewer.setCellModifier(new ColumnCellModifier());
}