List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer CheckboxTableViewer
public CheckboxTableViewer(Table table)
From source file:au.gov.ga.earthsci.bookmark.part.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(ArrayContentProvider.getInstance()); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(200);/*from w ww . j a v a 2s .c om*/ col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateLabelColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(100); col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateOpacityColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col.setEditingSupport(new EditingSupport(col.getViewer()) { @Override protected CellEditor getCellEditor(Object element) { TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable()); textCellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { try { Double.parseDouble((String) value); return null; } catch (Exception e) { return Messages.LayersPropertyEditor_InvalidOpacityMessage; } } }); return textCellEditor; } @Override protected boolean canEdit(Object element) { return true; } @SuppressWarnings("unchecked") @Override protected Object getValue(Object element) { return Double.toString(((Entry<URI, Double>) element).getValue()); } @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { ((Entry<URI, Double>) element).setValue(Util.clamp(Double.parseDouble((String) value), 0, 1)); layerTable.refresh(element, true); } }); layerTable.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<URI, Double> entry = (Entry<URI, Double>) cell.getElement(); if (cell.getColumnIndex() == 0) { cell.setText(entry.getKey().toString()); } else { cell.setText(Double.toString(entry.getValue())); } } }); fillFieldsFromProperty(getProperty()); return container; }
From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); tableColumns = new ArrayList<TableViewerColumn>(); colToName = new ConcurrentHashMap<Integer, String>(); colToName.put(0, "id"); colToName.put(1, "opacity"); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(new IStructuredContentProvider() { @Override/*from w ww. j a va2 s .c o m*/ public void inputChanged(Viewer arg0, Object oldItem, Object newItem) { for (TableViewerColumn col : tableColumns) { col.getColumn().dispose(); } tableColumns.clear(); colToName.clear(); if (newItem != null) { Collection<String> cols = null; if (newItem instanceof Map) { cols = getColumnsNeeded((Map) newItem); } for (String s : cols) { if (!s.equals("id")) { createTableColumn(s, s.equals(LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME)); } } createTableColumn("id", false); } } @Override public void dispose() { } @Override public Object[] getElements(Object element) { List items = new ArrayList(); Map<String, Map<String, String>> stateinfo = (Map<String, Map<String, String>>) element; for (Entry<String, Map<String, String>> entry : stateinfo.entrySet()) { items.add(entry); } return items.toArray(new Object[0]); } }); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); labelProv = new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<String, Map<String, String>> entry = (Entry<String, Map<String, String>>) cell.getElement(); int index = cell.getColumnIndex(); String colName = colToName.get(index); cell.setText(colName.equals("id") ? entry.getKey() : entry.getValue().get(colName)); } }; fillFieldsFromProperty(getProperty()); return container; }
From source file:au.gov.ga.earthsci.discovery.ui.preferences.DiscoveryServicesPreferencePage.java
License:Apache License
@Override protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); composite.setLayoutData(gd);// ww w.ja v a2 s . c o m GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN); layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN); layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING); layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING); composite.setLayout(layout); table = new Table(composite, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH); data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT); table.setLayoutData(data); viewer = new CheckboxTableViewer(table); // Key listener for delete table.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.DEL) { removeSelected(); } } }); setTableColumns(); viewer.setComparator(comparator); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new DiscoveryServiceLabelProvider()); stagingSet.clear(); stagingSet.addAll(DiscoveryServiceManager.getServices()); viewer.setInput(stagingSet); viewer.setCellModifier(new ICellModifier() { @Override public boolean canModify(Object element, String property) { return element instanceof IDiscoveryService; } @Override public Object getValue(Object element, String property) { String name = ((IDiscoveryService) element).getName(); return name != null ? name : ""; //$NON-NLS-1$ } @Override public void modify(Object element, String prop, Object value) { if (value != null && value.toString().length() >= 0) { IDiscoveryService service; if (element instanceof Item) { service = (IDiscoveryService) ((Item) element).getData(); } else if (element instanceof IDiscoveryService) { service = (IDiscoveryService) element; } else { return; } if (!value.toString().equals(service.getName())) { Map<IDiscoveryServiceProperty<?>, Object> propertyValues = new HashMap<IDiscoveryServiceProperty<?>, Object>(); IDiscoveryServiceProperty<?>[] properties = service.getProvider().getProperties(); if (properties != null) { for (IDiscoveryServiceProperty<?> property : properties) { propertyValues.put(property, property.getValue(service)); } } IDiscoveryService replacement = service.getProvider().createService(value.toString(), service.getServiceURL(), propertyValues); replacement.setEnabled(service.isEnabled()); stagingSet.remove(service); stagingSet.add(replacement); viewer.refresh(); } } } }); viewer.setColumnProperties(new String[] { "name" }); //$NON-NLS-1$ viewer.setCellEditors(new CellEditor[] { new TextCellEditor(table) }); viewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isChecked(Object element) { return ((IDiscoveryService) element).isEnabled(); } @Override public boolean isGrayed(Object element) { return false; } }); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { IDiscoveryService service = (IDiscoveryService) event.getElement(); if (!originalEnablement.containsKey(service)) { originalEnablement.put(service, service.isEnabled()); } service.setEnabled(event.getChecked()); viewer.refresh(); validateButtons(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { validateButtons(); } }); Composite verticalButtonBar = createVerticalButtonBar(composite); data = new GridData(SWT.FILL, SWT.FILL, false, false); data.verticalAlignment = SWT.TOP; data.verticalIndent = 0; verticalButtonBar.setLayoutData(data); validateButtons(); return composite; }
From source file:bndtools.release.ui.ProjectListControl.java
License:Open Source License
private void createTableLayout(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // Add TableColumnLayout TableColumnLayout layout = new TableColumnLayout(); composite.setLayout(layout);/*from w ww .j a va 2 s.c o m*/ // Instantiate TableViewer projects = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); projects.setHeaderVisible(true); projects.setLinesVisible(true); projects.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { selectionListener.widgetSelected(e); } @Override public void widgetDefaultSelected(SelectionEvent e) { selectionListener.widgetDefaultSelected(e); } }); tableViewer = new CheckboxTableViewer(projects); tableViewer.setUseHashlookup(true); // Project TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.LEFT); TableColumn tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(60, 100, true)); tableCol.setText(Messages.project1); // Repository tableViewerColumn = new TableViewerColumn(tableViewer, SWT.LEFT); tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(26, 80, true)); tableCol.setText(Messages.repository); tableViewerColumn.setEditingSupport(new InlineComboEditingSupport(tableViewer)); // Bundles tableViewerColumn = new TableViewerColumn(tableViewer, SWT.CENTER); tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(14, 35, true)); tableCol.setText(Messages.bundles); contentProvider = new ContentProvider(); tableViewer.setContentProvider(contentProvider); tableViewer.setLabelProvider(new TableLabelProvider()); tableViewer.setColumnProperties(columnNames); tableViewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isGrayed(Object element) { return false; } @Override public boolean isChecked(Object element) { ProjectDiff diff = (ProjectDiff) element; return diff.isRelease(); } }); projects.pack(); TableSortingEnabler.applyTableColumnSorting(tableViewer); }
From source file:ca.mcgill.sable.soot.ui.AnalysisTypeView.java
License:Open Source License
public void createPartControl(Composite parent) { Table table = new Table(parent, SWT.CHECK); setViewer(new CheckboxTableViewer(table)); getViewer().setContentProvider(new ArrayContentProvider()); getViewer().setLabelProvider(new LabelProvider()); getViewer().addCheckStateListener(this); }
From source file:ca.mcgill.sable.soot.ui.AnalysisVisManipDialog.java
License:Open Source License
private Composite createCheckArea(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1;/*from ww w. j a v a 2s. c o m*/ comp.setLayout(layout); GridData gd = new GridData(); Table table = new Table(comp, SWT.CHECK); checkTypes = new CheckboxTableViewer(table); gd = new GridData(GridData.FILL_BOTH); checkTypes.getControl().setLayoutData(gd); checkTypes.setContentProvider(new ArrayContentProvider()); checkTypes.setLabelProvider(new LabelProvider()); return comp; }
From source file:carisma.ui.eclipse.editors.AdfEditorMasterDetailsBlock.java
License:Open Source License
/** * Creates the table viewer./* w w w . j a va2 s. c o m*/ * * @param toolkit * The FormToolKit where the button is created * @param composite * The corresponding Composite * @param managedForm * for MasterDetailsBlock */ private void createTableAndViewer(final FormToolkit toolkit, final Composite composite, final IManagedForm managedForm) { Table table = toolkit.createTable(composite, SWT.CHECK); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.heightHint = 20; gridData.widthHint = 100; gridData.verticalSpan = 4; table.setLayoutData(gridData); ISelectionChangedListener selectionChangeListener = new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { if (listSelectionChanged()) { managedForm.fireSelectionChanged(new SectionPart(composite, toolkit, SWT.NONE), event.getSelection()); } } }; this.viewer = new CheckboxTableViewer(table); this.viewer.addSelectionChangedListener(selectionChangeListener); this.viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { Object selection = ((IStructuredSelection) AdfEditorMasterDetailsBlock.this.viewer.getSelection()) .getFirstElement(); if (selection != null && selection instanceof CheckReference) { boolean state = AdfEditorMasterDetailsBlock.this.viewer.getChecked(selection); state = state ^ true; // XOR swaps AdfEditorMasterDetailsBlock.this.viewer.setChecked(selection, state); AdfEditorMasterDetailsBlock.this.viewer.refresh(); AdfEditorMasterDetailsBlock.this.controller.setCheckSelection((CheckReference) selection, state); updateRunButtonEnable(); } } }); this.viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(final CheckStateChangedEvent event) { Object obj = event.getElement(); AdfEditorMasterDetailsBlock.this.controller.setCheckSelection((CheckReference) obj, event.getChecked()); listSelectionChanged(); updateRunButtonEnable(); } }); this.viewer.getTable().addKeyListener(new KeyListener() { @Override public void keyPressed(final KeyEvent e) { if (e.keyCode == SWT.DEL) { deleteSelectedCheck(); } } @Override public void keyReleased(final KeyEvent e) { // Do nothing } }); this.viewer.setContentProvider(new SelectedChecksContentProvider()); this.viewer.setLabelProvider(new SelectedChecksLabelProvider()); this.viewer.setInput(this.controller.getSelectedChecksList()); int dragAndDropOperations = DND.DROP_MOVE; Transfer[] transferTypes = new Transfer[] { LocalTransfer.getInstance() }; this.viewer.addDragSupport(dragAndDropOperations, transferTypes, new SelectedChecksDragListener(this.viewer)); this.viewer.addDropSupport(dragAndDropOperations, transferTypes, new SelectedChecksDropListener(this.viewer, this.controller)); updateTable(); this.viewer.getTable().select(0); //seems that selecting also works if there is no entry in the table //than nothing will be selected, but also no NullpointerException etc. initInvalidChecks(); }
From source file:ch.elexis.core.ui.laboratory.views.LabNotSeenView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { parent.setLayout(new FillLayout()); Table table = new Table(parent, SWT.CHECK | SWT.V_SCROLL); for (int i = 0; i < columnHeaders.length; i++) { TableColumn tc = new TableColumn(table, SWT.NONE); tc.setText(columnHeaders[i]);/*from ww w . j a v a 2 s . c o m*/ tc.setWidth(colWidths[i]); } table.setHeaderVisible(true); table.setLinesVisible(true); tv = new CheckboxTableViewer(table); tv.setContentProvider(new LabNotSeenContentProvider()); tv.setLabelProvider(new LabNotSeenLabelProvider()); tv.setUseHashlookup(true); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { IStructuredSelection sel = (IStructuredSelection) event.getSelection(); if (!sel.isEmpty()) { if (sel.getFirstElement() instanceof LabResult) { LabResult lr = (LabResult) sel.getFirstElement(); ElexisEventDispatcher.fireSelectionEvent(lr.getPatient()); } } } }); tv.addCheckStateListener(new ICheckStateListener() { boolean bDaempfung; public void checkStateChanged(final CheckStateChangedEvent event) { if (bDaempfung == false) { bDaempfung = true; LabResult lr = (LabResult) event.getElement(); boolean state = event.getChecked(); if (state) { if (CoreHub.acl.request(AccessControlDefaults.LAB_SEEN)) { lr.removeFromUnseen(); } else { tv.setChecked(lr, false); } } else { lr.addToUnseen(); } bDaempfung = false; } } }); makeActions(); ViewMenus menu = new ViewMenus(getViewSite()); menu.createToolbar(markPersonAction, markAllAction); heartbeat(); CoreHub.heart.addListener(this, CoreHub.userCfg.get(Preferences.LABSETTINGS_CFG_LABNEW_HEARTRATE, Heartbeat.FREQUENCY_HIGH)); tv.setInput(this); }
From source file:ch.elexis.views.LabNotSeenView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { parent.setLayout(new FillLayout()); Table table = new Table(parent, SWT.CHECK | SWT.V_SCROLL); for (int i = 0; i < columnHeaders.length; i++) { TableColumn tc = new TableColumn(table, SWT.NONE); tc.setText(columnHeaders[i]);/*from ww w. j av a 2s . c o m*/ tc.setWidth(colWidths[i]); } table.setHeaderVisible(true); table.setLinesVisible(true); tv = new CheckboxTableViewer(table); tv.setContentProvider(new LabNotSeenContentProvider()); tv.setLabelProvider(new LabNotSeenLabelProvider()); tv.setUseHashlookup(true); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { IStructuredSelection sel = (IStructuredSelection) event.getSelection(); if (!sel.isEmpty()) { if (sel.getFirstElement() instanceof LabResult) { LabResult lr = (LabResult) sel.getFirstElement(); ElexisEventDispatcher.fireSelectionEvent(lr.getPatient()); } } } }); tv.addCheckStateListener(new ICheckStateListener() { boolean bDaempfung; public void checkStateChanged(final CheckStateChangedEvent event) { if (bDaempfung == false) { bDaempfung = true; LabResult lr = (LabResult) event.getElement(); boolean state = event.getChecked(); if (state) { if (Hub.acl.request(AccessControlDefaults.LAB_SEEN)) { lr.removeFromUnseen(); } else { tv.setChecked(lr, false); } } else { lr.addToUnseen(); } bDaempfung = false; } } }); makeActions(); ViewMenus menu = new ViewMenus(getViewSite()); menu.createToolbar(markPersonAction, markAllAction); heartbeat(); Hub.heart.addListener(this, Hub.localCfg.get(LabSettings.LABNEW_HEARTRATE, Heartbeat.FREQUENCY_HIGH)); tv.setInput(this); }
From source file:ch.gpb.elexis.cst.dialog.CstCopyProfileDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); Composite container = new Composite(area, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(2, false); container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); container.setLayout(layout);// w w w . ja v a2 s .c o m table = new Table(container, SWT.CHECK | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); String[] colLabels = getColumnLabels(); int columnWidth[] = getColumnWidth(); SortListener sortListener = new SortListener(); TableColumn[] cols = new TableColumn[colLabels.length]; for (int i = 0; i < colLabels.length; i++) { cols[i] = new TableColumn(table, SWT.NONE); cols[i].setWidth(columnWidth[i]); cols[i].setText(colLabels[i]); cols[i].setData(new Integer(i)); cols[i].addSelectionListener(sortListener); } GridData gridDataTable = new GridData(); gridDataTable.horizontalAlignment = GridData.FILL; gridDataTable.verticalAlignment = GridData.FILL; gridDataTable.grabExcessHorizontalSpace = true; gridDataTable.grabExcessVerticalSpace = true; table.setLayoutData(gridDataTable); table.setHeaderVisible(true); table.setLinesVisible(true); tableViewer = new CheckboxTableViewer(table); tableViewer.setContentProvider(new ViewContentProvider()); tableViewer.setLabelProvider(new ViewLabelProvider()); tableViewer.setSorter(new PatientSorter()); tableViewer.setInput(this); return area; }