List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer CheckboxTableViewer
public CheckboxTableViewer(Table table)
From source file:org.chromium.debug.ui.actions.ChooseVmControl.java
License:Open Source License
public static Logic create(Composite parent) { final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); table.setFont(parent.getFont());// w ww . jav a 2s . c om final CheckboxTableViewer tableViewer = new CheckboxTableViewer(table); table.setHeaderVisible(true); tableViewer.setContentProvider(new ContentProviderImpl()); ValueAdapter<ScriptTargetMapping, ConnectedTargetData> pairToTargetAdapter = new ValueAdapter<ScriptTargetMapping, ConnectedTargetData>() { public ConnectedTargetData convert(ScriptTargetMapping from) { return from.getConnectedTargetData(); } }; List<ColumnData<ScriptTargetMapping, ?>> columnDataList = createLaunchTargetColumns(pairToTargetAdapter); for (ColumnData<?, ?> data : columnDataList) { data.getLabelProvider().createColumn(table); } ValueAdapter<Object, ScriptTargetMapping> rowElementAdapter = TableUtils .createCastAdapter(ScriptTargetMapping.class); ColumnBasedLabelProvider<ScriptTargetMapping> labelProvider = new ColumnBasedLabelProvider<ScriptTargetMapping>( rowElementAdapter, columnDataList); tableViewer.setLabelProvider(labelProvider); final List<Logic.Listener> listeners = new ArrayList<Logic.Listener>(1); tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { for (Logic.Listener listener : listeners) { listener.checkStateChanged(); } } }); return new Logic() { public Control getControl() { return table; } public void setData(List<? extends ScriptTargetMapping> targets) { TableData input = new TableData(targets); tableViewer.setInput(input); } public List<ScriptTargetMapping> getSelected() { final Object[] array = tableViewer.getCheckedElements(); return new AbstractList<ScriptTargetMapping>() { @Override public ScriptTargetMapping get(int index) { return (ScriptTargetMapping) array[index]; } @Override public int size() { return array.length; } }; } public void selectAll() { tableViewer.setAllChecked(true); } public void addListener(Listener listener) { listeners.add(listener); } public void removeListener(Listener listener) { listeners.remove(listener); } }; }
From source file:org.cloudfoundry.ide.eclipse.internal.server.ui.wizards.CloudFoundryApplicationServicesWizardPage.java
License:Open Source License
public void createControl(Composite parent) { setTitle("Services selection"); setDescription(DESCRIPTION);//from w ww . j a v a 2 s.c o m ImageDescriptor banner = CloudFoundryImages.getWizardBanner(serverTypeId); if (banner != null) { setImageDescriptor(banner); } Composite tableArea = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(tableArea); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableArea); Composite toolBarArea = new Composite(tableArea, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(toolBarArea); GridDataFactory.fillDefaults().grab(true, false).applyTo(toolBarArea); Label label = new Label(toolBarArea, SWT.NONE); GridDataFactory.fillDefaults().grab(false, false).align(SWT.BEGINNING, SWT.CENTER).applyTo(label); label.setText("Select services to bind to the application:"); Table table = new Table(tableArea, SWT.BORDER | SWT.SINGLE | SWT.CHECK); GridDataFactory.fillDefaults().grab(true, true).applyTo(table); ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); ToolBar bar = toolBarManager.createControl(toolBarArea); GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(true, false).applyTo(bar); servicesViewer = new CheckboxTableViewer(table); new ServiceViewerConfigurator().enableAutomaticViewerResizing().configureViewer(servicesViewer); servicesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object[] services = servicesViewer.getCheckedElements(); if (services != null) { selectedServicesToBind.clear(); for (Object obj : services) { CloudService service = (CloudService) obj; selectedServicesToBind.put(service.getName(), service); } } } }); Action addServiceAction = new Action("Add Service", CloudFoundryImages.NEW_SERVICE) { public void run() { boolean deferAdditionOfService = true; CloudFoundryServiceWizard wizard = new CloudFoundryServiceWizard(cloudServer, deferAdditionOfService); WizardDialog dialog = new WizardDialog(getShell(), wizard); dialog.setBlockOnOpen(true); if (dialog.open() == Window.OK) { CloudService addedService = wizard.getService(); if (addedService != null) { addService(addedService); } } } public String getToolTipText() { return "Add a service to the server and automatically select it for the deployed application."; } }; toolBarManager.add(addServiceAction); toolBarManager.update(true); setControl(tableArea); setInput(); }
From source file:org.cloudfoundry.ide.eclipse.internal.server.ui.wizards.DeleteServicesWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayout(new GridLayout()); Table table = new Table(container, SWT.CHECK | SWT.BORDER); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); viewer = new CheckboxTableViewer(table); viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { checkedElements = viewer.getCheckedElements(); getWizard().getContainer().updateButtons(); }/* w w w . ja v a 2 s . co m*/ }); LabelProvider labelProvider = new LabelProvider(); ITreeContentProvider contentProvider = new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // ignore } public void dispose() { // ignore } public Object[] getElements(Object inputElement) { return services.toArray(); } public boolean hasChildren(Object element) { return false; } public Object getParent(Object element) { return null; } public Object[] getChildren(Object parentElement) { return null; } }; viewer.setLabelProvider(labelProvider); viewer.setContentProvider(contentProvider); viewer.setInput(services); setControl(container); getWizard().getContainer().updateButtons(); }
From source file:org.cloudfoundry.ide.eclipse.server.ui.internal.CloudRoutePart.java
License:Open Source License
protected void createTableButtonArea(Composite parent) { Composite buttonsAndViewer = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(buttonsAndViewer); GridDataFactory.fillDefaults().grab(true, true).applyTo(buttonsAndViewer); Composite tableArea = new Composite(buttonsAndViewer, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(tableArea); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableArea); createSelectionButtonArea(buttonsAndViewer); final Table table = new Table(tableArea, SWT.BORDER | SWT.CHECK); GridDataFactory.fillDefaults().grab(true, true).applyTo(table); viewer = new CheckboxTableViewer(table); viewer.setContentProvider(new RoutesContentProvider()); viewer.setLabelProvider(new TreeLabelProvider(viewer)); viewer.setSorter(new ViewerSorter() { @Override//from w w w .j a v a 2s . c o m public int compare(Viewer viewer, Object e1, Object e2) { TableColumn sortColumn = table.getSortColumn(); if (sortColumn != null) { RouteColumn column = (RouteColumn) sortColumn.getData(); int result = 0; int sortDirection = table.getSortDirection(); if (column != null) { if (e1 instanceof CloudRoute && e2 instanceof CloudRoute) { CloudRoute rt1 = (CloudRoute) e1; CloudRoute rt2 = (CloudRoute) e2; switch (column) { case NAME: result = rt1.getName().toLowerCase().compareTo(rt2.getName().toLowerCase()); break; case DOMAIN: result = rt1.getDomain().getName().compareTo(rt2.getDomain().getName()); break; case IN_USE: if (rt1.inUse() && !rt2.inUse()) { result = -1; } else if (rt2.inUse() && !rt1.inUse()) { result = 1; } break; } } } return sortDirection == SWT.UP ? result : -result; } return super.compare(viewer, e1, e2); } }); viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object items, Object item) { if (item instanceof CloudRoute) { CloudRoute route = (CloudRoute) item; return route.inUse() ? showInUseButton.getSelection() : (showRemovedRoutesButton.getSelection() && routesToRemove.contains(route)) || (!showRemovedRoutesButton.getSelection() && !routesToRemove.contains(route)); } return false; } }); viewer.getTable().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { Widget item = event.item; // Disable selecting routes that are in use if (event.detail == SWT.CHECK && item instanceof TableItem) { TableItem tableItem = (TableItem) item; Object element = tableItem.getData(); if (element instanceof CloudRoute && ((CloudRoute) element).inUse()) { event.doit = false; event.detail = SWT.NONE; tableItem.setChecked(false); } } } }); addColumns(viewer); new TableResizeHelper(viewer).enableResizing(); // Add accessibility listener to the table, so screen reader can provide a good description // of what is selected (in this case, a cloud route and its value) viewer.getControl().getAccessible().addAccessibleListener(new AccessibleAdapter() { @Override public void getName(AccessibleEvent e) { if (e.childID >= 0) { if (e.result != null) { e.result = NLS.bind(Messages.CloudRoutePart_TEXT_TABLE_ACC_LABEL, e.result); } else { e.result = Messages.CloudFoundryApplicationServicesWizardPage_TEXT_SERVICE_SELECTION; } } } }); }
From source file:org.cloudfoundry.ide.eclipse.server.ui.internal.ServiceToApplicationsBindingPart.java
License:Open Source License
protected void createTableArea(Composite parent) { Composite tableArea = new Composite(parent, SWT.NONE); Label l = new Label(tableArea, SWT.NONE); l.setBackground(parent.getBackground()); l.setText(Messages.MANAGE_SERVICES_TO_APPLICATIONS_SELECTION_DESCRIPTION); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(tableArea); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableArea); final Table table = new Table(tableArea, SWT.BORDER | SWT.CHECK); GridDataFactory.fillDefaults().grab(true, true).applyTo(table); viewer = new CheckboxTableViewer(table); viewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection) { return ((Collection<?>) inputElement).toArray(new Object[0]); }/* w w w .j av a 2 s . com*/ return null; } public void dispose() { // Do nothing } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // Do nothing } }); viewer.setLabelProvider(new BindServiceToApplicationLabelProvider(viewer)); // Sort the applications so it is consistent with the application list that shows up in the Applications and Services editor viewer.setSorter(new CloudFoundryViewerSorter()); viewer.getTable().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { Widget item = event.item; if (event.detail == SWT.CHECK && item != null && item instanceof TableItem) { TableItem tableItem = (TableItem) item; String appName = tableItem.getText(); ApplicationToService curr = applicationToServiceMapping.get(appName); if (curr != null) { curr.setBoundToServiceAfter(tableItem.getChecked()); } } } }); new TableColumn(table, SWT.NONE, 0); TableResizeHelper resizer = new TableResizeHelper(viewer); resizer.enableResizing(); }
From source file:org.cloudfoundry.ide.eclipse.server.ui.internal.wizards.CloudFoundryApplicationServicesWizardPage.java
License:Open Source License
public void createControl(Composite parent) { setDescription(DESCRIPTION);//from ww w.j ava 2 s . c o m ImageDescriptor banner = CloudFoundryImages.getWizardBanner(serverTypeId); if (banner != null) { setImageDescriptor(banner); } Composite tableArea = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(tableArea); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableArea); Composite toolBarArea = new Composite(tableArea, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(2).applyTo(toolBarArea); GridDataFactory.fillDefaults().grab(true, false).applyTo(toolBarArea); Label label = new Label(toolBarArea, SWT.NONE); GridDataFactory.fillDefaults().grab(false, false).align(SWT.BEGINNING, SWT.CENTER).applyTo(label); label.setText(Messages.CloudFoundryApplicationServicesWizardPage_LABEL_SELECT_SERVICE); Table table = new Table(tableArea, SWT.BORDER | SWT.SINGLE | SWT.CHECK); GridDataFactory.fillDefaults().grab(true, true).applyTo(table); ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); ToolBar bar = toolBarManager.createControl(toolBarArea); GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(true, false).applyTo(bar); servicesViewer = new CheckboxTableViewer(table); servicesViewer.setContentProvider(new TreeContentProvider()); servicesViewer.setLabelProvider(new ServicesTreeLabelProvider(servicesViewer)); servicesViewer.setSorter(new ServiceViewerSorter(servicesViewer)); new ServiceViewerConfigurator().enableAutomaticViewerResizing().configureViewer(servicesViewer); servicesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object[] services = servicesViewer.getCheckedElements(); if (services != null) { selectedServicesToBind.clear(); for (Object obj : services) { CloudService service = (CloudService) obj; selectedServicesToBind.add(service.getName()); } setServicesToBindInDescriptor(); } } }); Action addServiceAction = new Action(Messages.COMMONTXT_ADD_SERVICE, CloudFoundryImages.NEW_SERVICE) { public void run() { // Do not create the service right away. boolean deferAdditionOfService = true; CloudFoundryServiceWizard wizard = new CloudFoundryServiceWizard(cloudServer, deferAdditionOfService); WizardDialog dialog = new WizardDialog(getShell(), wizard); wizard.setParent(dialog); dialog.setPageSize(900, 600); dialog.setBlockOnOpen(true); if (dialog.open() == Window.OK) { // This cloud service does not yet exist. It will be created // outside of the wizard List<CloudService> addedService = wizard.getServices(); if (addedService != null) { addServices(addedService); } } } public String getToolTipText() { return Messages.CloudFoundryApplicationServicesWizardPage_TEXT_TOOLTIP; } }; // Add accessibility text to the table, so at least when navigating through the table, the screen reader // know these are services being selected servicesViewer.getControl().getAccessible().addAccessibleListener(new AccessibleAdapter() { @Override public void getName(AccessibleEvent e) { if (e.childID >= 0) { if (e.result != null) { e.result = NLS.bind(Messages.CloudFoundryApplicationServicesWizardPage_TEXT_TABLE_ACC_LABEL, e.result); } else { e.result = Messages.CloudFoundryApplicationServicesWizardPage_TEXT_SERVICE_SELECTION; } } } }); toolBarManager.add(addServiceAction); toolBarManager.update(true); setControl(tableArea); setInput(); }
From source file:org.cropinformatics.ui.viewers.list.IdentificationListTableViewer.java
License:Apache License
@Override protected StructuredViewer createStructuredViewer(Composite parent) { TableViewer tableViewer;/* w w w . j a v a 2s .c o m*/ Table table; if (ConfigurationUtils.isCheckSelectionInUse(getConfiguration())) table = new Table(parent, createWidgetStyle() | SWT.CHECK); else table = new Table(parent, createWidgetStyle()); table.setHeaderVisible(true); int nameWidth = (int) (getInitialStructuredViewerSize().x * 0.33); TableColumn column = new TableColumn(table, SWT.LEFT); column.setText(Activator.getDefault().getString(NAME_COLUMN)); column.setWidth(nameWidth); column = new TableColumn(table, SWT.LEFT); column.setText(Activator.getDefault().getString(DESCRIPTION_COLUMN)); column.setWidth(getInitialStructuredViewerSize().x - nameWidth); if (ConfigurationUtils.isCheckSelectionInUse(getConfiguration())) { tableViewer = new CheckboxTableViewer(table); } else { tableViewer = new TableViewer(table); } table.setHeaderVisible(true); table.setLinesVisible(true); tableViewer.setColumnProperties(COLUMN_PROPERTIES); return tableViewer; }
From source file:org.dbeclipse.ui.internal.browser.WebBrowserPreferencePage.java
License:Open Source License
/** * Create the preference options.//from ww w . j ava 2s.c o m * * @param parent * org.eclipse.swt.widgets.Composite * @return org.eclipse.swt.widgets.Control */ protected Control createContents(Composite parent) { initializeDialogUnits(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.PREF_BROWSER); Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.horizontalSpacing = convertHorizontalDLUsToPixels(4); layout.verticalSpacing = convertVerticalDLUsToPixels(3); layout.marginWidth = 0; layout.marginHeight = 0; composite.setLayout(layout); GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); composite.setLayoutData(data); Label label = new Label(composite, SWT.WRAP); label.setText(Messages.preferenceWebBrowserDescription); data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); data.horizontalSpan = 2; label.setLayoutData(data); label = new Label(composite, SWT.WRAP); data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); data.horizontalSpan = 2; label.setLayoutData(data); internal = new Button(composite, SWT.RADIO); internal.setText(Messages.prefInternalBrowser); data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); data.horizontalSpan = 2; internal.setLayoutData(data); if (!WebBrowserUtil.canUseInternalWebBrowser()) internal.setEnabled(false); external = new Button(composite, SWT.RADIO); external.setText(Messages.prefExternalBrowser); data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); data.horizontalSpan = 2; external.setLayoutData(data); label = new Label(composite, SWT.NONE); label.setText(Messages.browserList); data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); data.horizontalSpan = 2; label.setLayoutData(data); table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION); data = new GridData(GridData.FILL_BOTH); table.setLayoutData(data); table.setHeaderVisible(false); table.setLinesVisible(false); TableLayout tableLayout = new TableLayout(); new TableColumn(table, SWT.NONE); tableLayout.addColumnData(new ColumnWeightData(100)); table.setLayout(tableLayout); tableViewer = new CheckboxTableViewer(table); tableViewer.setContentProvider(new BrowserContentProvider()); tableViewer.setLabelProvider(new BrowserTableLabelProvider()); tableViewer.setInput("root"); //$NON-NLS-1$ // uncheck any other elements that might be checked and leave only the // element checked to remain checked since one can only chose one // brower at a time to be current. tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent e) { checkNewDefaultBrowser(e.getElement()); checkedBrowser = (IBrowserDescriptor) e.getElement(); // if no other browsers are checked, don't allow the single one // currently checked to become unchecked, and lose a current // browser. That is, don't permit unchecking if no other item // is checked which is supposed to be the case. Object[] obj = tableViewer.getCheckedElements(); if (obj.length == 0) tableViewer.setChecked(e.getElement(), true); } }); // set a default, checked browser based on the current browser. If there // is not a current browser, but the first item exists, use that instead. // This will work currently until workbench shutdown, because current // browser is not yet persisted. checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser(); if (checkedBrowser != null) tableViewer.setChecked(checkedBrowser, true); else { Object obj = tableViewer.getElementAt(0); if (obj != null) tableViewer.setChecked(obj, true); } tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection sele = ((IStructuredSelection) tableViewer.getSelection()); boolean sel = sele.getFirstElement() != null && !(sele.getFirstElement() instanceof SystemBrowserDescriptor); remove.setEnabled(sel); edit.setEnabled(sel); } }); tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection()); Object firstElem = sel.getFirstElement(); if (firstElem != null && !(firstElem instanceof SystemBrowserDescriptor)) { IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement(); IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy(); BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell(), wc); if (dialog.open() != Window.CANCEL) { try { tableViewer.refresh(wc.save()); } catch (Exception ex) { // ignore } } } } }); table.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { if (e.character == SWT.DEL) { IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection()); if (sel.getFirstElement() != null) { IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement(); try { browser2.delete(); tableViewer.remove(browser2); // need here to ensure that if the item deleted was // checked, ie. was // the current browser, that the new current browser // will be the first in the // list, typically, the internal browser, which // cannot be // deleted, and be current BrowserManager manager = BrowserManager.getInstance(); if (browser2 == checkedBrowser) { if (manager.browsers.size() > 0) { checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0); tableViewer.setChecked(checkedBrowser, true); } } } catch (Exception ex) { // ignore } } } } public void keyReleased(KeyEvent e) { // ignore } }); Composite buttonComp = new Composite(composite, SWT.NONE); layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = convertVerticalDLUsToPixels(3); layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 1; buttonComp.setLayout(layout); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); buttonComp.setLayoutData(data); final Button add = SWTUtil.createButton(buttonComp, Messages.add); add.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell()); if (dialog.open() == Window.CANCEL) return; tableViewer.refresh(); if (checkedBrowser != null) tableViewer.setChecked(checkedBrowser, true); } }); edit = SWTUtil.createButton(buttonComp, Messages.edit); edit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection()); IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement(); IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy(); BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(getShell(), wc); if (dialog.open() != Window.CANCEL) { try { tableViewer.refresh(wc.save()); } catch (Exception ex) { // ignore } } } }); remove = SWTUtil.createButton(buttonComp, Messages.remove); remove.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = ((IStructuredSelection) tableViewer.getSelection()); IBrowserDescriptor browser2 = (IBrowserDescriptor) sel.getFirstElement(); try { browser2.delete(); tableViewer.remove(browser2); // need here to ensure that if the item deleted was checked, // ie. was // the current browser, that the new current browser will be // the first in the // list, typically, the internal browser, which cannot be // deleted, and be current BrowserManager manager = BrowserManager.getInstance(); if (browser2 == checkedBrowser) { if (manager.browsers.size() > 0) { checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0); tableViewer.setChecked(checkedBrowser, true); } } } catch (Exception ex) { // ignore } } }); search = SWTUtil.createButton(buttonComp, Messages.search); data = (GridData) search.getLayoutData(); data.verticalIndent = 9; search.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { final List foundBrowsers = new ArrayList(); final List existingPaths = WebBrowserUtil.getExternalBrowserPaths(); // select a target directory for the search DirectoryDialog dialog = new DirectoryDialog(getShell()); dialog.setMessage(Messages.selectDirectory); dialog.setText(Messages.directoryDialogTitle); String path = dialog.open(); if (path == null) return; final File rootDir = new File(path); ProgressMonitorDialog pm = new ProgressMonitorDialog(getShell()); IRunnableWithProgress r = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { monitor.beginTask(Messages.searchingTaskName, IProgressMonitor.UNKNOWN); search(rootDir, existingPaths, foundBrowsers, monitor); monitor.done(); } }; try { pm.run(true, true, r); } catch (InvocationTargetException ex) { Trace.trace(Trace.SEVERE, "Invocation Exception occured running monitor: " //$NON-NLS-1$ + ex); } catch (InterruptedException ex) { Trace.trace(Trace.SEVERE, "Interrupted exception occured running monitor: " //$NON-NLS-1$ + ex); return; } if (pm.getProgressMonitor().isCanceled()) return; List browsersToCreate = foundBrowsers; if (browsersToCreate == null) // cancelled return; if (browsersToCreate.isEmpty()) { // no browsers found WebBrowserUtil.openMessage(Messages.searchingNoneFound); return; } Iterator iterator = browsersToCreate.iterator(); while (iterator.hasNext()) { IBrowserDescriptorWorkingCopy browser2 = (IBrowserDescriptorWorkingCopy) iterator.next(); browser2.save(); } tableViewer.refresh(); if (checkedBrowser != null) tableViewer.setChecked(checkedBrowser, true); } }); tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent e) { checkNewDefaultBrowser(e.getElement()); checkedBrowser = (IBrowserDescriptor) e.getElement(); } }); /*external.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { boolean sel = !tableViewer.getSelection().isEmpty(); edit.setEnabled(sel); remove.setEnabled(sel); } public void widgetDefaultSelected(SelectionEvent e) { // ignore } });*/ internal.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL); external.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL); //boolean sel = !tableViewer.getSelection().isEmpty(); IStructuredSelection sele = ((IStructuredSelection) tableViewer.getSelection()); boolean sel = sele.getFirstElement() != null && !(sele.getFirstElement() instanceof SystemBrowserDescriptor); edit.setEnabled(sel); remove.setEnabled(sel); Dialog.applyDialogFont(composite); return composite; }
From source file:org.drools.eclipse.preferences.DroolsRuntimesBlock.java
License:Apache License
public void createControl(Composite ancestor) { Font font = ancestor.getFont(); Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH); fControl = parent;/*from ww w . j a va 2 s. co m*/ SWTFactory.createLabel(parent, "Installed Drools Runtimes", 2); fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 250; gd.widthHint = 350; fTable.setLayoutData(gd); fTable.setFont(font); fTable.setHeaderVisible(true); fTable.setLinesVisible(true); TableColumn column = new TableColumn(fTable, SWT.NULL); column.setText("Name"); int defaultwidth = 350 / 2 + 1; column.setWidth(defaultwidth); column = new TableColumn(fTable, SWT.NULL); column.setText("Location"); column.setWidth(defaultwidth); droolsRuntimesList = new CheckboxTableViewer(fTable); droolsRuntimesList.setLabelProvider(new DroolsRuntimesLabelProvider()); droolsRuntimesList.setContentProvider(new DroolsRuntimesContentProvider()); droolsRuntimesList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent evt) { enableButtons(); } }); droolsRuntimesList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { setDefaultDroolsRuntime((DroolsRuntime) event.getElement()); } else { setDefaultDroolsRuntime(null); } } }); droolsRuntimesList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { if (!droolsRuntimesList.getSelection().isEmpty()) { editDroolsRuntime(); } } }); fTable.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { if (fRemoveButton.isEnabled()) { removeDroolsRuntimes(); } } } }); Composite buttons = SWTFactory.createComposite(parent, font, 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0); fAddButton = SWTFactory.createPushButton(buttons, "Add...", null); fAddButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { addDroolsRuntime(); } }); fEditButton = SWTFactory.createPushButton(buttons, "Edit...", null); fEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { editDroolsRuntime(); } }); fRemoveButton = SWTFactory.createPushButton(buttons, "Remove", null); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { removeDroolsRuntimes(); } }); SWTFactory.createVerticalSpacer(parent, 1); enableButtons(); fAddButton.setEnabled(true); }
From source file:org.ebayopensource.vjet.eclipse.internal.ui.preferences.InstalledSdksBlock.java
License:Open Source License
/** * Creates this block's control in the given control. * //from w w w . ja v a2 s.co m * @param ancestor containing control * @param useManageButton whether to present a single 'manage...' button to * the user that opens the installed JREs pref page for JRE management, * or to provide 'add, remove, edit, and search' buttons. */ public void createControl(Composite ancestor) { Composite parent = new Composite(ancestor, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; parent.setLayout(layout); Font font = ancestor.getFont(); parent.setFont(font); fControl = parent; GridData data; Label tableLabel = new Label(parent, SWT.NONE); tableLabel.setText("VJET SKD"); // tableLabel.setText(JREMessages.InstalledJREsBlock_15); data = new GridData(); data.horizontalSpan = 2; tableLabel.setLayoutData(data); tableLabel.setFont(font); fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); data = new GridData(GridData.FILL_BOTH); data.widthHint = 450; fTable.setLayoutData(data); fTable.setFont(font); fTable.setHeaderVisible(true); fTable.setLinesVisible(true); TableColumn column1 = new TableColumn(fTable, SWT.NULL); // column1.setText(JREMessages.InstalledJREsBlock_0); column1.setText("name"); column1.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortByName(); } }); TableColumn column2 = new TableColumn(fTable, SWT.NULL); // column2.setText(JREMessages.InstalledJREsBlock_1); column2.setText("Location"); column2.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortByLocation(); } }); TableColumn column3 = new TableColumn(fTable, SWT.NULL); column3.setText("type"); // column3.setText(JREMessages.InstalledJREsBlock_2); column3.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortByType(); } }); fVMList = new CheckboxTableViewer(fTable); fVMList.setLabelProvider(new VMLabelProvider()); fVMList.setContentProvider(new JREsContentProvider()); // by default, sort by name sortByName(); fVMList.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent evt) { enableButtons(); } }); fVMList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { setCheckedJRE((ISdkEnvironment) event.getElement()); } else { setCheckedJRE(null); } } }); fVMList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { if (!fVMList.getSelection().isEmpty()) { editVM(); } } }); fTable.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { if (event.character == SWT.DEL && event.stateMask == 0) { removeVMs(); } } }); Composite buttons = new Composite(parent, SWT.NULL); buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; buttons.setLayout(layout); buttons.setFont(font); // fAddButton = createPushButton(buttons, JREMessages.InstalledJREsBlock_3); fAddButton = createPushButton(buttons, "add"); fAddButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { addVM(); } }); // fEditButton= createPushButton(buttons, JREMessages.InstalledJREsBlock_4); fEditButton = createPushButton(buttons, "edit"); fEditButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { editVM(); } }); // fCopyButton = createPushButton(buttons, JREMessages.InstalledJREsBlock_16); fCopyButton = createPushButton(buttons, "push"); fCopyButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { copyVM(); } }); // fRemoveButton= createPushButton(buttons, JREMessages.InstalledJREsBlock_5); fRemoveButton = createPushButton(buttons, "remove"); fRemoveButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { removeVMs(); } }); // copied from ListDialogField.CreateSeparator() Label separator = new Label(buttons, SWT.NONE); separator.setVisible(false); GridData gd = new GridData(); gd.horizontalAlignment = GridData.FILL; gd.verticalAlignment = GridData.BEGINNING; gd.heightHint = 4; separator.setLayoutData(gd); fSearchButton = createPushButton(buttons, "Install"); // fSearchButton = createPushButton(buttons, JREMessages.InstalledJREsBlock_6); fSearchButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event evt) { search(); } }); fillWithWorkspaceJREs(); enableButtons(); fAddButton.setEnabled(VjetSdkRuntime.getSdkEnviromentTypes().length > 0); }