List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator
public ViewerComparator()
From source file:com.mobilesorcery.sdk.importproject.MoSyncWizardProjectsImportPage.java
License:Open Source License
/** * Create the checkbox list for the found projects. * * @param workArea/*from www . j av a2 s .co m*/ */ private void createProjectsList(Composite workArea) { Label title = new Label(workArea, SWT.NONE); title.setText(DataTransferMessages.WizardProjectsImportPage_ProjectsListTitle); 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) */ @Override public Object[] getChildren(Object parentElement) { return null; } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IStructuredContentProvider#getElements * (java.lang.Object) */ @Override public Object[] getElements(Object inputElement) { return getProjectRecords(); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java * .lang.Object) */ @Override public boolean hasChildren(Object element) { return false; } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java * .lang.Object) */ @Override public Object getParent(Object element) { return null; } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ @Override public void dispose() { } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override 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) */ @Override 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:com.motorola.studio.android.wizards.buildingblocks.ActivitySampleSelectionPage.java
License:Apache License
@Override protected void createExtendedControls(Composite parent) { Composite mainComposite = new Composite(parent, SWT.FILL); mainComposite.setLayout(new GridLayout(1, false)); mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); // Samples Tree Label Label itemsTableLabel = new Label(mainComposite, SWT.NONE); itemsTableLabel.setText(CodeUtilsNLS.UI_SampleSelectionPage_SamplesTreeLabel); // Samples Tree Viewer treeViewer = new TreeViewer(mainComposite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL); treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); treeViewer.setLabelProvider(new LabelProvider() { @Override/*from w w w .ja va 2 s. co m*/ public Image getImage(Object obj) { return androidImg; } @Override public String getText(Object element) { return element.toString(); } }); content = new String[getBuildBlock().getAvailableSamples().size()]; int i = 0; for (String currentSample : getBuildBlock().getAvailableSamples().keySet()) { content[i] = currentSample; i++; } treeViewer.setContentProvider(new SampleTreeContentProvider(content)); treeViewer.setInput(content); final Group intentFilterGroup = new Group(mainComposite, SWT.NONE); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { String selection = e.getSelection().toString(); getBuildBlock().setSample(selection.substring(1, selection.length() - 1)); getBuildBlock() .setSampleCategoty(ActivityBasedOnTemplate.SAMPLE_CATEGORY.SAMPLE_ACTIVITIES_CATEGORY); if (selection.substring(1, selection.length() - 1) .equals(ActivityBasedOnTemplate.DATABASE_LIST_SAMPLE_LOCALIZED)) { getBuildBlock().setDatabaseTemplateSelected(true); } else { getBuildBlock().setDatabaseTemplateSelected(false); } canFlip = true; updateDescriptionPane(); getWizard().getContainer().updateButtons(); } }); treeViewer.setComparator(new ViewerComparator()); treeViewer.expandAll(); intentFilterGroup.setText(CodeUtilsNLS.UI_SampleSelectionPage_SamplesDescriptionPane); intentFilterGroup.setLayout(new GridLayout(1, false)); intentFilterGroup.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false)); ScrolledComposite scrolledArea = new ScrolledComposite(intentFilterGroup, SWT.V_SCROLL); GridData descriptionLabelData = new GridData(GridData.FILL, GridData.FILL, true, true); descriptionLabelData.heightHint = 140; scrolledArea.setLayoutData(descriptionLabelData); descriptionLabel = new Label(scrolledArea, SWT.FILL | SWT.WRAP); descriptionLabel.setText(""); scrolledArea.setContent(descriptionLabel); descriptionLabel.setSize(descriptionLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT)); // Add a listener to the wizard to listen for page changes if (getContainer() instanceof IPageChangeProvider) { ((IPageChangeProvider) getContainer()).addPageChangedListener(new PageChangeListener()); } setControl(mainComposite); }
From source file:com.motorola.studio.android.wizards.buildingblocks.NewActivityWizardListTemplatesPage.java
License:Apache License
@Override protected void createExtendedControls(Composite parent) { Composite mainComposite = new Composite(parent, SWT.FILL); mainComposite.setLayout(new GridLayout(2, false)); mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); // Samples Tree Label Label itemsTableLabel = new Label(mainComposite, SWT.NONE); itemsTableLabel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1)); itemsTableLabel.setText(CodeUtilsNLS.UI_SampleSelectionPage_SamplesTreeLabel); // Samples Tree Viewer treeViewer = new TreeViewer(mainComposite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL); treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); treeViewer.setLabelProvider(new LabelProvider() { @Override//from ww w. j a v a 2 s.co m public Image getImage(Object obj) { return androidImg; } @Override public String getText(Object element) { return element.toString(); } }); content = new String[getBuildBlock().getListActivitiesSamples().size()]; int i = 0; for (String currentSample : getBuildBlock().getListActivitiesSamples().keySet()) { content[i] = currentSample; i++; } //sets tree content and icon treeViewer.setContentProvider(new SampleTreeContentProvider(content)); treeViewer.setInput(content); final Group previewGroup = new Group(mainComposite, SWT.NONE); previewGroup.setText(CodeUtilsNLS.UI_ListActivityPage_Preview); previewGroup.setLayout(new GridLayout(1, false)); previewGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, true, 1, 1)); imgLabel = new Label(previewGroup, SWT.NONE); imgLabel.setImage(null); GridData imageLabelData = new GridData(GridData.FILL, GridData.FILL, true, true); imageLabelData.widthHint = 200; imgLabel.setLayoutData(imageLabelData); final Group descriptionGroup = new Group(mainComposite, SWT.NONE); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { updateTreeViewAfterSelection(e.getSelection()); updateDescriptionPane(); getWizard().getContainer().updateButtons(); } }); //sort tree treeViewer.setComparator(new ViewerComparator()); treeViewer.expandAll(); //description pane descriptionGroup.setText(CodeUtilsNLS.UI_SampleSelectionPage_SamplesDescriptionPane); descriptionGroup.setLayout(new GridLayout(1, false)); descriptionGroup.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); ScrolledComposite scroll = new ScrolledComposite(descriptionGroup, SWT.V_SCROLL); GridData scrollData = new GridData(GridData.FILL, GridData.FILL, true, true); scroll.setLayoutData(scrollData); scroll.setMinSize(100, 140); descriptionLabel = new Label(scroll, SWT.FILL | SWT.WRAP); descriptionLabel.setText(""); scroll.setContent(descriptionLabel); // Add a listener to the wizard to listen for page changes if (getContainer() instanceof IPageChangeProvider) { ((IPageChangeProvider) getContainer()).addPageChangedListener(new PageChangeListener()); } setControl(mainComposite); }
From source file:com.mountainminds.eclemma.internal.ui.editors.ExecutedClassesPage.java
License:Open Source License
@Override protected void createFormContent(IManagedForm managedForm) { final FormToolkit toolkit = managedForm.getToolkit(); final ScrolledForm form = managedForm.getForm(); form.setText(ExecutionDataEditorExecutedClassesPage_title); toolkit.decorateFormHeading(form.getForm()); final Composite body = form.getBody(); body.setLayout(new org.eclipse.swt.layout.GridLayout(1, true)); filter = toolkit.createText(body, null, SWT.SINGLE | SWT.SEARCH | SWT.ICON_CANCEL); filter.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { triggerRefresh();/* w ww . j av a 2 s . c om*/ } }); filter.setMessage(ExecutionDataEditorExecutedClassesPageFilter_message); filter.setLayoutData(new GridData(SWT.FILL, 0, true, false)); final Table dataTable = toolkit.createTable(body, SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.BORDER); dataTable.setHeaderVisible(true); dataTable.setLinesVisible(true); dataTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); dataTableViewer = new TableViewer(dataTable); final TableViewerColumn classIdColumnViewer = new TableViewerColumn(dataTableViewer, SWT.NONE); classIdColumnViewer.setLabelProvider(new ClassIdLabelProvider()); final TableColumn classIdColumn = classIdColumnViewer.getColumn(); classIdColumn.setText(ExecutionDataEditorExecutedClassesPageColumnId_label); classIdColumn.setWidth(200); classIdColumn.setResizable(true); final TableViewerColumn vmNameColumnViewer = new TableViewerColumn(dataTableViewer, SWT.NONE); vmNameColumnViewer.setLabelProvider(new VMNameLabelProvider()); final TableColumn vmNameColumn = vmNameColumnViewer.getColumn(); vmNameColumn.setText(ExecutionDataEditorExecutedClassesPageColumnName_label); vmNameColumn.setWidth(500); vmNameColumn.setResizable(true); final TableViewerColumn totalProbesColumnViewer = new TableViewerColumn(dataTableViewer, SWT.RIGHT); totalProbesColumnViewer.setLabelProvider(new TotalProbesLabelProvider()); final TableColumn totalProbesColumn = totalProbesColumnViewer.getColumn(); totalProbesColumn.setText(ExecutionDataEditorExecutedClassesPageColumnTotalProbes_label); totalProbesColumn.setWidth(100); totalProbesColumn.setResizable(true); final TableViewerColumn executedProbesColumnViewer = new TableViewerColumn(dataTableViewer, SWT.RIGHT); executedProbesColumnViewer.setLabelProvider(new ExecutedProbesLabelProvider()); final TableColumn executedProbesColumn = executedProbesColumnViewer.getColumn(); executedProbesColumn.setText(ExecutionDataEditorExecutedClassesPageColumnExecutedProbes_label); executedProbesColumn.setWidth(100); executedProbesColumn.setResizable(true); dataTable.setSortColumn(vmNameColumn); dataTable.setSortDirection(SWT.UP); dataTableViewer.setComparator(new ViewerComparator()); dataTableViewer.setContentProvider(new AbstractExecutionDataContentProvider() { public Object[] getElements(ExecutionDataContent content) { return content.getExecutionData(); } }); dataTableViewer.setInput(content); }
From source file:com.nabsys.nabeeplus.editors.ServerConfigEditor.java
private void setPluginArea(Composite back) { NBTableModifiedListener mdfListener = new NBTableModifiedListener() { public void modified(TableModel model, String id, String fieldName, int fieldIndex) { if (model instanceof Plugin) { if (fieldName.equals("ID") && !id.equals(model.getValue(fieldIndex))) { model.setID(model.getValue(fieldIndex)); }//from w w w .ja v a 2s . c om setSendMessage("U", "PLG", fieldName, id, model.getValue(fieldIndex), null); if (fieldName.equals("ID") && paramMap.containsKey(id)) { //HashMap<String, String> tmpMap = (HashMap<String, String>) paramMap.get(id).clone(); paramMap.put(model.getValue(fieldIndex), paramMap.get(id)); paramMap.remove(id); } } else if (model instanceof Param) { setSendMessage("U", "PRM", fieldName, id, model.getValue(fieldIndex), (String) paramTable.getData("PID")); HashMap<String, String> tmpParam = paramMap.get((String) paramTable.getData("PID")); if (paramMap.containsKey((String) paramTable.getData("PID"))) { tmpParam = paramMap.get((String) paramTable.getData("PID")); } else { tmpParam = new HashMap<String, String>(); paramMap.put((String) paramTable.getData("PID"), tmpParam); } if (fieldName.equals("ID")) { tmpParam.put(((Param) model).getID(), model.getValue(2)); tmpParam.remove(id); } else { tmpParam.put(((Param) model).getID(), model.getValue(2)); } } isModified = true; firePropertyChange(PROP_DIRTY); } }; GridData layoutData = new GridData(GridData.FILL, GridData.FILL, true, true); layoutData.heightHint = 390; SubTitleBoard pluginlConfig = new SubTitleBoard(back, SWT.NONE, NBLabel.get(0x017D), NBLabel.get(0x017E), 1); pluginlConfig.setLayoutData(layoutData); ////////////////////////////////////// GridLayout layout = new GridLayout(); layout.verticalSpacing = 5; layout.horizontalSpacing = 5; layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 3; layoutData = new GridData(GridData.FILL, GridData.FILL, true, false); layoutData.heightHint = 23; Composite btnBack = new Composite(pluginlConfig.getPanel(), SWT.NONE); btnBack.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); btnBack.setLayout(layout); btnBack.setLayoutData(layoutData); layoutData = new GridData(GridData.FILL, GridData.FILL, false, false); layoutData.heightHint = 18; layoutData.widthHint = 70; Composite dum = new Composite(btnBack, SWT.NONE); dum.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); dum.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); btnAddPlugin = new Button(btnBack, SWT.NONE); btnAddPlugin.setLayoutData(layoutData); btnAddPlugin.setText(NBLabel.get(0x011F)); btnAddPlugin.addSelectionListener(btnSelection); btnDelPlugin = new Button(btnBack, SWT.NONE); btnDelPlugin.setLayoutData(layoutData); btnDelPlugin.setText(NBLabel.get(0x0120)); btnDelPlugin.addSelectionListener(btnSelection); ////////////////////////////////////// layoutData = new GridData(GridData.FILL, GridData.FILL, true, false); layoutData.heightHint = 100; pluginTable = new TableViewer(pluginlConfig.getPanel(), SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); pluginTable.getTable().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); pluginTable.setComparator(new ViewerComparator() { boolean isInit = false; public int compare(Viewer viewer, Object o1, Object o2) { if (isInit) { return 0; } else { isInit = true; return ((TableModel) o1).getID().compareToIgnoreCase(((TableModel) o2).getID()); } } }); TableViewerColumn column = new TableViewerColumn(pluginTable, SWT.NONE); column.getColumn().setText(NBLabel.get(0x017F) + " "); column.getColumn().setWidth(100); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); column.setEditingSupport(pidEditingSupport = new NBEditingSupport(column.getViewer(), new TextCellEditor((Composite) column.getViewer().getControl()), 0)); column = new TableViewerColumn(pluginTable, SWT.NONE); column.getColumn().setText(NBLabel.get(0x0180)); column.getColumn().setWidth(200); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); column.setEditingSupport(pnameEditingSupport = new NBEditingSupport(column.getViewer(), new TextCellEditor((Composite) column.getViewer().getControl()), 1)); column = new TableViewerColumn(pluginTable, SWT.NONE); column.getColumn().setText(NBLabel.get(0x0181)); column.getColumn().setWidth(100); column.getColumn().setResizable(true); column.getColumn().setMoveable(true); column.setEditingSupport( ptypeEditingSupport = new NBEditingSupport(column.getViewer(), new ComboBoxCellEditor( (Composite) column.getViewer().getControl(), PluginTypeArray.TYPE, SWT.READ_ONLY), 2)); pluginTable.getTable().setHeaderVisible(true); pluginTable.getTable().setLinesVisible(true); pluginTable.getTable().setFont(new Font(display, "Arial", 9, SWT.NONE)); pluginTable.getTable().getColumn(0).pack(); pluginTable.setContentProvider(new NBTableContentProvider()); pluginTable.setLabelProvider(new NBTableLabelProvider(display)); pluginRoot = new Plugin(); pluginTable.setInput(pluginRoot); @SuppressWarnings("unchecked") ArrayList<NBFields> list = (ArrayList<NBFields>) ((ServerConfigEditorInput) getEditorInput()).getFields() .get("PLG_LIST"); for (int i = 0; i < list.size(); i++) { Plugin plugin = new Plugin(pluginRoot, (String) list.get(i).get("ID")); plugin.setPluginName((String) list.get(i).get("NAME")); if (((String) list.get(i).get("TYPE")).equals("DATABASE")) plugin.setPluginType(PluginTypeArray.DATABASE); else if (((String) list.get(i).get("TYPE")).equals("CONNECTION")) plugin.setPluginType(PluginTypeArray.CONNECTION); else plugin.setPluginType(PluginTypeArray.OTHER); } pidEditingSupport.addNBTableModifiedListener(mdfListener); pnameEditingSupport.addNBTableModifiedListener(mdfListener); ptypeEditingSupport.addNBTableModifiedListener(mdfListener); // param getSite().setSelectionProvider(pluginTable); getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this); pluginTable.refresh(); ////////////////////////////////////// layout = new GridLayout(); layout.verticalSpacing = 5; layout.horizontalSpacing = 5; layout.marginWidth = 0; layout.marginHeight = 0; layout.numColumns = 4; layoutData = new GridData(GridData.FILL, GridData.FILL, true, false); layoutData.heightHint = 23; btnBack = new Composite(pluginlConfig.getPanel(), SWT.NONE); btnBack.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); btnBack.setLayout(layout); btnBack.setLayoutData(layoutData); layoutData = new GridData(GridData.FILL, GridData.FILL, false, false); layoutData.heightHint = 18; layoutData.widthHint = 150; CLabel lblParam = new CLabel(btnBack, SWT.NONE); lblParam.setLayoutData(layoutData); lblParam.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); lblParam.setForeground(new Color(display, 49, 106, 197)); lblParam.setText(NBLabel.get(0x017A)); dum = new Composite(btnBack, SWT.NONE); dum.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); dum.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); layoutData = new GridData(GridData.FILL, GridData.FILL, false, false); layoutData.heightHint = 18; layoutData.widthHint = 70; btnAddParam = new Button(btnBack, SWT.NONE); btnAddParam.setLayoutData(layoutData); btnAddParam.setText(NBLabel.get(0x011F)); btnAddParam.addSelectionListener(btnSelection); btnDelParam = new Button(btnBack, SWT.NONE); btnDelParam.setLayoutData(layoutData); btnDelParam.setText(NBLabel.get(0x0120)); btnDelParam.addSelectionListener(btnSelection); ////////////////////////////////////// layoutData = new GridData(GridData.FILL, GridData.FILL, true, false); layoutData.heightHint = 250; paramTable = new TableViewer(pluginlConfig.getPanel(), SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); paramTable.getTable().setLayoutData(layoutData); column = new TableViewerColumn(paramTable, SWT.NONE); column.getColumn().setText(NBLabel.get(0x0182) + " "); column.getColumn().setWidth(70); column.getColumn().setResizable(true); column.getColumn().setMoveable(false); column.setEditingSupport(pgidEditingSupport = new NBEditingSupport(column.getViewer(), new TextCellEditor((Composite) column.getViewer().getControl()), 0)); column = new TableViewerColumn(paramTable, SWT.NONE); column.getColumn().setWidth(0); column.getColumn().setResizable(false); column.getColumn().setMoveable(false); column = new TableViewerColumn(paramTable, SWT.NONE); column.getColumn().setText(NBLabel.get(0x0183)); column.getColumn().setWidth(300); column.getColumn().setResizable(true); column.getColumn().setMoveable(false); column.setEditingSupport(pgvalueEditingSupport = new NBEditingSupport(column.getViewer(), new TextCellEditor((Composite) column.getViewer().getControl()), 2)); pgidEditingSupport.addNBTableModifiedListener(mdfListener); pgvalueEditingSupport.addNBTableModifiedListener(mdfListener); paramTable.getTable().setHeaderVisible(true); paramTable.getTable().setLinesVisible(true); paramTable.getTable().setFont(new Font(display, "Arial", 9, SWT.NONE)); paramTable.getTable().getColumn(0).pack(); paramTable.setContentProvider(new NBTableContentProvider()); paramTable.setLabelProvider(new NBTableLabelProvider(display)); paramRoot = new Param(); paramTable.setInput(paramRoot); paramMap = new HashMap<String, HashMap<String, String>>(); for (int i = 0; i < list.size(); i++) { NBFields tmpPlugin = list.get(i); Set<String> keySet = tmpPlugin.keySet(); Iterator<String> itr = keySet.iterator(); HashMap<String, String> tmpParamMap = new HashMap<String, String>(); while (itr.hasNext()) { String key = itr.next(); if (key.contains("PRM__")) { tmpParamMap.put(key.replace("PRM__", ""), (String) tmpPlugin.get(key)); } } paramMap.put((String) tmpPlugin.get("ID"), tmpParamMap); } }
From source file:com.netxforge.netxstudio.callflow.screens.CallFlows.java
License:Open Source License
private void buildUI() { setLayout(new FillLayout(SWT.HORIZONTAL)); @SuppressWarnings("unused") int widgetStyle = SWT.None; if (ScreenUtil.isReadOnlyOperation(getOperation())) { widgetStyle |= SWT.READ_ONLY;//from w ww .j a va 2 s. c om } // Create the form. frmCallFlows = toolkit.createForm(this); frmCallFlows.setSeparatorVisible(true); frmCallFlows.setText(this.getScreenName()); // frmCallFlows.getToolBarManager().add( // new EditCallFlowsAction("Visual Editor")); frmCallFlows.getToolBarManager().add(new NewCallFlowAction("")); frmCallFlows.getToolBarManager().update(true); frmCallFlows.setToolBarVerticalAlignment(SWT.TOP); toolkit.decorateFormHeading(frmCallFlows); toolkit.paintBordersFor(frmCallFlows); // Body of the form. FillLayout fl = new FillLayout(); frmCallFlows.getBody().setLayout(fl); // FILTER Composite composite = toolkit.createComposite(frmCallFlows.getBody(), SWT.NONE); toolkit.paintBordersFor(composite); composite.setLayout(new GridLayout(2, false)); Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE); lblFilterLabel.setSize(64, 81); txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL); GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); // gd_txtFilterText.widthHint = 200; txtFilterText.setLayoutData(gd_txtFilterText); txtFilterText.setSize(64, 81); txtFilterText.setText(""); txtFilterText.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent ke) { ViewerFilter[] filters = callFlowTreeViewer.getFilters(); for (ViewerFilter viewerFilter : filters) { if (viewerFilter instanceof TreeSearchFilter) { ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText()); } } callFlowTreeViewer.refresh(); // TODO, somehow find out which objects are shown, and expand // for these. // callFlowTreeViewer.expandAll(); } }); Composite cmpCallFlows = new Composite(composite, SWT.NONE); toolkit.adapt(cmpCallFlows); toolkit.paintBordersFor(cmpCallFlows); cmpCallFlows.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); TreeColumnLayout treeColumnLayout = new TreeColumnLayout(); cmpCallFlows.setLayout(treeColumnLayout); callFlowTreeViewer = new TreeViewer(cmpCallFlows, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); callFlowTree = callFlowTreeViewer.getTree(); callFlowTree.setHeaderVisible(true); callFlowTree.setLinesVisible(true); toolkit.paintBordersFor(callFlowTree); callFlowTreeViewer.addFilter(new TreeSearchFilter()); /** * Set a comparator to sort our columns, only sort the objects of type * */ callFlowTreeViewer.setComparator(new ViewerComparator() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#category(java.lang * .Object) */ @Override public int category(Object element) { // Set categories for our objects, only interrested in Service // flows for now. if (element instanceof ServiceFlow) return 1; return super.category(element); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; } if (e1 instanceof ServiceFlow && e2 instanceof ServiceFlow) { ServiceFlow eq1 = (ServiceFlow) e1; ServiceFlow eq2 = (ServiceFlow) e2; if (eq1.getName() != null && eq2.getName() != null) { return eq1.getName().compareTo(eq2.getName()); } } return 0; // Do not compare other types. // return super.compare(viewer, e1, e2); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#isSorterProperty(java * .lang.Object, java.lang.String) */ @Override public boolean isSorterProperty(Object element, String property) { return super.isSorterProperty(element, property); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#sort(org.eclipse.jface * .viewers.Viewer, java.lang.Object[]) */ @Override public void sort(Viewer viewer, Object[] elements) { super.sort(viewer, elements); } }); TreeViewerColumn treeViewerColumnIndex = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnIndex = treeViewerColumnIndex.getColumn(); treeColumnLayout.setColumnData(trclmnIndex, new ColumnPixelData(107, true, true)); trclmnIndex.setText("Index"); treeViewerColumnName = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnName = treeViewerColumnName.getColumn(); treeColumnLayout.setColumnData(trclmnName, new ColumnPixelData(107, true, true)); trclmnName.setText("Name"); treeViewerColumnLink = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnLink = treeViewerColumnLink.getColumn(); treeColumnLayout.setColumnData(trclmnLink, new ColumnPixelData(100, true, true)); trclmnLink.setText("Link"); treeViewerColumnA = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnA = treeViewerColumnA.getColumn(); treeColumnLayout.setColumnData(trclmnA, new ColumnPixelData(100, true, true)); trclmnA.setText("A"); treeViewerColumnDirection = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnDirection = treeViewerColumnDirection.getColumn(); treeColumnLayout.setColumnData(trclmnDirection, new ColumnPixelData(100, true, true)); trclmnDirection.setText("Direction"); treeViewerColumnB = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnB = treeViewerColumnB.getColumn(); treeColumnLayout.setColumnData(trclmnB, new ColumnPixelData(100, true, true)); trclmnB.setText("B"); treeViewerColumnProtocol = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnProtocol = treeViewerColumnProtocol.getColumn(); treeColumnLayout.setColumnData(trclmnProtocol, new ColumnPixelData(150, true, true)); trclmnProtocol.setText("Protocol"); treeViewerColumnMessage = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE); TreeColumn trclmnMessage = treeViewerColumnMessage.getColumn(); treeColumnLayout.setColumnData(trclmnMessage, new ColumnPixelData(100, true, true)); trclmnMessage.setText("Message"); }
From source file:com.netxforge.netxstudio.screens.f4.MappingStatistics.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); ObservableListTreeContentProvider treeContentProvider = new ObservableListTreeContentProvider( new IObservableFactory() { private IEMFListProperty subStatisticsObservableProperty = EMFEditProperties.list( editingService.getEditingDomain(), MetricsPackage.Literals.MAPPING_STATISTIC__SUB_STATISTICS); public IObservable createObservable(Object target) { IObservable ol = null; if (target instanceof IObservableList) { ol = (IObservable) target; } else if (target instanceof MappingStatistic) { ol = subStatisticsObservableProperty.observe(target); }// ww w . ja v a2s. co m return ol; } }, new TreeStructureAdvisor() { @Override public Object getParent(Object element) { if (element instanceof EObject) { EObject eo = (EObject) element; if (eo.eContainer() != null) { return eo.eContainer(); } } return null; } @Override public Boolean hasChildren(Object element) { if (element instanceof MappingStatistic) { return ((MappingStatistic) element).getSubStatistics().size() > 0 ? Boolean.TRUE : null; } return super.hasChildren(element); } }); statisticsTreeViewer.setContentProvider(treeContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(treeContentProvider.getKnownElements(), new EStructuralFeature[] { MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE }); statisticsTreeViewer.setLabelProvider(new StatisticObservableMapLabelProvider(observeMaps)); // Cool, observer the whole resource. IEMFListProperty l = EMFProperties.list(MetricsPackage.Literals.METRIC_SOURCE__STATISTICS); IObservableList metricSourceObservableList = l.observe(metricSource); statisticsTreeViewer.setInput(metricSourceObservableList); /** * Set a comparator to sort our columns, only sort the objects of type * */ statisticsTreeViewer.setComparator(new ViewerComparator() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#category(java.lang * .Object) */ @Override public int category(Object element) { // Set categories for our objects, only interrested in Service // flows for now. if (element instanceof MappingStatistic) return 1; return super.category(element); } /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public int compare(Viewer viewer, Object e1, Object e2) { int cat1 = category(e1); int cat2 = category(e2); if (cat1 != cat2) { return cat1 - cat2; } if (e1 instanceof MappingStatistic && e2 instanceof MappingStatistic) { MappingStatistic ms1 = (MappingStatistic) e1; MappingStatistic ms2 = (MappingStatistic) e2; if (ms1.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION) && ms2.eIsSet(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION)) { return ms2.getMappingDuration().getBegin().compare(ms1.getMappingDuration().getBegin()); } } return 0; // Do not compare other types. // return super.compare(viewer, e1, e2); } }); final IObservableValue selectionObservable = ViewerProperties.singleSelection() .observe(statisticsTreeViewer); // Observables for a single selection. IObservableValue messageObservable = SWTObservables.observeText(this.txtMessage, SWT.None); IObservableValue totalRecordsObservable = SWTObservables.observeText(this.txtTotalRecords, SWT.None); IObservableValue startTimeObservable = SWTObservables.observeText(this.txtStartDateTime, SWT.None); IObservableValue endTimeObservable = SWTObservables.observeText(this.txtEndDateTime, SWT.None); IObservableValue metricStartTimeObservable = SWTObservables.observeText(this.txtMetricStartDateTime, SWT.None); IObservableValue metricEndTimeObservable = SWTObservables.observeText(this.txtMetricEndDateTime, SWT.None); IObservableValue totalExpectedValuesObservable = SWTObservables.observeText(this.txtTotalValues, SWT.None); IObservableValue totalFailedValuesObservable = SWTObservables.observeText(this.txtTotalFailedValues, SWT.None); IEMFValueProperty messageProperty = EMFProperties.value(MetricsPackage.Literals.MAPPING_STATISTIC__MESSAGE); final IEMFValueProperty totalRecordsProperty = EMFProperties .value(MetricsPackage.Literals.MAPPING_STATISTIC__TOTAL_RECORDS); IEMFValueProperty startDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty endDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__MAPPING_DURATION, GenericsPackage.Literals.DATE_TIME_RANGE__END)); IEMFValueProperty metricStartDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__BEGIN)); IEMFValueProperty metricEndDateTimeProperty = EMFProperties .value(FeaturePath.fromList(MetricsPackage.Literals.MAPPING_STATISTIC__PERIOD_ESTIMATE, GenericsPackage.Literals.DATE_TIME_RANGE__END)); ComputedValue computedTotalExpectedValue = new ComputedValue() { @Override protected Object calculate() { Object value = totalRecordsProperty.observeDetail(selectionObservable).getValue(); if (value instanceof Integer) { return new Integer(StudioUtils.metricsInMetricSource(metricSource).size() * (Integer) value) .toString(); } return 0; } }; ComputedValue computedTotalFailedValue = new ComputedValue() { @Override protected Object calculate() { Object selectedObject = selectionObservable.getValue(); // recursively compute for sub-statistics. if (selectedObject instanceof MappingStatistic) { return new Integer(StudioUtils.mappingFailedCount((MappingStatistic) selectedObject)) .toString(); } return 0; } }; EMFUpdateValueStrategy modelToTargetStrategy = new EMFUpdateValueStrategy(); modelToTargetStrategy.setConverter(new ModelDateConverter()); bindingContext.bindValue(messageObservable, messageProperty.observeDetail(selectionObservable)); bindingContext.bindValue(totalRecordsObservable, totalRecordsProperty.observeDetail(selectionObservable)); bindingContext.bindValue(startTimeObservable, startDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(endTimeObservable, endDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricStartTimeObservable, metricStartDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(metricEndTimeObservable, metricEndDateTimeProperty.observeDetail(selectionObservable), null, modelToTargetStrategy); bindingContext.bindValue(totalExpectedValuesObservable, computedTotalExpectedValue); bindingContext.bindValue(totalFailedValuesObservable, computedTotalFailedValue); // bindingContext.bindValue(totalExpectedValuesObservable, // computedTotalExpectedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); // // bindingContext.bindValue(totalFailedValuesObservable, // computedTotalFailedValue, new UpdateValueStrategy(false, // UpdateValueStrategy.POLICY_NEVER), null); ObservableListContentProvider recordsContentProvider = new ObservableListContentProvider(); tblViewerRecords.setContentProvider(recordsContentProvider); // IObservableMap[] recordsObserveMaps = EMFObservables.observeMaps( // listContentProvider.getKnownElements(), // new EStructuralFeature[] { // MetricsPackage.Literals.MAPPING_RECORD__ROW, // MetricsPackage.Literals.MAPPING_RECORD__COLUMN, // MetricsPackage.Literals.MAPPING_RECORD__MESSAGE, }); tblViewerRecords.setLabelProvider(new RecordsObservableMapLabelProvider()); IEMFListProperty recordsProperty = EMFProperties .list(MetricsPackage.Literals.MAPPING_STATISTIC__FAILED_RECORDS); tblViewerRecords.setInput(recordsProperty.observeDetail(selectionObservable)); return bindingContext; }
From source file:com.nokia.carbide.cdt.internal.api.builder.ui.MMPSelectionUI.java
License:Open Source License
private ViewerComparator getViewerComparator(int column) { switch (column) { case BUILD_ORDER_COLUMN: return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { FileInfo info1 = (FileInfo) e1; FileInfo info2 = (FileInfo) e2; return (info1.getOrdinal() - info2.getOrdinal()) * sortDirection; }/*from w w w . j a va2s. co m*/ }; case FILENAME_COLUMN: return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { FileInfo info1 = (FileInfo) e1; FileInfo info2 = (FileInfo) e2; return info1.getFileName().compareToIgnoreCase(info2.getFileName()) * sortDirection; } }; case LOCATION_COLUMN: return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { FileInfo info1 = (FileInfo) e1; FileInfo info2 = (FileInfo) e2; return info1.getLocation().compareToIgnoreCase(info2.getLocation()) * sortDirection; } }; } return null; }
From source file:com.nokia.cdt.internal.debug.launch.ui.ChooseProcessDialog.java
License:Open Source License
private ViewerComparator getViewerComparator(int column) { switch (column) { case PROCESS_NAME_COLUMN: return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { String p1 = ((ParsedProcess) e1).getProcessName(); String p2 = ((ParsedProcess) e2).getProcessName(); if (p1 == null || p2 == null) return 0; return p1.compareToIgnoreCase(p2) * sortDirection; }/*ww w.j av a 2s. c o m*/ }; case PROCESS_ID_COLUMN: return new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { String p1 = ((ParsedProcess) e1).getProcessId(); String p2 = ((ParsedProcess) e2).getProcessId(); int i1 = 0; int i2 = 0; try { i1 = Integer.parseInt(p1); i2 = Integer.parseInt(p2); } catch (Exception e) { // ignore, just return 0 } return (i1 - i2) * sortDirection; } }; } return null; }
From source file:com.nokia.cdt.internal.debug.launch.ui.ExecutablesBlock.java
License:Open Source License
/** * Creates this block's control in the given control. * //from ww w .j av a 2 s. c om * @param ancestor * containing control */ public void createControl(Composite comp) { fControl = comp; GridData data; Table table = new Table(comp, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); data = new GridData(GridData.FILL, GridData.FILL, true, true, 1, 1); data.horizontalIndent = 10; table.setLayoutData(data); table.setHeaderVisible(false); table.setLinesVisible(false); table.setToolTipText(Messages.getString("ExecutablesTab.TableToolTip")); //$NON-NLS-1$ TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); fExeFileList = new CheckboxTableViewer(table); fExeFileList.setLabelProvider(new ExeFilesLabelProvider()); fExeFileList.setContentProvider(new ArrayContentProvider()); // listen to checks fExeFileList.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent e) { ExeFileToDebug file = (ExeFileToDebug) e.getElement(); if (file == fMainExecutable) { fExeFileList.setChecked(file, true); } else { file.setEnabled(e.getChecked()); } if (fExeFileList.getCheckedElements().length == 0) fExeFileList.setChecked(fExeFiles.get(0), true); fLaunchTab.dataChanged(); } }); // listen to double clicks fExeFileList.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { IStructuredSelection selection = (IStructuredSelection) e.getSelection(); for (Iterator iterator = selection.iterator(); iterator.hasNext();) { ExeFileToDebug file = (ExeFileToDebug) iterator.next(); if (file != fMainExecutable) { fExeFileList.setChecked(file, !fExeFileList.getChecked(file)); } } if (fExeFileList.getCheckedElements().length == 0) fExeFileList.setChecked(fExeFiles.get(0), true); fLaunchTab.dataChanged(); } }); fExeFileList.setComparator(new ViewerComparator()); }