List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS
int ALL_LEVELS
To view the source code for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.
Click Source Link
From source file:ext.org.eclipse.jdt.internal.ui.text.JavaOutlineInformationControl.java
License:Open Source License
/** * {@inheritDoc}// w w w . ja va 2s.c o m */ @Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight() * 12; tree.setLayoutData(gd); final TreeViewer treeViewer = new OutlineTreeViewer(tree); // Hard-coded filters treeViewer.addFilter(new NamePatternFilter()); treeViewer.addFilter(new MemberFilter()); fInnerLabelProvider = new OutlineLabelProvider(); fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null)); IDecoratorManager decoratorMgr = PlatformUI.getWorkbench().getDecoratorManager(); if (decoratorMgr.getEnabled("org.eclipse.jdt.ui.override.decorator")) //$NON-NLS-1$ fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null)); treeViewer.setLabelProvider(new ColoringLabelProvider(fInnerLabelProvider)); fLexicalSortingAction = new LexicalSortingAction(treeViewer); fSortByDefiningTypeAction = new SortByDefiningTypeAction(treeViewer); fShowOnlyMainTypeAction = new ShowOnlyMainTypeAction(treeViewer); fCategoryFilterActionGroup = new CategoryFilterActionGroup(treeViewer, getId(), getInputForCategories()); fOutlineContentProvider = new OutlineContentProvider(false); treeViewer.setContentProvider(fOutlineContentProvider); fOutlineSorter = new OutlineSorter(); treeViewer.setComparator(fOutlineSorter); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); treeViewer.getTree().addKeyListener(getKeyAdapter()); return treeViewer; }
From source file:ext.org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControl.java
License:Open Source License
@Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight() * 12; tree.setLayoutData(gd);//from w w w. j av a2s. co m TreeViewer treeViewer = new TreeViewer(tree); treeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return element instanceof IType; } }); fLifeCycle = new TypeHierarchyLifeCycle(false); treeViewer.setComparator(new HierarchyViewerSorter(fLifeCycle)); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); fLabelProvider = new HierarchyLabelProvider(fLifeCycle); fLabelProvider.setFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return hasFocusMethod((IType) element); } }); fLabelProvider.setTextFlags(JavaElementLabels.ALL_DEFAULT | JavaElementLabels.T_POST_QUALIFIED | JavaElementLabels.P_COMPRESSED); fLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null)); treeViewer.setLabelProvider(new ColoringLabelProvider(fLabelProvider)); treeViewer.getTree().addKeyListener(getKeyAdapter()); return treeViewer; }
From source file:fr.inria.linuxtools.internal.tmf.ui.parsers.wizards.CustomXmlParserInputWizardPage.java
License:Open Source License
private void createButtonBar() { Composite buttonBar = new Composite(container, SWT.NONE); GridLayout buttonBarLayout = new GridLayout(6, false); buttonBarLayout.marginHeight = 0;//w ww.j a v a2 s .com buttonBarLayout.marginWidth = 0; buttonBar.setLayout(buttonBarLayout); removeButton = new Button(buttonBar, SWT.PUSH); removeButton.setImage(DELETE_IMAGE); removeButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_removeElement); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (treeViewer.getSelection().isEmpty() || selectedElement == null) { return; } removeElement(); InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()) .getFirstElement(); if (inputElement == definition.rootInputElement) { definition.rootInputElement = null; } else { inputElement.parentElement.childElements.remove(inputElement); } treeViewer.refresh(); validate(); updatePreviews(); removeButton.setEnabled(false); if (definition.rootInputElement == null) { addChildButton.setEnabled(true); addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addDocumentEleemnt); } else { addChildButton.setEnabled(false); } addNextButton.setEnabled(false); moveUpButton.setEnabled(false); moveDownButton.setEnabled(false); } }); addChildButton = new Button(buttonBar, SWT.PUSH); addChildButton.setImage(ADD_CHILD_IMAGE); addChildButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addChildElement); addChildButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputElement inputElement = new InputElement("", false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", //$NON-NLS-1$//$NON-NLS-2$ null); if (definition.rootInputElement == null) { definition.rootInputElement = inputElement; inputElement.elementName = getChildNameSuggestion(null); } else if (treeViewer.getSelection().isEmpty()) { return; } else { InputElement parentInputElement = (InputElement) ((IStructuredSelection) treeViewer .getSelection()).getFirstElement(); parentInputElement.addChild(inputElement); inputElement.elementName = getChildNameSuggestion(parentInputElement); } treeViewer.refresh(); treeViewer.setSelection(new StructuredSelection(inputElement), true); } }); addNextButton = new Button(buttonBar, SWT.PUSH); addNextButton.setImage(ADD_NEXT_IMAGE); addNextButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_addNextElement); addNextButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputElement inputElement = new InputElement("", false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", //$NON-NLS-1$//$NON-NLS-2$ null); if (definition.rootInputElement == null) { definition.rootInputElement = inputElement; inputElement.elementName = getChildNameSuggestion(null); } else if (treeViewer.getSelection().isEmpty()) { return; } else { InputElement previousInputElement = (InputElement) ((IStructuredSelection) treeViewer .getSelection()).getFirstElement(); if (previousInputElement == definition.rootInputElement) { return; } previousInputElement.addNext(inputElement); inputElement.elementName = getChildNameSuggestion(inputElement.parentElement); } treeViewer.refresh(); treeViewer.setSelection(new StructuredSelection(inputElement), true); } }); Button feelingLuckyButton = new Button(buttonBar, SWT.PUSH); feelingLuckyButton.setImage(ADD_MANY_IMAGE); feelingLuckyButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_feelingLucky); feelingLuckyButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { InputElement inputElement = null; if (definition.rootInputElement == null) { if (getChildNameSuggestion(null).length() != 0) { inputElement = new InputElement(getChildNameSuggestion(null), false, CustomXmlTraceDefinition.TAG_IGNORE, 0, "", null); //$NON-NLS-1$ definition.rootInputElement = inputElement; feelingLucky(inputElement); } else { return; } } else if (treeViewer.getSelection().isEmpty()) { return; } else { inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()) .getFirstElement(); feelingLucky(inputElement); } treeViewer.refresh(); treeViewer.setSelection(new StructuredSelection(inputElement), true); treeViewer.expandToLevel(inputElement, AbstractTreeViewer.ALL_LEVELS); } }); moveUpButton = new Button(buttonBar, SWT.PUSH); moveUpButton.setImage(MOVE_UP_IMAGE); moveUpButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_moveUp); moveUpButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (treeViewer.getSelection().isEmpty()) { return; } InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()) .getFirstElement(); if (inputElement == definition.rootInputElement) { return; } inputElement.moveUp(); treeViewer.refresh(); validate(); updatePreviews(); } }); moveDownButton = new Button(buttonBar, SWT.PUSH); moveDownButton.setImage(MOVE_DOWN_IMAGE); moveDownButton.setToolTipText(Messages.CustomXmlParserInputWizardPage_moveDown); moveDownButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (treeViewer.getSelection().isEmpty()) { return; } InputElement inputElement = (InputElement) ((IStructuredSelection) treeViewer.getSelection()) .getFirstElement(); if (inputElement == definition.rootInputElement) { return; } inputElement.moveDown(); treeViewer.refresh(); validate(); updatePreviews(); } }); }
From source file:fr.inria.linuxtools.tmf.ui.viewers.tree.AbstractTmfTreeViewer.java
License:Open Source License
/** * Constructor//from w w w . jav a 2 s .c om * * @param parent * The parent composite that holds this viewer * @param allowMultiSelect * Whether multiple selections are allowed */ public AbstractTmfTreeViewer(Composite parent, boolean allowMultiSelect) { super(parent); int flags = SWT.FULL_SELECTION | SWT.H_SCROLL; if (allowMultiSelect) { flags |= SWT.MULTI; } /* Build the tree viewer part of the view */ fTreeViewer = new TreeViewer(parent, flags); fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); final Tree tree = fTreeViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); fTreeViewer.setContentProvider(new TreeContentProvider()); fTreeViewer.setLabelProvider(new TreeLabelProvider()); List<TmfTreeColumnData> columns = getColumnDataProvider().getColumnData(); this.setTreeColumns(columns); }
From source file:fr.inria.linuxtools.tmf.ui.views.statesystem.TmfStateSystemViewer.java
License:Open Source License
/** * Set the filter status of the viewer. By default, all entries of all state * system are present, and the values that changed since last refresh are * shown in yellow. When the filter status is true, only the entries with * values modified at current time are displayed. *///from w w w.jav a 2 s .c o m public void changeFilterStatus() { fFilterStatus = !fFilterStatus; if (fFilterStatus) { getTreeViewer().setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); } else { getTreeViewer().setAutoExpandLevel(DEFAULT_AUTOEXPAND); clearContent(); } updateContent(getSelectionBeginTime(), getSelectionEndTime(), true); }
From source file:fr.inria.linuxtools.tmf.ui.widgets.timegraph.TimeGraphCombo.java
License:Open Source License
/** * Constructs a new instance of this class given its parent and a style * value describing its behavior and appearance. * * @param parent/* w ww. j a v a 2 s . c o m*/ * a widget which will be the parent of the new instance (cannot * be null) * @param style * the style of widget to construct * @param weights * The relative weights of each side of the sash form * @since 2.1 */ public TimeGraphCombo(Composite parent, int style, int[] weights) { super(parent, style); setLayout(new FillLayout()); final SashForm sash = new SashForm(this, SWT.NONE); fTreeViewer = new TreeViewer(sash, SWT.FULL_SELECTION | SWT.H_SCROLL); fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); final Tree tree = fTreeViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); fTimeGraphViewer = new TimeGraphViewer(sash, SWT.NONE); fTimeGraphViewer.setItemHeight(getItemHeight(tree)); fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight()); fTimeGraphViewer.setBorderWidth(tree.getBorderWidth()); fTimeGraphViewer.setNameWidthPref(0); fFilter = new RawViewerFilter(); addFilter(fFilter); fFilterDialog = new TimeGraphFilterDialog(getShell()); // Feature in Windows. The tree vertical bar reappears when // the control is resized so we need to hide it again. // Bug in Linux. The tree header height is 0 in constructor, // so we need to reset it later when the control is resized. tree.addControlListener(new ControlAdapter() { private int depth = 0; @Override public void controlResized(ControlEvent e) { if (depth == 0) { depth++; tree.getVerticalBar().setEnabled(false); // this can trigger controlResized recursively tree.getVerticalBar().setVisible(false); depth--; } fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight()); } }); // TODO propose patch // double click @Framesoc fTreeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); ITimeGraphEntry node = (ITimeGraphEntry) selection.getFirstElement(); if (node.hasChildren()) { boolean expanded = fTreeViewer.getExpandedState(node); fTreeViewer.setExpandedState(node, !expanded); if (expanded) { collapseTimeGraphTree(node); } else { expandTimeGraphTree(node); } } } }); // ensure synchronization of expanded items between tree and time graph fTreeViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeCollapsed(TreeExpansionEvent event) { fTimeGraphViewer.setExpandedState((ITimeGraphEntry) event.getElement(), false); // @Framesoc collapseTimeGraphTree((ITimeGraphEntry) event.getElement()); } @Override public void treeExpanded(TreeExpansionEvent event) { ITimeGraphEntry entry = (ITimeGraphEntry) event.getElement(); // @Framesoc expandTimeGraphTree(entry); } }); // ensure synchronization of expanded items between tree and time graph fTimeGraphViewer.addTreeListener(new ITimeGraphTreeListener() { @Override public void treeCollapsed(TimeGraphTreeExpansionEvent event) { fTreeViewer.setExpandedState(event.getEntry(), false); alignTreeItems(true); } @Override public void treeExpanded(TimeGraphTreeExpansionEvent event) { ITimeGraphEntry entry = event.getEntry(); fTreeViewer.setExpandedState(entry, true); Set<Object> expandedElements = new HashSet<>(Arrays.asList(fTreeViewer.getExpandedElements())); for (ITimeGraphEntry child : entry.getChildren()) { if (child.hasChildren()) { boolean expanded = expandedElements.contains(child); fTimeGraphViewer.setExpandedState(child, expanded); } } alignTreeItems(true); } }); // prevent mouse button from selecting a filler tree item tree.addListener(SWT.MouseDown, new Listener() { @Override public void handleEvent(Event event) { TreeItem treeItem = tree.getItem(new Point(event.x, event.y)); if (treeItem == null || treeItem.getData() == FILLER) { event.doit = false; List<TreeItem> treeItems = getVisibleExpandedItems(tree, false); if (treeItems.size() == 0) { fTreeViewer.setSelection(new StructuredSelection()); fTimeGraphViewer.setSelection(null); return; } // this prevents from scrolling up when selecting // the partially visible tree item at the bottom tree.select(treeItems.get(treeItems.size() - 1)); fTreeViewer.setSelection(new StructuredSelection()); fTimeGraphViewer.setSelection(null); } } }); // prevent mouse wheel from scrolling down into filler tree items tree.addListener(SWT.MouseWheel, new Listener() { @Override public void handleEvent(Event event) { event.doit = false; Slider scrollBar = fTimeGraphViewer.getVerticalBar(); fTimeGraphViewer.setTopIndex(scrollBar.getSelection() - event.count); alignTreeItems(false); } }); // prevent key stroke from selecting a filler tree item tree.addListener(SWT.KeyDown, new Listener() { @Override public void handleEvent(Event event) { List<TreeItem> treeItems = getVisibleExpandedItems(tree, false); if (treeItems.size() == 0) { fTreeViewer.setSelection(new StructuredSelection()); event.doit = false; return; } if (event.keyCode == SWT.ARROW_DOWN) { int index = Math.min(fTimeGraphViewer.getSelectionIndex() + 1, treeItems.size() - 1); fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData()); event.doit = false; } else if (event.keyCode == SWT.PAGE_DOWN) { int height = tree.getSize().y - tree.getHeaderHeight() - tree.getHorizontalBar().getSize().y; int countPerPage = height / getItemHeight(tree); int index = Math.min(fTimeGraphViewer.getSelectionIndex() + countPerPage - 1, treeItems.size() - 1); fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData()); event.doit = false; } else if (event.keyCode == SWT.END) { fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(treeItems.size() - 1).getData()); event.doit = false; } if (fTimeGraphViewer.getSelectionIndex() >= 0) { fTreeViewer.setSelection(new StructuredSelection(fTimeGraphViewer.getSelection())); } else { fTreeViewer.setSelection(new StructuredSelection()); } alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getTimeGraphControl().addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { alignTreeItems(false); } }); // ensure synchronization of selected item between tree and time graph fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (fInhibitTreeSelection) { return; } if (event.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (selection instanceof ITimeGraphEntry) { fTimeGraphViewer.setSelection((ITimeGraphEntry) selection); } alignTreeItems(false); } } }); // ensure synchronization of selected item between tree and time graph fTimeGraphViewer.addSelectionListener(new ITimeGraphSelectionListener() { @Override public void selectionChanged(TimeGraphSelectionEvent event) { ITimeGraphEntry entry = fTimeGraphViewer.getSelection(); fInhibitTreeSelection = true; // block the tree selection // changed listener if (entry != null) { StructuredSelection selection = new StructuredSelection(entry); fTreeViewer.setSelection(selection); } else { fTreeViewer.setSelection(new StructuredSelection()); } fInhibitTreeSelection = false; alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getVerticalBar().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getTimeGraphControl().addMouseWheelListener(new MouseWheelListener() { @Override public void mouseScrolled(MouseEvent e) { alignTreeItems(false); } }); // ensure the tree has focus control when mouse is over it if the time // graph had control fTreeViewer.getControl().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTimeGraphViewer.getTimeGraphControl().isFocusControl()) { fTreeViewer.getControl().setFocus(); } } }); // ensure the time graph has focus control when mouse is over it if the // tree had control fTimeGraphViewer.getTimeGraphControl().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTreeViewer.getControl().isFocusControl()) { fTimeGraphViewer.getTimeGraphControl().setFocus(); } } }); fTimeGraphViewer.getTimeGraphScale().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTreeViewer.getControl().isFocusControl()) { fTimeGraphViewer.getTimeGraphControl().setFocus(); } } }); // The filler rows are required to ensure alignment when the tree does // not have a // visible horizontal scroll bar. The tree does not allow its top item // to be set // to a value that would cause blank space to be drawn at the bottom of // the tree. fNumFillerRows = Display.getDefault().getBounds().height / getItemHeight(tree); sash.setWeights(weights); }
From source file:fr.inria.soctrace.tools.ocelotl.microdesc.ui.DistributionBaseView.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite all = (Composite) super.createDialogArea(parent); final SashForm sashFormGlobal = new SashForm(all, SWT.VERTICAL); sashFormGlobal.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); sashFormGlobal.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); TabFolder tabFolder = new TabFolder(sashFormGlobal, SWT.NONE); TabItem tbtmNewItem = new TabItem(tabFolder, SWT.NONE); tbtmNewItem.setText("Event Types"); final Group groupEventTypes = new Group(tabFolder, SWT.NONE); tbtmNewItem.setControl(groupEventTypes); groupEventTypes.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); groupEventTypes.setText("Set Event Types"); final GridLayout gl_groupEventTypes = new GridLayout(2, false); gl_groupEventTypes.horizontalSpacing = 0; groupEventTypes.setLayout(gl_groupEventTypes); listViewerEventTypes = new ListViewer(groupEventTypes, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); listViewerEventTypes.setContentProvider(new ArrayContentProvider()); listViewerEventTypes.setLabelProvider(new EventTypeLabelProvider()); listViewerEventTypes.setComparator(new ViewerComparator()); final List listEventTypes = listViewerEventTypes.getList(); listEventTypes.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); listEventTypes.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); final ScrolledComposite scrCompositeEventTypeButtons = new ScrolledComposite(groupEventTypes, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrCompositeEventTypeButtons.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); scrCompositeEventTypeButtons.setExpandHorizontal(true); scrCompositeEventTypeButtons.setExpandVertical(true); final Composite compositeEventTypeButtons = new Composite(scrCompositeEventTypeButtons, SWT.NONE); compositeEventTypeButtons.setLayout(new GridLayout(1, false)); final Button btnAddEventTypes = new Button(compositeEventTypeButtons, SWT.NONE); btnAddEventTypes.setText("Add"); btnAddEventTypes.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnAddEventTypes.setImage(null);//from w ww. ja va2s . co m btnAddEventTypes.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnAddEventTypes.addSelectionListener(new TypesSelectionAdapter()); final Button btnRemoveEventTypes = new Button(compositeEventTypeButtons, SWT.NONE); btnRemoveEventTypes.setText("Remove"); btnRemoveEventTypes.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnRemoveEventTypes.setImage(null); btnRemoveEventTypes.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); scrCompositeEventTypeButtons.setContent(compositeEventTypeButtons); scrCompositeEventTypeButtons.setMinSize(compositeEventTypeButtons.computeSize(SWT.DEFAULT, SWT.DEFAULT)); btnRemoveEventTypes.addSelectionListener(new RemoveSelectionAdapter(listViewerEventTypes)); Button btnResetEventTypes = new Button(compositeEventTypeButtons, SWT.NONE); btnResetEventTypes.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnResetEventTypes.setText("Reset"); btnResetEventTypes.addSelectionListener(new ResetSelectionAdapter(listViewerEventTypes)); btnResetEventTypes.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnResetEventTypes.setImage(null); // Tab event producers selection TabItem tbtmNewItem_2 = new TabItem(tabFolder, SWT.NONE); tbtmNewItem_2.setText("Event Producers"); final Group groupEventProducers = new Group(tabFolder, SWT.NONE); tbtmNewItem_2.setControl(groupEventProducers); groupEventProducers.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); groupEventProducers.setText("Event Producers"); groupEventProducers.setLayout(new GridLayout()); // Tree viewer treeViewerEventProducer = new CheckboxTreeViewer(groupEventProducers, SWT.BORDER | SWT.MULTI); treeViewerEventProducer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = convertWidthInCharsToPixels(60); data.heightHint = convertHeightInCharsToPixels(18); final Tree tree = treeViewerEventProducer.getTree(); tree.setLinesVisible(true); tree.setLayoutData(data); tree.setFont(parent.getFont()); treeViewerEventProducer.setContentProvider(new FilterTreeContentProvider()); treeViewerEventProducer.setLabelProvider(new SimpleEventProducerLabelProvider()); treeViewerEventProducer.expandAll(); treeViewerEventProducer.setComparator(new ViewerComparator()); treeViewerEventProducer.addCheckStateListener(new CheckStateListener()); treeViewerEventProducer.setComparator(new ViewerComparator(new Comparator<String>() { @Override public int compare(String o1, String o2) { return AlphanumComparator.compare(o1, o2); } })); // Buttons Composite buttonComposite = new Composite(groupEventProducers, SWT.RIGHT); GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.horizontalSpacing = convertHorizontalDLUsToPixels(5); buttonComposite.setLayout(layout); buttonComposite.setFont(groupEventProducers.getFont()); GridData data2 = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL); data2.grabExcessHorizontalSpace = true; buttonComposite.setLayoutData(data2); final Button btnCheckEventProducer = new Button(buttonComposite, SWT.NONE); btnCheckEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnCheckEventProducer.setText("Check"); btnCheckEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnCheckEventProducer.setImage(null); btnCheckEventProducer.addSelectionListener(new AddProducerNodeAdapter()); Button btnCheckAllEventProducer = new Button(buttonComposite, SWT.NONE); btnCheckAllEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); btnCheckAllEventProducer.setText("Check All"); btnCheckAllEventProducer.setImage(null); btnCheckAllEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnCheckAllEventProducer.addSelectionListener(new CheckAllEventProducersAdapter()); final Button btnAddResult = new Button(buttonComposite, SWT.NONE); btnAddResult.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnAddResult.setText("Add Result"); btnAddResult.setImage(null); btnAddResult.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnAddResult.addSelectionListener(new AddResultsEventProducersAdapter()); final Button btnUncheckEventProducer = new Button(buttonComposite, SWT.NONE); btnUncheckEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnUncheckEventProducer.setText("Uncheck"); btnUncheckEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnUncheckEventProducer.setImage(null); btnUncheckEventProducer.setImage(null); btnUncheckEventProducer.addSelectionListener(new UncheckEventProducerAdapter()); Button btnUncheckAllEventProducer = new Button(buttonComposite, SWT.NONE); btnUncheckAllEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnUncheckAllEventProducer.setText("Uncheck All"); btnUncheckAllEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnUncheckAllEventProducer.setImage(null); btnUncheckAllEventProducer.addSelectionListener(new UnCheckAllEventProducersAdapter()); Button btnCheckSubtreeEventProducer = new Button(buttonComposite, SWT.NONE); btnCheckSubtreeEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnCheckSubtreeEventProducer.setText("Check Subtree"); btnCheckSubtreeEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnCheckSubtreeEventProducer.setImage(null); btnCheckSubtreeEventProducer.addSelectionListener(new CheckSubtreeEventProducersAdapter()); Button btnUncheckSubtreeEventProducer = new Button(buttonComposite, SWT.NONE); btnUncheckSubtreeEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnUncheckSubtreeEventProducer.setText("Uncheck Subtree"); btnUncheckSubtreeEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnUncheckSubtreeEventProducer.setImage(null); btnUncheckSubtreeEventProducer.addSelectionListener(new UncheckSubtreeEventProducersAdapter()); Button btnAddEventProducer = new Button(buttonComposite, SWT.NONE); btnAddEventProducer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnAddEventProducer.setText("Add"); btnAddEventProducer.setFont(SWTResourceManager.getFont("Cantarell", 11, SWT.NORMAL)); btnAddEventProducer.setImage(null); btnAddEventProducer.addSelectionListener(new AddEventProducerAdapter()); layout.numColumns = 4; buttonComposite.setLayout(layout); sashFormGlobal.setWeights(new int[] { 1 }); initSettings(); return sashFormGlobal; }
From source file:fr.sanofi.fcl4transmart.model.classes.workUI.clinicalData.LoadDataUI.java
License:Open Source License
@Override public Composite createUI(Composite parent) { this.display = WorkPart.display(); Shell shell = new Shell(this.display); shell.setSize(50, 100);//w ww . j a va 2s . c o m GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; shell.setLayout(gridLayout); ProgressBar pb = new ProgressBar(shell, SWT.HORIZONTAL | SWT.INDETERMINATE); pb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label searching = new Label(shell, SWT.NONE); searching.setText("Searching..."); shell.open(); this.isSearching = true; new Thread() { public void run() { testTm_cz = RetrieveData.testTm_czConnection(); testTm_lz = RetrieveData.testTm_lzConnection(); root = new TreeNode("Dataset explorer", null, false); studyTree = new StudyTree(root); topNodeController = new TopNodeController(root, dataType, studyTree); root = topNodeController.buildTree(); topNode = dataType.getStudy().getTopNode(); isSearching = false; } }.start(); this.display = WorkPart.display(); while (this.isSearching) { if (!display.readAndDispatch()) { display.sleep(); } } shell.close(); Composite composite = new Composite(parent, SWT.NONE); GridLayout gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; composite.setLayout(gd); ScrolledComposite scroller = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL); scroller.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; scroller.setLayout(gd); Composite scrolledComposite = new Composite(scroller, SWT.NONE); scroller.setContent(scrolledComposite); GridLayout layout = new GridLayout(); layout.numColumns = 1; scrolledComposite.setLayout(layout); if (topNode != null && topNode.compareTo("") != 0) { viewer = new TreeViewer(scrolledComposite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new StudyContentProvider()); viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setInput(this.studyTree); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.heightHint = 300; gridData.widthHint = 250; this.viewer.getControl().setLayoutData(gridData); viewer.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return element.toString(); } @Override public Color getBackground(Object element) { if (((TreeNode) element).isStudyRoot()) { return new Color(Display.getCurrent(), 237, 91, 67); } if (((TreeNode) element).isLabel()) { return new Color(Display.getCurrent(), 212, 212, 212); } return null; } }); } else { Label label = new Label(scrolledComposite, SWT.NONE); label.setText("Please first choose a study node in the description data type"); } Button button = new Button(scrolledComposite, SWT.PUSH); button.setText("Load data"); if (topNode != null && topNode.compareTo("") != 0) { if (this.testTm_cz && this.testTm_lz) { button.addListener(SWT.Selection, new LoadClinicalDataListener(this, this.dataType)); Label dbLabel = new Label(scrolledComposite, SWT.NONE); dbLabel.setText("You are connected to database '" + PreferencesHandler.getDb() + "'"); } else { button.setEnabled(false); Label warn = new Label(scrolledComposite, SWT.NONE); warn.setText("Warning: connection to database is not possible"); } } else { button.setEnabled(false); } scrolledComposite.setSize(scrolledComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); return composite; }
From source file:fr.sanofi.fcl4transmart.model.classes.workUI.clinicalData.SetStudyTreeUI.java
License:Open Source License
@Override public Composite createUI(Composite parent) { Shell shell = new Shell(); shell.setSize(50, 100);/*from w w w . java2s. c o m*/ GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; shell.setLayout(gridLayout); ProgressBar pb = new ProgressBar(shell, SWT.HORIZONTAL | SWT.INDETERMINATE); pb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label searching = new Label(shell, SWT.NONE); searching.setText("Searching..."); shell.open(); this.isSearching = true; new Thread() { public void run() { root = new TreeNode(dataType.getStudy().toString(), null, false); studyTree = new StudyTree(root); if (((ClinicalData) dataType).getCMF() != null) { root = new StudyTreeController(root, dataType).buildTree(((ClinicalData) dataType).getCMF()); } isSearching = false; } }.start(); Display display = WorkPart.display(); while (this.isSearching) { if (!display.readAndDispatch()) { display.sleep(); } } shell.close(); Composite composite = new Composite(parent, SWT.NONE); GridLayout gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; composite.setLayout(gd); ScrolledComposite scroller = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL); scroller.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; Composite scrolledComposite = new Composite(scroller, SWT.NONE); scroller.setContent(scrolledComposite); GridLayout layout = new GridLayout(); layout.numColumns = 1; scrolledComposite.setLayout(layout); Composite body = new Composite(scrolledComposite, SWT.NONE); body.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 2; body.setLayout(gd); viewer = new TreeViewer(body, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new StudyContentProvider()); viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setInput(this.studyTree); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.heightHint = 300; gridData.widthHint = 250; this.viewer.getControl().setLayoutData(gridData); viewer.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return element.toString(); } @Override public Color getBackground(Object element) { if (((TreeNode) element).isLabel()) { return new Color(Display.getCurrent(), 212, 212, 212); } return null; } }); Composite leftPart = new Composite(body, SWT.NONE); leftPart.setLayout(new RowLayout(SWT.VERTICAL)); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; leftPart.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite newChildPart = new Composite(leftPart, SWT.NONE); gd = new GridLayout(); gd.numColumns = 2; newChildPart.setLayout(gd); Label newChildLabel = new Label(newChildPart, SWT.NONE); newChildLabel.setText("Free text: "); this.newChildField = new Text(newChildPart, SWT.BORDER); gridData = new GridData(); gridData.widthHint = 100; this.newChildField.setLayoutData(gridData); Button addChild = new Button(leftPart, SWT.PUSH); addChild.setText("Add free text"); addChild.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); TreeNode node; if (selection.iterator().hasNext()) { node = (TreeNode) selection.iterator().next(); } else { displayMessage("Select a node first"); return; } if (selection.size() > 1) { displayMessage("Several nodes selected"); return; } if (node.isLabel()) { displayMessage("It is not possible to add a node to a label"); return; } if (newChildField.getText().compareTo("") == 0) { displayMessage("Node name is empty"); return; } if (node.getChild(newChildField.getText()) != null) { displayMessage("This node already exists"); } node.addChild(new TreeNode(newChildField.getText(), node, false)); viewer.setExpandedState(node, true); viewer.refresh(); } }); Composite newLabelPart = new Composite(leftPart, SWT.NONE); gd = new GridLayout(); gd.numColumns = 2; newLabelPart.setLayout(gd); //Label newLabelLabel=new Label(newLabelPart, SWT.NONE); //newLabelLabel.setText("Choose a property"); /*this.newLabelField=new Combo(newLabelPart, SWT.DROP_DOWN | SWT.BORDER | SWT.WRAP); this.newLabelField.addListener(SWT.KeyDown, new Listener(){ public void handleEvent(Event event) { event.doit = false; } }); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; this.newLabelField.setLayoutData(gridData); for(File file: ((ClinicalData)this.dataType).getRawFiles()){ for(String s: FileHandler.getHeaders(file)){ this.newLabelField.add(file.getName()+" - "+s); } }*/ this.labels = new Vector<String>(); for (File file : ((ClinicalData) this.dataType).getRawFiles()) { for (String s : FileHandler.getHeaders(file)) { labels.add(file.getName() + " - " + s); } } this.listViewer = new ListViewer(newLabelPart, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); this.listViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); this.listViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { @SuppressWarnings("rawtypes") Vector v = (Vector) inputElement; return v.toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); this.listViewer.setInput(labels); Button addLabel = new Button(leftPart, SWT.PUSH); addLabel.setText("Add selected properties"); addLabel.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { String[] selected = listViewer.getList().getSelection(); IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); TreeNode node; if (selection.iterator().hasNext()) { node = (TreeNode) selection.iterator().next(); } else { displayMessage("Select a node first"); return; } if (selection.size() > 1) { displayMessage("Several nodes selected"); return; } if (labels.size() < 1) { displayMessage("Choose at least a property"); return; } if (node.getParent() != null && node.getParent().getParent() != null && node.getParent().isLabel()) { displayMessage("This node parent is already a property"); return; } for (int i = 0; i < selected.length; i++) { if (node.getChild(selected[i]) != null) { displayMessage("The property '" + selected[i] + "' already exists"); return; } } for (int i = 0; i < selected.length; i++) { node.addChild(new TreeNode(selected[i], node, true)); } viewer.setExpandedState(node, true); viewer.refresh(); } }); Label spacer = new Label(leftPart, SWT.NONE); Button remove = new Button(leftPart, SWT.PUSH); remove.setText("Remove selected items"); remove.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Vector<TreeNode> nodes = new Vector<TreeNode>(); Iterator it = selection.iterator(); while (it.hasNext()) { nodes.add((TreeNode) it.next()); } if (nodes.size() < 1) { displayMessage("Select a node first"); return; } for (TreeNode node : nodes) { if (node.getParent() == null) { displayMessage("You can not remove the root of the study"); return; } } for (TreeNode node : nodes) { node.getParent().removeChild(node); } viewer.refresh(); } }); Button ok = new Button(scrolledComposite, SWT.PUSH); ok.setText("OK"); ok.addListener(SWT.Selection, new SetStudyTreeListener(this, this.dataType)); scrolledComposite.setSize(scrolledComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); return composite; }
From source file:fr.sanofi.fcl4transmart.model.classes.workUI.description.SetTopNodeUI.java
License:Open Source License
@Override public Composite createUI(Composite parent) { Shell shell = new Shell(); shell.setSize(50, 100);//from w w w .j a v a 2 s .com GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; shell.setLayout(gridLayout); ProgressBar pb = new ProgressBar(shell, SWT.HORIZONTAL | SWT.INDETERMINATE); pb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label searching = new Label(shell, SWT.NONE); searching.setText("Searching..."); shell.open(); this.isSearching = true; new Thread() { public void run() { testDemodata = RetrieveData.testDemodataConnection(); testMetadata = RetrieveData.testMetadataConnection(); root = new TreeNode("Dataset explorer", null, false); studyTree = new StudyTree(root); controller = new TopNodeController(root, dataType, studyTree); root = controller.buildTree(); isSearching = false; } }.start(); Display display = WorkPart.display(); while (this.isSearching) { if (!display.readAndDispatch()) { display.sleep(); } } shell.close(); Composite composite = new Composite(parent, SWT.NONE); GridLayout gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; composite.setLayout(gd); ScrolledComposite scroller = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL); scroller.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; Composite scrolledComposite = new Composite(scroller, SWT.NONE); scroller.setContent(scrolledComposite); GridLayout layout = new GridLayout(); layout.numColumns = 1; scrolledComposite.setLayout(layout); Composite body = new Composite(scrolledComposite, SWT.NONE); body.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 2; body.setLayout(gd); viewer = new TreeViewer(body, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new StudyContentProvider()); viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setInput(this.studyTree); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.heightHint = 300; gridData.widthHint = 300; this.viewer.getControl().setLayoutData(gridData); viewer.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return element.toString(); } @Override public Color getBackground(Object element) { if (((TreeNode) element).isStudyRoot()) { return new Color(Display.getCurrent(), 237, 91, 67); } if (((TreeNode) element).isLabel()) { return new Color(Display.getCurrent(), 212, 212, 212); } return null; } }); Composite leftPart = new Composite(body, SWT.NONE); leftPart.setLayout(new RowLayout(SWT.VERTICAL)); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; leftPart.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite newChildPart = new Composite(leftPart, SWT.NONE); gd = new GridLayout(); gd.numColumns = 2; newChildPart.setLayout(gd); Label newChildLabel = new Label(newChildPart, SWT.NONE); newChildLabel.setText("Free text: "); this.newTextField = new Text(newChildPart, SWT.BORDER); gridData = new GridData(); gridData.widthHint = 100; this.newTextField.setLayoutData(gridData); Button addChild = new Button(leftPart, SWT.PUSH); addChild.setText("Add free text"); addChild.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); TreeNode node; if (selection.iterator().hasNext()) { node = (TreeNode) selection.iterator().next(); } else { displayMessage("Select a node first"); return; } if (node.isLabel()) { displayMessage("It is not possible to add a node to a study"); return; } if (newTextField.getText().compareTo("") == 0) { displayMessage("Node name is empty"); return; } if (node.getChild(newTextField.getText()) != null) { displayMessage("This node already exists"); } node.addChild(new TreeNode(newTextField.getText(), node, false)); viewer.setExpandedState(node, true); viewer.refresh(); } }); Composite newLabelPart = new Composite(leftPart, SWT.NONE); gd = new GridLayout(); gd.numColumns = 2; newLabelPart.setLayout(gd); Label newLabelLabel = new Label(newLabelPart, SWT.NONE); newLabelLabel.setText("Study title"); this.titleField = new Text(newLabelPart, SWT.BORDER); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.widthHint = 100; this.titleField.setLayoutData(gridData); Button addLabel = new Button(leftPart, SWT.PUSH); addLabel.setText("Add the study"); addLabel.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); TreeNode node; if (selection.iterator().hasNext()) { node = (TreeNode) selection.iterator().next(); } else { displayMessage("Select a node first"); return; } if (titleField.getText().compareTo("") == 0) { displayMessage("Choose a title"); return; } if (node.isLabel()) { displayMessage("This node is already a study"); return; } if (controller.getTopNode(root).compareTo("") != 0) { displayMessage("The study has already been added"); return; } TreeNode newNode = new TreeNode(titleField.getText(), node, true); newNode.setIsStudyTree(true); studyTree.setHasStudy(true); node.addChild(newNode); viewer.setExpandedState(node, true); viewer.refresh(); } }); Button remove = new Button(leftPart, SWT.PUSH); remove.setText("Remove a node"); remove.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); TreeNode node; if (selection.iterator().hasNext()) { node = (TreeNode) selection.iterator().next(); } else { displayMessage("Select a node first"); return; } if (node.isLabel() && !node.isStudyRoot()) { displayMessage("You can not remove another study"); return; } if (!checkRemoveNode(node)) { displayMessage("This node contains a study"); return; } if (node.getParent() == null) { displayMessage("You can not remove the root of the studies"); return; } node.getParent().removeChild(node); viewer.refresh(); } }); Button ok = new Button(scrolledComposite, SWT.PUSH); ok.setText("OK"); ok.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { controller.writeTopNode(); displayMessage("Top node has been saved"); } }); if (this.testDemodata && this.testMetadata) { Label dbLabel = new Label(scrolledComposite, SWT.NONE); dbLabel.setText("You are connected to database '" + PreferencesHandler.getDb() + "'"); } else { Label warn = new Label(scrolledComposite, SWT.NONE); warn.setText("Warning: connection to database is not possible"); ok.setEnabled(false); } scrolledComposite.setSize(scrolledComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); return composite; }