List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Table table)
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()); }