List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer CheckboxTableViewer
public CheckboxTableViewer(Table table)
From source file:eu.esdihumboldt.hale.io.gml.ui.wfs.wizard.filter.OGCFilterBuilder.java
License:Open Source License
/** * Constructor/*w w w .jav a2 s .c o m*/ * * @param parent the parent composite * @param featureType the feature type to be filtered */ public OGCFilterBuilder(Composite parent, FeatureType featureType) { super(parent, SWT.NONE); this.featureType = featureType; setLayout(new GridLayout(1, false)); setLayoutData(new GridData(GridData.FILL_BOTH)); final Group conditionsGroup = new Group(this, SWT.NONE); conditionsGroup.setLayout(new GridLayout(1, false)); conditionsGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); conditionsGroup.setText(Messages.OGCFilterBuilder_0); //$NON-NLS-1$ Table table = new Table(conditionsGroup, SWT.CHECK | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION); table.setLinesVisible(true); table.setHeaderVisible(true); table.setLayoutData(new GridData(GridData.FILL_BOTH)); tableViewer = new CheckboxTableViewer(table); String[] titles = { Messages.OGCFilterBuilder_1, Messages.OGCFilterBuilder_2, Messages.OGCFilterBuilder_3, Messages.OGCFilterBuilder_4, Messages.OGCFilterBuilder_5 }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ int[] widths = { 50, 100, 185, 155, 50 }; for (int i = 0; i < titles.length; i++) { TableViewerColumn columnViewer = new TableViewerColumn(tableViewer, SWT.NONE); columnViewer.getColumn().setText(titles[i]); columnViewer.getColumn().setWidth(widths[i]); columnViewer.getColumn().setResizable(true); columnViewer.getColumn().setMoveable(false); columnViewer.setEditingSupport(new ConditionEditingSupport(tableViewer, i)); } // tableViewer.setUseHashlookup(true); tableViewer.setContentProvider(new ConditionContentProvider()); tableViewer.setLabelProvider(new ConditionLabelProvider()); tableViewer.addCheckStateListener(new ConditionCheckStateListener()); data = new ConditionDataProvider(); tableViewer.setInput(data); final Composite conditionButtons = new Composite(conditionsGroup, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0; conditionButtons.setLayout(layout); final Button addConditionButton = new Button(conditionButtons, SWT.NONE); addConditionButton.setText(Messages.OGCFilterBuilder_6); //$NON-NLS-1$ addConditionButton.setToolTipText(Messages.OGCFilterBuilder_7); //$NON-NLS-1$ addConditionButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { data.getConditions().add(new Condition()); tableViewer.refresh(); } }); final Button removeConditionButton = new Button(conditionButtons, SWT.NONE); removeConditionButton.setText(Messages.OGCFilterBuilder_8); //$NON-NLS-1$ removeConditionButton.setToolTipText(Messages.OGCFilterBuilder_9); //$NON-NLS-1$ removeConditionButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { ISelection selection = tableViewer.getSelection(); if (selection != null && selection instanceof IStructuredSelection) { IStructuredSelection sel = (IStructuredSelection) selection; Object obj = sel.getFirstElement(); if (obj != null && obj instanceof Condition) { data.getConditions().remove(obj); tableViewer.refresh(); } } } }); }
From source file:eu.geclipse.jsdl.ui.internal.dialogs.CandidateHostsDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { Composite container = (Composite) super.createDialogArea(parent); GridData gd = new GridData(GridData.FILL_BOTH); container.setLayout(new GridLayout(1, false)); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;//from w w w . j a v a 2s . c o m container.setLayoutData(gd); this.panel = new Composite(container, SWT.NONE); GridLayout layout = new GridLayout(1, false); this.panel.setLayout(layout); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; this.panel.setLayoutData(gd); Label label = new Label(this.panel, SWT.NONE); label.setText(Messages.getString("ResourcesPage_NewHostsDialogDescr")); //$NON-NLS-1$ label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.verticalSpan = 3; gd.horizontalSpan = 2; gd.widthHint = 300; gd.heightHint = 100; Table table = new Table(this.panel, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK); table.setLayoutData(gd); this.hostsViewer = new CheckboxTableViewer(table); this.hostsViewer.setContentProvider(new FeatureContentProvider()); FeatureLabelProvider hostsLabelProvider = new FeatureLabelProvider(); hostsLabelProvider.setStringType(FeatureLabelProvider.STRING_TYPE_CANDIDATE_HOSTS); this.hostsViewer.setLabelProvider(hostsLabelProvider); this.hostsViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { setValue(CandidateHostsDialog.this.hostsViewer.getCheckedElements()); } }); try { Collection<String> computingElements = new ArrayList<String>(); IGridResource[] gridComputings = this.jobDescription.getProject().getVO().getInfoService() .fetchResources(this.jobDescription.getProject().getVO(), this.jobDescription.getProject().getVO(), GridResourceCategoryFactory.getCategory(GridResourceCategoryFactory.ID_COMPUTING), false, IGridComputing.class, new NullProgressMonitor()); // IGridComputing[] gridComputings = this.jobDescription.getProject().getVO() // .getComputing( new NullProgressMonitor() ) ; String hostnameOnly; for (int i = 0; i < gridComputings.length; i++) { /* Get only the CE host name substring * * Start from (last occurrence of empty space + 1) to remove the "CE @ " prefix. * Finish to the indexOf ":" character to remove any trailing characters. * */ if (gridComputings[i].getName().indexOf(":") != -1) { //$NON-NLS-1$ hostnameOnly = gridComputings[i].getName() .substring(gridComputings[i].getName().lastIndexOf(" ") + 1 //$NON-NLS-1$ , gridComputings[i].getName().indexOf(":")); //$NON-NLS-1$ /* * If there are elements in the Candidate Hosts Table Viewer then */ if (this.existingHostsInViewer != null) { /* check to see if the host name is already included. If not add it.*/ if (!this.existingHostsInViewer.contains(hostnameOnly)) { /* Check if the host name appears twice from the InfoSystem and if it does do not * include it twice. */ if (!computingElements.contains(hostnameOnly)) computingElements.add(hostnameOnly); } } else { /* Check if the host name appears twice from the InfoSystem and if it does do not * include it twice. */ if (!computingElements.contains(hostnameOnly)) computingElements.add(hostnameOnly); } } // end } this.hostsViewer.setInput(computingElements); } catch (Exception e) { Activator.logException(e); } Dialog.applyDialogFont(container); return parent; }
From source file:eu.geclipse.ui.internal.preference.VoPreferencePage.java
License:Open Source License
@Override protected Control createContents(final Composite parent) { initializeDialogUnits(parent);// ww w. j a v a 2 s . c o m noDefaultAndApplyButton(); GridData gData; GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; parent.setLayout(layout); Label voLabel = new Label(parent, SWT.NONE); voLabel.setText(Messages.getString("VoPreferencePage.vo_list_label")); //$NON-NLS-1$ gData = new GridData(); gData.horizontalSpan = 2; gData.grabExcessHorizontalSpace = true; voLabel.setLayoutData(gData); Table voTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); voTable.setHeaderVisible(true); voTable.setLinesVisible(true); gData = new GridData(GridData.FILL_BOTH); gData.horizontalSpan = 1; gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; gData.widthHint = 200; gData.heightHint = 100; voTable.setLayoutData(gData); voTable.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(final MouseEvent e) { IVirtualOrganization selectedVo = getSelectedVo(); if (selectedVo != null) { editVO(selectedVo); } } }); voTable.addKeyListener(new KeyAdapter() { @Override public void keyPressed(final KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { removeSelectedVOs(); } } }); TableColumn nameColumn = new TableColumn(voTable, SWT.LEFT); nameColumn.setText(Messages.getString("VoPreferencePage.name_column_text")); //$NON-NLS-1$ nameColumn.setWidth(100); TableColumn typeColumn = new TableColumn(voTable, SWT.CENTER); typeColumn.setText(Messages.getString("VoPreferencePage.type_column_text")); //$NON-NLS-1$ typeColumn.setWidth(100); final IVoManager manager = GridModel.getVoManager(); this.voViewer = new CheckboxTableViewer(voTable); this.voViewer.setLabelProvider(new VoLabelProvider()); this.voViewer.setContentProvider(new VoContentProvider()); TableColumnListener columnListener = new TableColumnListener(this.voViewer); nameColumn.addSelectionListener(columnListener); typeColumn.addSelectionListener(columnListener); // Initially we sort the VOs by name, ascending voTable.setSortColumn(nameColumn); voTable.setSortDirection(SWT.UP); this.voViewer.setComparator(new TableColumnComparator(nameColumn)); this.voViewer.setInput(manager); this.voViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { updateButtons(); } }); manager.addGridModelListener(this); IVirtualOrganization defaultVo = (IVirtualOrganization) manager.getDefault(); if (defaultVo != null) { this.voViewer.setCheckedElements(new Object[] { defaultVo }); } this.voViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof IVirtualOrganization) { IVirtualOrganization vo = (IVirtualOrganization) element; try { if (!event.getChecked()) { manager.setDefault(null); } else { // We want a radio-button behavior, as there is only one default VO VoPreferencePage.this.voViewer.setCheckedElements(new Object[] { vo }); VoPreferencePage.this.voViewer.refresh(); manager.setDefault(vo); } } catch (ProblemException pExc) { // TODO mathias Activator.logException(pExc); } } } }); Composite buttons = new Composite(parent, SWT.NULL); gData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); gData.horizontalSpan = 1; buttons.setLayoutData(gData); GridLayout gLayout = new GridLayout(1, false); gLayout.marginHeight = 0; gLayout.marginWidth = 0; buttons.setLayout(gLayout); this.addButton = new Button(buttons, SWT.PUSH); this.addButton.setText(Messages.getString("VoPreferencePage.add_button")); //$NON-NLS-1$ gData = new GridData(GridData.FILL_HORIZONTAL); this.addButton.setLayoutData(gData); this.importButton = new Button(buttons, SWT.PUSH); this.importButton.setText(Messages.getString("VoPreferencePage.import_button")); //$NON-NLS-1$ gData = new GridData(GridData.FILL_HORIZONTAL); this.importButton.setLayoutData(gData); this.editButton = new Button(buttons, SWT.PUSH); this.editButton.setText(Messages.getString("VoPreferencePage.edit_button")); //$NON-NLS-1$ gData = new GridData(GridData.FILL_HORIZONTAL); this.editButton.setLayoutData(gData); this.removeButton = new Button(buttons, SWT.PUSH); this.removeButton.setText(Messages.getString("VoPreferencePage.remove_button")); //$NON-NLS-1$ gData = new GridData(GridData.FILL_HORIZONTAL); this.removeButton.setLayoutData(gData); Label separator = new Label(buttons, SWT.NONE); separator.setVisible(false); gData = new GridData(); gData.horizontalAlignment = GridData.FILL; gData.heightHint = 4; separator.setLayoutData(gData); this.addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { editVO(null); } }); this.importButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { importVOs(); } }); this.editButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { IVirtualOrganization selectedVo = getSelectedVo(); if (selectedVo != null) { editVO(selectedVo); } } }); this.removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { removeSelectedVOs(); } }); updateButtons(); return parent; }
From source file:eu.geclipse.ui.internal.transfer.TransferResumeDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { Composite mainComp = new Composite(parent, SWT.NONE); mainComp.setLayout(new GridLayout(1, false)); mainComp.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite msgComp = new Composite(mainComp, SWT.BORDER); msgComp.setLayout(new GridLayout(2, false)); msgComp.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); createMessageArea(msgComp);/*from w w w . j av a 2s . c o m*/ // Composite composite = ( Composite )super.createDialogArea( parent ); Composite composite = (Composite) super.createDialogArea(mainComp); composite.setLayout(new GridLayout(1, false)); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); Group group = new Group(composite, SWT.SHADOW_OUT); group.setLayout(new GridLayout(1, false)); group.setText("Pending transfers"); GridData gData = new GridData(GridData.FILL_HORIZONTAL); gData.grabExcessHorizontalSpace = true; gData.heightHint = 150; gData.verticalIndent = 20; group.setLayoutData(gData); int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.CHECK; Table table = new Table(group, style); gData = new GridData(SWT.FILL, SWT.FILL, true, false); table.setLayoutData(gData); table.setHeaderVisible(true); TableColumn checkCol = new TableColumn(table, SWT.CENTER); checkCol.setWidth(20); TableColumn nameCol = new TableColumn(table, SWT.CENTER); nameCol.setText("Name"); nameCol.setWidth(80); TableColumn sizeCol = new TableColumn(table, SWT.LEFT); sizeCol.setText("Size"); sizeCol.setWidth(50); TableColumn fromCol = new TableColumn(table, SWT.LEFT); fromCol.setText("From"); fromCol.setWidth(350); TableColumn toCol = new TableColumn(table, SWT.LEFT); toCol.setText("To"); toCol.setWidth(350); this.tableViewer = new CheckboxTableViewer(table); this.tableViewer.setContentProvider(new TransferContentProvider()); this.tableViewer.setLabelProvider(new TransferLabelProvider()); if (this.operations != null && this.operations.size() > 0) { this.tableViewer.setInput(this.operations); for (TransferInformation op : this.operations) { this.operationsToResume.add(op); } } else { //No operations to show } this.tableViewer.setAllChecked(true); this.tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { if (event.getChecked()) { Object obj = event.getElement(); if (obj instanceof TransferInformation) { TransferResumeDialog.this.operationsToResume.add((TransferInformation) obj); } } else { Object obj = event.getElement(); if (obj instanceof TransferInformation) { TransferResumeDialog.this.operationsToResume.remove(obj); } } } }); return composite; }
From source file:eu.geclipse.ui.internal.wizards.VoChooserPage.java
License:Open Source License
public void createControl(final Composite parent) { GridData gData;//from www . j a v a 2 s . c o m Composite mainComp = new Composite(parent, SWT.NULL); mainComp.setLayout(new GridLayout(1, false)); gData = new GridData(GridData.FILL_BOTH); mainComp.setLayoutData(gData); this.filterText = new Text(mainComp, SWT.BORDER | SWT.SEARCH); this.filterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); this.filterText.setText(Messages.getString("VoChooserPage.initial_filter_text")); //$NON-NLS-1$ this.filterText.selectAll(); Table table = new Table(mainComp, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; table.setLayoutData(gData); this.viewer = new CheckboxTableViewer(table); this.viewer.setContentProvider(new ArrayContentProvider()); this.voFilter = new VoFilter(); this.viewer.addFilter(this.voFilter); Composite buttonComp = new Composite(mainComp, SWT.NULL); buttonComp.setLayout(new GridLayout(3, false)); gData = new GridData(); buttonComp.setLayoutData(gData); Button selectAllButton = new Button(buttonComp, SWT.PUSH); selectAllButton.setText(Messages.getString("VoChooserPage.select_all_button")); //$NON-NLS-1$ gData = new GridData(); selectAllButton.setLayoutData(gData); Button deselectAllButton = new Button(buttonComp, SWT.PUSH); deselectAllButton.setText(Messages.getString("VoChooserPage.deselect_all_button")); //$NON-NLS-1$ gData = new GridData(); deselectAllButton.setLayoutData(gData); Button invertButton = new Button(buttonComp, SWT.PUSH); invertButton.setText(Messages.getString("VoChooserPage.invert_selection_button")); //$NON-NLS-1$ gData = new GridData(); invertButton.setLayoutData(gData); this.viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { handleCheckStateChanged(event); } }); this.filterText.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { VoChooserPage.this.voFilter.setFilterText(VoChooserPage.this.filterText.getText()); VoChooserPage.this.viewer.refresh(); VoChooserPage.this.viewer.setCheckedElements( VoChooserPage.this.selection.toArray(new Object[VoChooserPage.this.selection.size()])); } }); selectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { selectAll(); } }); deselectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { deselectAll(); } }); invertButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { invertSelection(); } }); setControl(mainComp); }
From source file:eu.geclipse.ui.widgets.GridProjectStructureComposite.java
License:Open Source License
public GridProjectStructureComposite(final Composite parent, final int style) { super(parent, style); GridData gData;/*w w w.ja v a 2s. c o m*/ setLayout(new GridLayout(3, false)); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; setLayoutData(gData); Composite previewComp = new Composite(this, SWT.NONE); previewComp.setLayout(new GridLayout(1, false)); gData = new GridData(GridData.FILL_VERTICAL); gData.grabExcessVerticalSpace = true; previewComp.setLayoutData(gData); Label previewLabel = new Label(previewComp, SWT.NONE); previewLabel.setText("Preview:"); gData = new GridData(); previewLabel.setLayoutData(gData); this.previewTree = new Tree(previewComp, SWT.BORDER); gData = new GridData(GridData.FILL_VERTICAL); gData.grabExcessVerticalSpace = true; gData.widthHint = 150; this.previewTree.setLayoutData(gData); this.rootItem = new TreeItem(this.previewTree, SWT.NONE); this.rootItem.setText("My Cloud/Grid Project"); this.rootItem .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT)); Composite settingsComp = new Composite(this, SWT.NONE); settingsComp.setLayout(new GridLayout(1, false)); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessVerticalSpace = true; gData.grabExcessHorizontalSpace = true; settingsComp.setLayoutData(gData); Label settingsLabel = new Label(settingsComp, SWT.NONE); settingsLabel.setText("Available Folders:"); gData = new GridData(); settingsLabel.setLayoutData(gData); this.table = new Table(settingsComp, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK | SWT.FULL_SELECTION); this.table.setHeaderVisible(true); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; this.table.setLayoutData(gData); TableColumn nameColumn = new TableColumn(this.table, SWT.NONE); nameColumn.setText("Folder ID"); nameColumn.setWidth(150); TableColumn labelColumn = new TableColumn(this.table, SWT.None); labelColumn.setText("Folder Label"); labelColumn.setWidth(100); this.editor = new TableEditor(this.table); this.editor.grabHorizontal = true; this.editor.minimumWidth = 100; this.editor.horizontalAlignment = SWT.LEFT; this.table.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { startEditing((TableItem) e.item); } }); this.viewer = new CheckboxTableViewer(this.table); this.viewer.setContentProvider(new ArrayContentProvider()); this.viewer.setLabelProvider(new ArrayTableLabelProvider()); this.viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent e) { updateTree(); } }); Composite buttonComp = new Composite(settingsComp, SWT.NONE); GridLayout buttonLayout = new GridLayout(3, false); buttonLayout.marginHeight = 0; buttonLayout.marginWidth = 0; buttonComp.setLayout(buttonLayout); buttonComp.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false)); Button selectAllButton = new Button(buttonComp, SWT.NONE); selectAllButton.setText("Select All"); selectAllButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); selectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { selectAll(); } }); Button deselectAllButton = new Button(buttonComp, SWT.NONE); deselectAllButton.setText("Deselect All"); deselectAllButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); deselectAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { deselectAll(); } }); Button invertButton = new Button(buttonComp, SWT.NONE); invertButton.setText("Invert Selection"); invertButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); invertButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { invertSelection(); } }); loadProjectFolders(); initialize(); updateTree(); }
From source file:eu.geclipse.ui.wizards.VoSelectionWizardPage.java
License:Open Source License
public void createControl(final Composite parent) { GridData gData;//from w w w. j a v a 2s.c o m Composite mainComp = new Composite(parent, SWT.NONE); mainComp.setLayout(new GridLayout(1, false)); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; mainComp.setLayoutData(gData); Group voGroup = new Group(mainComp, SWT.NONE); voGroup.setLayout(new GridLayout(2, false)); voGroup.setText("&Available VOs"); gData = new GridData(SWT.FILL, SWT.FILL, true, true); gData.heightHint = 120; voGroup.setLayoutData(gData); int style = SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.CHECK; Table voTable = new Table(voGroup, style); gData = new GridData(SWT.FILL, SWT.FILL, true, true); voTable.setLayoutData(gData); voTable.setHeaderVisible(false); this.tableViewer = new CheckboxTableViewer(voTable); this.tableViewer.setContentProvider(new ArrayContentProvider()); this.tableViewer.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { return ((IVirtualOrganization) element).getName(); } }); this.tableViewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object vo1, final Object vo2) { String name1 = ((IVirtualOrganization) vo1).getName(); String name2 = ((IVirtualOrganization) vo2).getName(); // Sort by VO name return name1.compareTo(name2); } }); // Filter the VOs that can be used to create this type of auth-token this.tableViewer.addFilter(new ViewerFilter() { @Override public boolean select(final Viewer viewer, final Object parentElement, final Object element) { boolean ret = false; Class<?> type = VoSelectionWizardPage.this.voType; if (element instanceof IVirtualOrganization) { IVirtualOrganization vo = (IVirtualOrganization) element; if ((type == null) || type.isAssignableFrom(vo.getClass())) { ret = true; } } return ret; } }); this.tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { showSelectedInfo(); } }); this.tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { // If allowMultiSelection is not set, then implement a radio-button behavior if (!VoSelectionWizardPage.this.allowMultiSelection) { Object element = event.getElement(); if (element instanceof IVirtualOrganization) { IVirtualOrganization vo = (IVirtualOrganization) element; if (event.getChecked()) { VoSelectionWizardPage.this.tableViewer.setCheckedElements(new Object[] { vo }); VoSelectionWizardPage.this.tableViewer.refresh(); } } } setPageComplete(getSelectedVos() != null); } }); updateVoList(); this.tableViewer.setInput(this.voList); // Listen on new VOs, this will update the tableViewer GridModel.getVoManager().addGridModelListener(this); Button editVOsButton = new Button(voGroup, SWT.PUSH); editVOsButton.setText("Edit &VOs..."); gData = new GridData(); gData.horizontalAlignment = GridData.BEGINNING; gData.verticalAlignment = GridData.BEGINNING; editVOsButton.setLayoutData(gData); editVOsButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), VoSelectionWizardPage.this.PREFERENCE_PAGE_ID, null, null); /* * Even if the user pressed 'Cancel' VOs might have been * added/deleted, so ignore the dialog's return value. */ dialog.open(); } }); Group infoGroup = new Group(mainComp, SWT.NONE); infoGroup.setLayout(new GridLayout(1, false)); infoGroup.setText("&VO Info"); gData = new GridData(SWT.FILL, SWT.FILL, true, true); gData.heightHint = 120; infoGroup.setLayoutData(gData); this.infoText = new Text(infoGroup, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); this.infoText.setEditable(false); gData = new GridData(GridData.FILL_BOTH); gData.grabExcessHorizontalSpace = true; gData.grabExcessVerticalSpace = true; this.infoText.setLayoutData(gData); setInitialSelection(); showSelectedInfo(); setPageComplete(getSelectedVos() != null); setControl(mainComp); }
From source file:ext.org.eclipse.jdt.internal.ui.preferences.JavaEditorHoverConfigurationBlock.java
License:Open Source License
/** * Creates page for hover preferences.//from w ww.j a v a 2 s. c o m * * @param parent the parent composite * @return the control for the preference page */ public Control createControl(Composite parent) { ScrolledPageContent scrolled = new ScrolledPageContent(parent, SWT.H_SCROLL | SWT.V_SCROLL); scrolled.setExpandHorizontal(true); scrolled.setExpandVertical(true); Composite hoverComposite = new Composite(scrolled, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginWidth = 0; layout.marginHeight = 0; hoverComposite.setLayout(layout); String rollOverLabel = PreferencesMessages.JavaEditorHoverConfigurationBlock_annotationRollover; addCheckBox(hoverComposite, rollOverLabel, PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER, 0); addFiller(hoverComposite); Label label = new Label(hoverComposite, SWT.NONE); label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_hoverPreferences); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.BEGINNING; gd.horizontalSpan = 2; label.setLayoutData(gd); TableLayoutComposite layouter = new TableLayoutComposite(hoverComposite, SWT.NONE); addColumnLayoutData(layouter); // Hover table fHoverTable = new Table(layouter, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); fHoverTable.setHeaderVisible(true); fHoverTable.setLinesVisible(true); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = SWTUtil.getTableHeightHint(fHoverTable, 10); gd.horizontalSpan = 2; gd.widthHint = new PixelConverter(parent).convertWidthInCharsToPixels(30); layouter.setLayoutData(gd); fHoverTable.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { handleHoverListSelection(); } public void widgetDefaultSelected(SelectionEvent e) { } }); TableLayout tableLayout = new TableLayout(); fHoverTable.setLayout(tableLayout); fNameColumn = new TableColumn(fHoverTable, SWT.NONE); fNameColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_nameColumnTitle); fNameColumn.setResizable(true); fModifierColumn = new TableColumn(fHoverTable, SWT.NONE); fModifierColumn.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_modifierColumnTitle); fModifierColumn.setResizable(true); fHoverTableViewer = new CheckboxTableViewer(fHoverTable); fHoverTableViewer.setUseHashlookup(true); fHoverTableViewer.setContentProvider(new JavaEditorTextHoverDescriptorContentProvider()); fHoverTableViewer.setLabelProvider(new JavaEditorTextHoverDescriptorLabelProvider()); ((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() { /* * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { String id = ((JavaEditorTextHoverDescriptor) event.getElement()).getId(); if (id == null) return; JavaEditorTextHoverDescriptor[] descriptors = getContributedHovers(); HoverConfig hoverConfig = null; int i = 0, length = fHoverConfigs.length; while (i < length) { if (id.equals(descriptors[i].getId())) { hoverConfig = fHoverConfigs[i]; hoverConfig.fIsEnabled = event.getChecked(); fModifierEditor.setEnabled(event.getChecked()); fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i])); } i++; } handleHoverListSelection(); updateStatus(hoverConfig); } }); // Text field for modifier string label = new Label(hoverComposite, SWT.LEFT); label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_keyModifier); fModifierEditor = new Text(hoverComposite, SWT.BORDER); gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); fModifierEditor.setLayoutData(gd); fModifierEditor.addKeyListener(new KeyListener() { private boolean isModifierCandidate; public void keyPressed(KeyEvent e) { isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0; } public void keyReleased(KeyEvent e) { if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) { String text = fModifierEditor.getText(); Point selection = fModifierEditor.getSelection(); int i = selection.x - 1; while (i > -1 && Character.isWhitespace(text.charAt(i))) { i--; } boolean needsPrefixDelimiter = i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER); i = selection.y; while (i < text.length() && Character.isWhitespace(text.charAt(i))) { i++; } boolean needsPostfixDelimiter = i < text.length() && !String.valueOf(text.charAt(i)).equals(DELIMITER); String insertString; if (needsPrefixDelimiter && needsPostfixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter, new String[] { Action.findModifierString(e.stateMask) }); else if (needsPrefixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier, new String[] { Action.findModifierString(e.stateMask) }); else if (needsPostfixDelimiter) insertString = Messages.format( PreferencesMessages.JavaEditorHoverConfigurationBlock_insertModifierAndDelimiter, new String[] { Action.findModifierString(e.stateMask) }); else insertString = Action.findModifierString(e.stateMask); if (insertString != null) fModifierEditor.insert(insertString); } } }); fModifierEditor.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { handleModifierModified(); } }); // Description Label descriptionLabel = new Label(hoverComposite, SWT.LEFT); descriptionLabel.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_description); gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); gd.horizontalSpan = 2; descriptionLabel.setLayoutData(gd); fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER); gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2; fDescription.setLayoutData(gd); initialize(); scrolled.setContent(hoverComposite); final Point size = hoverComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT); scrolled.setMinSize(size.x, size.y); Dialog.applyDialogFont(scrolled); return scrolled; }
From source file:ext.org.eclipse.jdt.internal.ui.wizards.dialogfields.CheckedListDialogField.java
License:Open Source License
@Override protected TableViewer createTableViewer(Composite parent) { Table table = new Table(parent, SWT.CHECK | getListStyle()); table.setFont(parent.getFont());/*from w ww .j av a2s . c om*/ CheckboxTableViewer tableViewer = new CheckboxTableViewer(table); tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent e) { doCheckStateChanged(e); } }); return tableViewer; }
From source file:fr.inria.atlanmod.neo4emf.neo4jresolver.wizards.AvailableNeo4jRuntimesWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout()); Table table = new Table(composite, SWT.BORDER | SWT.CHECK); GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true); tableLayoutData.heightHint = 150;/*from w ww .j av a 2 s . c om*/ table.setLayoutData(tableLayoutData); viewer = new CheckboxTableViewer(table); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new Neo4jRuntimeInstallerLabelProvider()); viewer.setInput(installers); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { AbstractNeo4jRuntimeInstaller installer = (AbstractNeo4jRuntimeInstaller) event.getElement(); if (event.getChecked()) { data.getInstallersToInstall().add(installer); } else { data.getInstallersToInstall().remove(installer); } setPageComplete(!data.getInstallersToInstall().isEmpty()); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); AbstractNeo4jRuntimeInstaller installer = (AbstractNeo4jRuntimeInstaller) selection .getFirstElement(); descText.setText(installer.getDescription()); } else { descText.setText(""); } } }); Label descLabel = new Label(composite, SWT.NONE); descLabel.setText("Description"); descText = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.MULTI); GridData textLayoutData = new GridData(SWT.FILL, SWT.END, true, false); textLayoutData.heightHint = 60; descText.setLayoutData(textLayoutData); descText.setEditable(false); checkCanInstallSomething(); setPageComplete(false); setControl(composite); }