List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn
public TableViewerColumn(TableViewer viewer, int style, int index)
From source file:com.archimatetool.editor.propertysections.UserPropertiesSection.java
License:Open Source License
private void createTableControl(Composite parent) { // Table Composite Composite tableComp = createTableComposite(parent, SWT.NULL); fTableLayout = (UpdatingTableColumnLayout) tableComp.getLayout(); // Table Viewer fTableViewer = new TableViewer(tableComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); fTableViewer.getTable().setHeaderVisible(true); fTableViewer.getTable().setLinesVisible(true); addDragSupport();//from www.j a v a 2s . co m addDropSupport(); // Help ID on table PlatformUI.getWorkbench().getHelpSystem().setHelp(fTableViewer.getTable(), HELP_ID); // Columns TableViewerColumn columnBlank = new TableViewerColumn(fTableViewer, SWT.NONE, 0); fTableLayout.setColumnData(columnBlank.getColumn(), new ColumnPixelData(24, false)); TableViewerColumn columnKey = new TableViewerColumn(fTableViewer, SWT.NONE, 1); columnKey.getColumn().setText(Messages.UserPropertiesSection_0); fTableLayout.setColumnData(columnKey.getColumn(), new ColumnWeightData(20, true)); columnKey.setEditingSupport(new KeyEditingSupport(fTableViewer)); // Click on Key Table Header columnKey.getColumn().addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { sortKeys(); } }); TableViewerColumn columnValue = new TableViewerColumn(fTableViewer, SWT.NONE, 2); columnValue.getColumn().setText(Messages.UserPropertiesSection_1); fTableLayout.setColumnData(columnValue.getColumn(), new ColumnWeightData(80, true)); columnValue.setEditingSupport(new ValueEditingSupport(fTableViewer)); // Content Provider fTableViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return ((IProperties) inputElement).getProperties().toArray(); } }); // Label Provider fTableViewer.setLabelProvider(new LabelCellProvider()); // Toolbar ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.VERTICAL); GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).applyTo(toolBar); ToolBarManager toolBarmanager = new ToolBarManager(toolBar); // New Property fActionNewProperty = new Action(Messages.UserPropertiesSection_2) { @Override public void run() { if (isAlive()) { int index = -1; IProperty selected = (IProperty) ((IStructuredSelection) fTableViewer.getSelection()) .getFirstElement(); if (selected != null) { index = fPropertiesElement.getProperties().indexOf(selected) + 1; } IProperty property = IArchimateFactory.eINSTANCE.createProperty(); getCommandStack() .execute(new NewPropertyCommand(fPropertiesElement.getProperties(), property, index)); fTableViewer.editElement(property, 1); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_PLUS); } }; // New Multiple Properties fActionNewMultipleProperty = new Action(Messages.UserPropertiesSection_3) { @Override public void run() { if (isAlive()) { MultipleAddDialog dialog = new MultipleAddDialog(fPage.getSite().getShell()); if (dialog.open() == Window.OK) { getCommandStack().execute(dialog.getCommand()); } } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_MUTIPLE); } }; // Remove Property fActionRemoveProperty = new Action(Messages.UserPropertiesSection_4) { @Override public void run() { if (isAlive()) { CompoundCommand compoundCmd = new EObjectNonNotifyingCompoundCommand(fPropertiesElement) { @Override public String getLabel() { return getCommands().size() > 1 ? Messages.UserPropertiesSection_5 : Messages.UserPropertiesSection_6; } }; for (Object o : ((IStructuredSelection) fTableViewer.getSelection()).toList()) { Command cmd = new RemovePropertyCommand(fPropertiesElement.getProperties(), (IProperty) o); compoundCmd.add(cmd); } getCommandStack().execute(compoundCmd); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_SMALL_X); } }; fActionRemoveProperty.setEnabled(false); // Manage fActionShowKeyEditor = new Action(Messages.UserPropertiesSection_7) { @Override public void run() { if (isAlive()) { UserPropertiesManagerDialog dialog = new UserPropertiesManagerDialog(fPage.getSite().getShell(), getArchimateModel()); dialog.open(); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_COG); } }; toolBarmanager.add(fActionNewProperty); toolBarmanager.add(fActionNewMultipleProperty); toolBarmanager.add(fActionRemoveProperty); toolBarmanager.add(fActionShowKeyEditor); toolBarmanager.update(true); /* * Selection Listener */ fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { fActionRemoveProperty.setEnabled(!event.getSelection().isEmpty()); } }); /* * Table Double-click on cell */ fTableViewer.getTable().addListener(SWT.MouseDoubleClick, new Listener() { @Override public void handleEvent(Event event) { // Get Table item TableItem item = fTableViewer.getTable().getItem(new Point(event.x, event.y)); // Double-click into empty table creates new Property if (item == null) { fActionNewProperty.run(); } // Handle selected item property double-clicked else { if (item.getData() instanceof IProperty) { handleDoubleClick((IProperty) item.getData()); } } } }); hookContextMenu(); }
From source file:com.microsoft.tfs.client.common.ui.controls.TeamProjectTable.java
License:Open Source License
public TeamProjectTable(final Composite parent, final int style, final boolean showIcons) { super(parent, (SWT.CHECK | style), ProjectInfo.class, null); final TableColumnData[] columnData = new TableColumnData[] { new TableColumnData( Messages.getString("TeamProjectTable.ColumnNameProject"), 100, 1.00F, PROJECT_COLUMN), //$NON-NLS-1$ };/*from w w w .jav a2 s .c o m*/ setupTable(false, false, columnData); final TableViewerColumn projectColumnViewer = new TableViewerColumn(getViewer(), SWT.None, 0); projectColumnViewer.setLabelProvider(new ProjectColumnLabelProvider(showIcons)); setUseDefaultContentProvider(); setEnableTooltips(false); /* * Ensure the select all item sorts first. */ final TableViewerSorter sorter = new TableViewerSorter(getViewer()); sorter.setCategoryProvider(new CategoryProvider() { @Override public int getCategory(final Object element) { if (element == SELECT_ALL_SPECIAL_PROJECT_INFO) { return 0; } return 1; } }); sorter.setComparator(PROJECT_COLUMN, new Comparator<ProjectInfo>() { @Override public int compare(final ProjectInfo o1, final ProjectInfo o2) { if (o1 == SELECT_ALL_SPECIAL_PROJECT_INFO) { return -1; } if (o2 == SELECT_ALL_SPECIAL_PROJECT_INFO) { return 1; } return o1.getName().compareToIgnoreCase(o2.getName()); } }); getViewer().setSorter(sorter); getViewer().setComparer(new IElementComparer() { @Override public boolean equals(final Object a, final Object b) { if (a instanceof ProjectInfo && b instanceof ProjectInfo) { return ((ProjectInfo) a).getGUID().equals(((ProjectInfo) b).getGUID()); } return a.equals(b); } @Override public int hashCode(final Object element) { if (element instanceof ProjectInfo) { return ((ProjectInfo) element).getGUID().hashCode(); } return element.toString().hashCode(); } }); ((CheckboxTableViewer) getViewer()).addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(final CheckStateChangedEvent event) { final CheckboxTableViewer viewer = (CheckboxTableViewer) getViewer(); /* * "Select all" item was checked: apply check state to all the * other elements. */ if (event.getElement().equals(SELECT_ALL_SPECIAL_PROJECT_INFO)) { if (event.getChecked()) { setCheckedElements(removeNotValidVC(getProjects())); } else { setCheckedElements(new ProjectInfo[0]); } } else { if (!hasValidVC(event.getElement())) { viewer.setChecked(event.getElement(), false); setCheckedElements(removeNotValidVC(getCheckedElements())); } } updateSelectAllCheckState(); } }); }
From source file:gov.va.isaac.mdht.otf.ui.properties.OTFTableViewer.java
License:Apache License
protected TableViewerColumn createTableViewerColumn(String header, int width, int idx) { TableViewerColumn column = new TableViewerColumn(this, SWT.LEFT, idx); column.getColumn().setText(header);/* w w w. j a v a 2s. c om*/ column.getColumn().setWidth(width); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); return column; }