List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:org.eclipse.php.internal.debug.ui.preferences.PHPDebuggersTable.java
License:Open Source License
/** * Creates this control inside the given control. * /*from w w w . jav a 2s . co m*/ * @param ancestor * containing control */ public void createControl(final Composite ancestor) { // Create a 'cosmetic' composite to fit the dialog style of margins. Composite comp = new Composite(ancestor, SWT.NULL); GridLayout layout = new GridLayout(); comp.setLayout(layout); GridData data = new GridData(GridData.FILL_BOTH); comp.setLayoutData(data); final Group parent = new Group(comp, SWT.NULL); parent.setText(PHPDebugUIMessages.PHPDebuggersTable_installedDebuggers); layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; parent.setLayout(layout); final Font font = ancestor.getFont(); parent.setFont(font); data = new GridData(GridData.FILL_BOTH); parent.setLayoutData(data); final Table table = new Table(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); data = new GridData(GridData.FILL_BOTH); data.heightHint = 35; table.setLayoutData(data); table.setFont(font); table.setHeaderVisible(true); table.setLinesVisible(true); final TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); final TableColumn debuggerTypeColumn = new TableColumn(table, SWT.NULL); debuggerTypeColumn.setText(PHPDebugUIMessages.PHPDebuggersTable_debuggerType); fPHPDebuggers = new CheckboxTableViewer(table); fPHPDebuggers.setLabelProvider(new PHPDebuggersLabelProvider()); fPHPDebuggers.setContentProvider(new PHPDebuggersContentProvider()); fPHPDebuggers.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent evt) { enableButtons(); } }); fPHPDebuggers.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(final DoubleClickEvent e) { if (!fPHPDebuggers.getSelection().isEmpty()) { editSettings(); } } }); final 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); fSettingsButton = createPushButton(buttons, PHPDebugUIMessages.PHPDebuggersTable_configure); fSettingsButton.addListener(SWT.Selection, new Listener() { public void handleEvent(final Event evt) { editSettings(); } }); fPHPDebuggers.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { if (e1 instanceof IDebuggerConfiguration && e2 instanceof IDebuggerConfiguration) { return ((IDebuggerConfiguration) e2).getName() .compareTo(((IDebuggerConfiguration) e1).getName()); } return super.compare(viewer, e1, e2); } }); configureTableResizing(parent, buttons, table, debuggerTypeColumn); fillWithWorkspaceDebuggers(); enableButtons(); Display.getDefault().asyncExec(new Runnable() { public void run() { resizeTable(parent, buttons, table, debuggerTypeColumn); } }); }
From source file:org.eclipse.php.internal.debug.ui.preferences.phps.PHPInterpreterExecutionConfigurationBlock.java
License:Open Source License
protected Control createControl(Composite ancestor) { fControl = ancestor;/*www . ja v a 2 s . c o m*/ Composite container = new Composite(ancestor, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; layout.makeColumnsEqualWidth = true; container.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); container.setLayoutData(gd); container.setFont(ancestor.getFont()); Composite eeContainer = new Composite(container, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; eeContainer.setLayout(layout); eeContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); Label label = new Label(eeContainer, SWT.NONE); label.setFont(ancestor.getFont()); label.setText(Messages.PHPInterpreterExecutionConfigurationBlock_0); label.setLayoutData(new GridData(SWT.FILL, 0, true, false)); Table table = new Table(eeContainer, SWT.BORDER | SWT.SINGLE); table.setLayout(layout); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fProfilesViewer = new TableViewer(table); fProfilesViewer.setContentProvider(new ArrayContentProvider()); fProfilesViewer.setLabelProvider(new ExecutionEnvironmentsLabelProvider()); fProfilesViewer.setComparator(new ViewerComparator()); fProfilesViewer.setInput(PHPVersion.supportedVersions()); Composite jreContainer = new Composite(container, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; jreContainer.setLayout(layout); jreContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); label = new Label(jreContainer, SWT.NONE); label.setFont(ancestor.getFont()); label.setText(Messages.PHPInterpreterExecutionConfigurationBlock_1); label.setLayoutData(new GridData(SWT.FILL, 0, true, false)); table = new Table(jreContainer, SWT.CHECK | SWT.BORDER | SWT.SINGLE); table.setLayout(layout); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fJREsViewer = new CheckboxTableViewer(table); fJREsViewer.setContentProvider(new ArrayContentProvider()); fJREsViewer.setLabelProvider(new PHPExeLabelProvider()); fJREsViewer.setInput(new PHPexeItem[0]); fProfilesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { PHPVersion version = (PHPVersion) ((IStructuredSelection) event.getSelection()).getFirstElement(); PHPexeItem jre = versionToDefaultItem.get(version); fJREsViewer.setInput(getCompatibleItems(allItems, version)); if (jre != null) { fJREsViewer.setCheckedElements(new Object[] { jre }); } else { fJREsViewer.setCheckedElements(new Object[0]); } } }); fJREsViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { Object element = event.getElement(); versionToDefaultItem.put( (PHPVersion) ((IStructuredSelection) fProfilesViewer.getSelection()).getFirstElement(), (PHPexeItem) element); fJREsViewer.setCheckedElements(new Object[] { element }); } else { versionToDefaultItem.remove(fJREsViewer.getInput()); } } }); Dialog.applyDialogFont(ancestor); return ancestor; }
From source file:org.eclipse.php.internal.ui.dialogs.saveFiles.ContainerSelectionGroup.java
License:Open Source License
/** * Returns a new drill down viewer for this dialog. * // w w w . j a v a2 s. c o m * @param heightHint * height hint for the drill down composite */ protected void createTreeViewer(int heightHint) { // Create drill down. DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER); GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true); spec.widthHint = SIZING_SELECTION_PANE_WIDTH; spec.heightHint = heightHint; drillDown.setLayoutData(spec); // Create tree viewer inside drill down. treeViewer = new TreeViewer(drillDown, SWT.NONE); drillDown.setChildTree(treeViewer); cp = new ContainerContentProvider(); cp.showClosedProjects(showClosedProjects); treeViewer.setContentProvider(cp); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setComparator(new ViewerComparator()); treeViewer.setUseHashlookup(true); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object item = ((IStructuredSelection) selection).getFirstElement(); if (item == null) { return; } if (treeViewer.getExpandedState(item)) { treeViewer.collapseToLevel(item, 1); } else { treeViewer.expandToLevel(item, 1); } } } }); // This has to be done after the viewer has been laid out treeViewer.setInput(ResourcesPlugin.getWorkspace()); }
From source file:org.eclipse.php.internal.ui.util.TableSorter.java
License:Open Source License
/** * Constructor./*w w w. j av a 2s . c o m*/ * * @param comparator */ public TableSorter(Comparator<Object> comparator) { fComparator = comparator; fSelectionAdapters = new HashMap<TableColumn, SelectionAdapter>(); fViewerComparator = new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { return compareElements(e1, e2); } }; }
From source file:org.eclipse.ptp.internal.rdt.ui.callhierarchy.RemoteCHViewPart.java
License:Open Source License
private void createActions() { // action groups fOpenViewActionGroup = new OpenViewActionGroup(this); fOpenViewActionGroup.setSuppressCallHierarchy(true); fOpenViewActionGroup.setSuppressProperties(true); fOpenViewActionGroup.setSuppressTypeHierarchy(true); // TEMPORARY this should work fOpenViewActionGroup.setEnableIncludeBrowser(true); fSelectionSearchGroup = new SelectionSearchGroup(getSite()); // fRefactoringActionGroup= new CRefactoringActionGroup(this); fWorkingSetFilterUI = new WorkingSetFilterUI(this, fMemento, KEY_WORKING_SET_FILTER) { @Override//from w w w. ja va 2 s. co m protected void onWorkingSetChange() { updateWorkingSetFilter(this); } @Override protected void onWorkingSetNameChange() { updateDescription(); } }; fReferencedByAction = new Action(CHMessages.CHViewPart_ShowCallers_label, IAction.AS_RADIO_BUTTON) { @Override public void run() { if (isChecked()) { onSetShowReferencedBy(true); } } }; fReferencedByAction.setToolTipText(CHMessages.CHViewPart_ShowCallers_tooltip); CPluginImages.setImageDescriptors(fReferencedByAction, CPluginImages.T_LCL, CPluginImages.IMG_ACTION_SHOW_REF_BY); fMakesReferenceToAction = new Action(CHMessages.CHViewPart_ShowCallees_label, IAction.AS_RADIO_BUTTON) { @Override public void run() { if (isChecked()) { onSetShowReferencedBy(false); } } }; fMakesReferenceToAction.setToolTipText(CHMessages.CHViewPart_ShowCallees_tooltip); CPluginImages.setImageDescriptors(fMakesReferenceToAction, CPluginImages.T_LCL, CPluginImages.IMG_ACTION_SHOW_RELATES_TO); fVariableFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof CHNode) { CHNode node = (CHNode) element; return !node.isVariableOrEnumerator(); } return true; } }; fFilterVariablesAction = new Action(CHMessages.CHViewPart_FilterVariables_label, IAction.AS_CHECK_BOX) { @Override public void run() { if (isChecked()) { fTreeViewer.addFilter(fVariableFilter); } else { fTreeViewer.removeFilter(fVariableFilter); } } }; fFilterVariablesAction.setToolTipText(CHMessages.CHViewPart_FilterVariables_tooltip); CPluginImages.setImageDescriptors(fFilterVariablesAction, CPluginImages.T_LCL, CPluginImages.IMG_ACTION_HIDE_FIELDS); fSorterAlphaNumeric = new ViewerComparator(); fSorterReferencePosition = new ViewerComparator() { @Override public int category(Object element) { if (element instanceof CHNode) { return 0; } return 1; } @Override public int compare(Viewer viewer, Object e1, Object e2) { if (!(e1 instanceof CHNode)) { if (!(e2 instanceof CHNode)) { return 0; } return -1; } if (!(e2 instanceof CHNode)) { return 1; } CHNode n1 = (CHNode) e1; CHNode n2 = (CHNode) e2; int offset1 = n1.getFirstReferenceOffset(); int offset2 = n2.getFirstReferenceOffset(); return Integer.compare(offset1, offset2); } }; fShowReference = new Action(CHMessages.CHViewPart_ShowReference_label) { @Override public void run() { onShowSelectedReference(fTreeViewer.getSelection()); } }; fShowReference.setToolTipText(CHMessages.CHViewPart_ShowReference_tooltip); fOpenElement = new Action(CHMessages.CHViewPart_Open_label) { @Override public void run() { onOpenElement(fTreeViewer.getSelection()); } }; fOpenElement.setToolTipText(CHMessages.CHViewPart_Open_tooltip); fOpenElement.setActionDefinitionId(ICEditorActionDefinitionIds.OPEN_DECL); fShowFilesInLabelsAction = new Action(CHMessages.CHViewPart_ShowFiles_label, IAction.AS_CHECK_BOX) { @Override public void run() { onShowFilesInLabels(isChecked()); } }; fShowFilesInLabelsAction.setToolTipText(CHMessages.CHViewPart_ShowFiles_tooltip); fNextAction = new Action(CHMessages.CHViewPart_NextReference_label) { @Override public void run() { onNextOrPrevious(true); } }; fNextAction.setToolTipText(CHMessages.CHViewPart_NextReference_tooltip); CPluginImages.setImageDescriptors(fNextAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_NEXT); fPreviousAction = new Action(CHMessages.CHViewPart_PreviousReference_label) { @Override public void run() { onNextOrPrevious(false); } }; fPreviousAction.setToolTipText(CHMessages.CHViewPart_PreviousReference_tooltip); CPluginImages.setImageDescriptors(fPreviousAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_PREV); fRefreshAction = new Action(CHMessages.CHViewPart_Refresh_label) { @Override public void run() { onRefresh(); } }; fRefreshAction.setToolTipText(CHMessages.CHViewPart_Refresh_tooltip); CPluginImages.setImageDescriptors(fRefreshAction, CPluginImages.T_LCL, CPluginImages.IMG_REFRESH); fHistoryAction = new CHHistoryDropDownAction(this); fCopyAction = new CopyCallHierarchyAction(this, fTreeViewer); // setup action bar // global action hooks IActionBars actionBars = getViewSite().getActionBars(); // fRefactoringActionGroup.fillActionBars(actionBars); fOpenViewActionGroup.fillActionBars(actionBars); fSelectionSearchGroup.fillActionBars(actionBars); actionBars.setGlobalActionHandler(CdtActionConstants.OPEN_DECLARATION, fOpenElement); actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAction); actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAction); actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(), fRefreshAction); actionBars.updateActionBars(); // local toolbar IToolBarManager tm = actionBars.getToolBarManager(); tm.add(fNextAction); tm.add(fPreviousAction); tm.add(new Separator()); tm.add(fFilterVariablesAction); tm.add(new Separator()); tm.add(fReferencedByAction); tm.add(fMakesReferenceToAction); tm.add(fHistoryAction); tm.add(fRefreshAction); // local menu IMenuManager mm = actionBars.getMenuManager(); fWorkingSetFilterUI.fillActionBars(actionBars); mm.add(fReferencedByAction); mm.add(fMakesReferenceToAction); mm.add(new Separator()); // mm.add(fShowFilesInLabelsAction); mm.add(new Separator()); mm.add(fFilterVariablesAction); }
From source file:org.eclipse.rcptt.ui.commons.Q7ContainerSelectionGroup.java
License:Open Source License
@SuppressWarnings("restriction") protected void createTreeViewer(int heightHint) { // Create drill down. LocationComposite drillDown = new LocationComposite(this, SWT.NONE) { public void fillToolItems(org.eclipse.jface.action.ToolBarManager toolBarMgr) { Action newProject = new Action(Messages.Q7ContainerSelectionGroup_NewProject_ActionName) { @Override/*from w w w . j a v a2s. c om*/ public void run() { createNewProject(); } }; newProject.setImageDescriptor(Images.getImageDescriptor(Images.NEW_PROJECT)); toolBarMgr.add(newProject); Action newFolder = new Action(Messages.Q7ContainerSelectionGroup_NewFolder_ActionName) { @Override public void run() { createNewFolder(); } }; newFolder.setImageDescriptor(Images.getImageDescriptor(Images.NEW_FOLDER)); toolBarMgr.add(newFolder); DeleteResourceAction deleteAction = new DeleteResourceAction(new SameShellProvider(this)) { public void run() { super.run(); treeViewer.refresh(); }; }; deleteAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages() .getImageDescriptor(ISharedImages.IMG_ETOOL_DELETE)); deleteAction.setText(""); //$NON-NLS-1$ deleteAction.setEnabled(false); toolBarMgr.add(deleteAction); treeViewer.addSelectionChangedListener(deleteAction); toolBarMgr.add(new Separator()); UpdateValueStrategy enablement = new UpdateValueStrategy() { @Override public Object convert(Object value) { return value != null; } }; dbc.bindValue(Actions.observeEnabled(newFolder), ViewersObservables.observeSingleSelection(treeViewer), null, enablement); // dbc.bindValue(Actions.observeEnabled(deleteAction), // ViewersObservables.observeSingleSelection(treeViewer), // null, enablement); }; }; GridData spec = new GridData(SWT.FILL, SWT.DEFAULT, true, false); spec.widthHint = 300; // spec.heightHint = heightHint; drillDown.setLayoutData(spec); // Create tree viewer inside drill down. treeViewer = new TreeViewer(this, SWT.BORDER); drillDown.setChildTree(treeViewer); Q7ContainerContentProvider cp = new Q7ContainerContentProvider(); cp.showClosedProjects(false); treeViewer.setContentProvider(cp); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setComparator(new ViewerComparator()); treeViewer.setUseHashlookup(true); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object item = ((IStructuredSelection) selection).getFirstElement(); if (item == null) { return; } if (treeViewer.getExpandedState(item)) { treeViewer.collapseToLevel(item, 1); } else { treeViewer.expandToLevel(item, 1); } } } }); // This has to be done after the viewer has been laid out treeViewer.setInput(ResourcesPlugin.getWorkspace()); }
From source file:org.eclipse.rcptt.ui.wizards.imports.BaseProjectsImportPage.java
License:Open Source License
/** * Create the checkbox list for the found projects. * //from www . j a v a 2 s. c o m * @param workArea */ private void createProjectsList(Composite workArea) { Label title = new Label(workArea, SWT.NONE); title.setText(Messages.BaseProjectsImportPage_ProjectsLabel); Composite listComposite = new Composite(workArea, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginWidth = 0; layout.makeColumnsEqualWidth = false; listComposite.setLayout(layout); listComposite.setLayoutData( new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH)); projectsList = new CheckboxTreeViewer(listComposite, SWT.BORDER); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.widthHint = new PixelConverter(projectsList.getControl()).convertWidthInCharsToPixels(25); gridData.heightHint = new PixelConverter(projectsList.getControl()).convertHeightInCharsToPixels(10); projectsList.getControl().setLayoutData(gridData); projectsList.setContentProvider(new ITreeContentProvider() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java * .lang.Object) */ public Object[] getChildren(Object parentElement) { return null; } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IStructuredContentProvider#getElements * (java.lang.Object) */ public Object[] getElements(Object inputElement) { return getProjectRecords(); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java * .lang.Object) */ public boolean hasChildren(Object element) { return false; } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java * .lang.Object) */ public Object getParent(Object element) { return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); projectsList.setLabelProvider(new ProjectLabelProvider()); projectsList.addCheckStateListener(new ICheckStateListener() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged * (org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { ProjectRecord element = (ProjectRecord) event.getElement(); if (element.hasConflicts) { projectsList.setChecked(element, false); } setPageComplete(projectsList.getCheckedElements().length > 0); } }); projectsList.setInput(this); projectsList.setComparator(new ViewerComparator()); createSelectionButtons(listComposite); }
From source file:org.eclipse.recommenders.internal.apidocs.rcp.ApidocsView.java
License:Open Source License
private void createProviderOverview() { viewer = new TableViewer(sash, SWT.SINGLE); addDnDSupport();/* w w w .ja v a2 s . c o m*/ viewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object first, Object second) { int indexFirst = providerRanking.indexOf(first); int indexSecond = providerRanking.indexOf(second); return indexFirst - indexSecond; } }); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((ApidocProvider) element).getDescription().getName(); } @Override public Image getImage(Object element) { return ((ApidocProvider) element).getDescription().getImage(); } }); viewer.setInput(providers); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ApidocProvider newProvider = Selections.<ApidocProvider>getFirstSelected(event.getSelection()) .orNull(); if (newProvider == activeProvider) { return; } activeProvider = newProvider; Job job = new Job(Messages.JOB_UPDATING_APIDOCS) { @Override protected IStatus run(IProgressMonitor monitor) { onJavaSelection(activeSelection); return Status.OK_STATUS; } }; job.setSystem(true); job.schedule(); } }); viewer.setSelection(new StructuredSelection(Iterables.getFirst(providers, null))); }
From source file:org.eclipse.remote.internal.ui.preferences.ConnectionsPreferencePage.java
License:Open Source License
/** * Create the widgets for this page/* w w w. j a v a2s .com*/ * * @param parent * The parent widget for the client area * @return */ private Control createWidgets(Composite parent) { fEventHandler = new EventHandler(); Composite selectComp = new Composite(parent, SWT.NONE); selectComp.setLayout(new GridLayout(2, false)); selectComp.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); Label label = new Label(selectComp, SWT.NONE); label.setText(Messages.ConnectionsPreferencePage_Remote_Services); label.setLayoutData(new GridData()); fServicesCombo = new Combo(selectComp, SWT.READ_ONLY); label.setLayoutData(new GridData()); IRemoteServicesManager manager = RemoteUIPlugin.getService(IRemoteServicesManager.class); List<IRemoteConnectionType> services = manager.getRemoteConnectionTypes(); String[] names = new String[services.size()]; fServiceIDs = new String[services.size()]; { int i = 0; for (IRemoteConnectionType s : services) { names[i] = s.getName(); fServiceIDs[i] = s.getId(); i++; } } fServicesCombo.addSelectionListener(fEventHandler); fServicesCombo.setItems(names); Composite preferencePane = new Composite(parent, SWT.NONE); preferencePane.setLayout(new GridLayout(2, false)); fConnectionTable = new Table(preferencePane, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = 425; data.heightHint = fConnectionTable.getItemHeight(); data.horizontalSpan = 1; fConnectionTable.setLayoutData(data); fConnectionTable.setFont(parent.getFont()); fConnectionTable.addSelectionListener(fEventHandler); fConnectionTable.addMouseListener(new MouseListener() { @Override public void mouseDoubleClick(MouseEvent e) { if (fSelectedConnection != null) { IRemoteConnection original = getOriginalIfClean(fSelectedConnection); if (original.isOpen()) { editConnection(); } } } @Override public void mouseDown(MouseEvent e) { // Nothing } @Override public void mouseUp(MouseEvent e) { // Nothing } }); TableLayout tableLayout = new TableLayout(); fConnectionTable.setLayout(tableLayout); fConnectionTable.setHeaderVisible(true); fConnectionTable.setLinesVisible(true); for (int i = 0; i < fTableColumnHeaders.length; i++) { tableLayout.addColumnData(fTableColumnLayouts[i]); TableColumn column = new TableColumn(fConnectionTable, SWT.NONE, i); column.setResizable(fTableColumnLayouts[i].resizable); column.setText(fTableColumnHeaders[i]); } fConnectionViewer = new TableViewer(fConnectionTable); fConnectionViewer.setContentProvider(new ConnectionContentProvider()); fConnectionViewer.setLabelProvider(new ConnectionLabelProvider()); fConnectionViewer.setComparator(new ViewerComparator()); fConnectionViewer.setInput(this); Composite buttonPane = new Composite(preferencePane, SWT.NONE); buttonPane.setLayout(new GridLayout(1, false)); buttonPane.setLayoutData(new GridData(GridData.FILL_VERTICAL)); buttonPane.setFont(preferencePane.getFont()); fAddButton = new Button(buttonPane, SWT.PUSH); setButtonLayoutData(fAddButton); fAddButton.setText(Messages.ConnectionsPreferencePage_Add); fAddButton.addSelectionListener(fEventHandler); fEditButton = new Button(buttonPane, SWT.PUSH); setButtonLayoutData(fEditButton); fEditButton.setText(Messages.ConnectionsPreferencePage_Edit); fEditButton.addSelectionListener(fEventHandler); fEditButton.setEnabled(false); fRemoveButton = new Button(buttonPane, SWT.PUSH); setButtonLayoutData(fRemoveButton); fRemoveButton.setText(Messages.ConnectionsPreferencePage_Remove); fRemoveButton.addSelectionListener(fEventHandler); fRemoveButton.setEnabled(false); fOpenButton = new Button(buttonPane, SWT.PUSH); setButtonLayoutData(fOpenButton); fOpenButton.setText(Messages.ConnectionsPreferencePage_Open); fOpenButton.addSelectionListener(fEventHandler); fOpenButton.setEnabled(false); fCloseButton = new Button(buttonPane, SWT.PUSH); setButtonLayoutData(fCloseButton); fCloseButton.setText(Messages.ConnectionsPreferencePage_Close); fCloseButton.addSelectionListener(fEventHandler); fCloseButton.setEnabled(false); if (fServiceIDs.length > 0) { String id = Preferences.getString(IRemotePreferenceConstants.PREF_CONNECTION_TYPE_ID); if ("".equals(id)) { //$NON-NLS-1$ id = fServiceIDs[0]; } for (int i = 0; i < fServiceIDs.length; i++) { if (id.equals(fServiceIDs[i])) { fServicesCombo.select(i); } } selectServices(id); } return preferencePane; }
From source file:org.eclipse.sapphire.ui.forms.swt.SwtUtil.java
License:Open Source License
public static void sortByTableColumn(final TableViewer tableViewer, final TableColumn column, final int direction, final Comparator<Object> comparator) { final Table table = tableViewer.getTable(); table.setSortColumn(column);/*from ww w . j a v a 2s . c o m*/ table.setSortDirection(direction); final Comparator<Object> comp; if (comparator != null) { comp = comparator; } else { comp = new ColumnSortComparator(); } tableViewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object x, final Object y) { int result = comp.compare(x, y); if (direction == SWT.UP) { result = result * -1; } return result; } }); }