List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
From source file:com.bdaum.zoom.ui.internal.views.HierarchyView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new ViewContentProvider()); viewer.setLabelProvider(new ViewLabelProvider()); UiUtilities.installDoubleClickExpansion(viewer); getControl().addKeyListener(new KeyAdapter() { @Override//from w w w .ja v a 2 s . com public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = true; } @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = false; } }); viewer.addSelectionChangedListener(this); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), HelpContextIds.HIERARCHY_VIEW); // Drag & Drop viewer.addDropSupport(OPERATIONS, transferTypes, new ViewerDropAdapter(viewer) { @Override public void dragEnter(DropTargetEvent event) { super.dragEnter(event); UiActivator.getDefault().setDropTargetEffect(event, viewer.getControl()); } @Override public void dragLeave(DropTargetEvent event) { UiActivator.getDefault().hideDropTargetEffect(); super.dragLeave(event); } @Override public void dragOver(DropTargetEvent event) { super.dragOver(event); } @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { return (textTransfer.isSupportedType(transferType) && (operation & OPERATIONS) != 0); } @Override public boolean performDrop(Object data) { if (data instanceof String) { List<String> list = Core.fromStringList((String) data, "\n"); //$NON-NLS-1$ Object target = getCurrentTarget(); if (target == null && !list.isEmpty()) setInput(CoreActivator.getDefault().getDbManager().obtainAsset(list.get(0))); else if (target instanceof Node) { String[] ids = list.toArray(new String[list.size()]); String errorMsg = ((Node) target).acceptChildren(ids); if (errorMsg != null) { AcousticMessageDialog.openError(getSite().getShell(), Messages.getString("HierarchyView.drag_error"), errorMsg); //$NON-NLS-1$ return false; } } } return true; } }); // Listeners addKeyListener(); addGestureListener(viewer.getTree()); addExplanationListener(true); addPartListener(); addClipboard(viewer.getControl()); addDragSupport(); // Other actions makeActions(getViewSite().getActionBars()); installListeners(); hookContextMenu(); contributeToActionBars(); // Hover installHoveringController(); // Action state updateActions(false); }
From source file:com.binge.workforce.widgets.internal.ContainerSelectionGroup.java
License:Open Source License
/** * Returns a new drill down viewer for this dialog. * /*from ww w . j a va2s . co 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, imageService); 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); ContainerContentProvider cp = new ContainerContentProvider(); cp.showClosedProjects(showClosedProjects); treeViewer.setContentProvider(cp); //FIXME We need a WorkbenchLabelProvider replacement // 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:com.bluexml.side.Requirements.modeler.dialogs.PrivilegeDialog.java
License:Open Source License
private void createPrivilegeTab(Composite parent) { TabItem tab = new TabItem((TabFolder) parent, SWT.NONE); tab.setText("Privileges"); Composite composite = new Composite(parent, SWT.NONE); tab.setControl(composite);//from w w w .jav a2s. c o m composite.setLayout(new GridLayout(2, false)); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TreeViewer(composite, SWT.BORDER); viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.setContentProvider(new PrivilegeContentProvider()); viewer.setLabelProvider(new PrivilegeLabelProvider()); viewer.setInput(group); viewer.expandAll(); viewer.getTree().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { TreeItem ti = (TreeItem) e.item; //Refresh checkboxes createAccess.setSelection(false); createAccess.setEnabled(true); readAccess.setSelection(false); readAccess.setEnabled(true); updateAccess.setSelection(false); updateAccess.setEnabled(true); deleteAccess.setSelection(false); deleteAccess.setEnabled(true); if (!(ti.getData() instanceof Entity)) { createAccess.setEnabled(false); deleteAccess.setEnabled(false); } for (Privilege p : group.getPrivileges()) { if (p.getElement() != null && p.getElement().equals(ti.getData())) { if (p.getCategory().equals(PrivilegeNature.CREATE)) createAccess.setSelection(true); if (p.getCategory().equals(PrivilegeNature.READ)) readAccess.setSelection(true); if (p.getCategory().equals(PrivilegeNature.UPDATE)) updateAccess.setSelection(true); if (p.getCategory().equals(PrivilegeNature.DELETE)) deleteAccess.setSelection(true); } } } }); Composite rules = new Composite(composite, SWT.NONE); rules.setLayout(new GridLayout(1, false)); rules.setLayoutData(new GridData(GridData.FILL_BOTH)); createAccess = new Button(rules, SWT.CHECK); createAccess.setText("Create"); createAccess.setEnabled(false); createAccess.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean selected = ((Button) e.widget).getSelection(); BasicElement elt = (BasicElement) ((TreeSelection) viewer.getSelection()).getFirstElement(); if (selected) addPrivilege(elt, PrivilegeNature.CREATE); else deletePrivilege(elt, PrivilegeNature.CREATE); } }); readAccess = new Button(rules, SWT.CHECK); readAccess.setText("Read"); readAccess.setEnabled(false); readAccess.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean selected = ((Button) e.widget).getSelection(); BasicElement elt = (BasicElement) ((TreeSelection) viewer.getSelection()).getFirstElement(); //Feature to add new entity if (elt instanceof RelationShip && selected) { RelationShip r = (RelationShip) elt; Set<Entity> entities = ((PrivilegeContentProvider) viewer.getContentProvider()).entities; entities.add(r.getTarget()); entities.add(r.getSource()); viewer.refresh(); viewer.expandAll(); } if (selected) addPrivilege(elt, PrivilegeNature.READ); else deletePrivilege(elt, PrivilegeNature.READ); } }); updateAccess = new Button(rules, SWT.CHECK); updateAccess.setText("Update"); updateAccess.setEnabled(false); updateAccess.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean selected = ((Button) e.widget).getSelection(); BasicElement elt = (BasicElement) ((TreeSelection) viewer.getSelection()).getFirstElement(); if (selected) addPrivilege(elt, PrivilegeNature.UPDATE); else deletePrivilege(elt, PrivilegeNature.UPDATE); } }); deleteAccess = new Button(rules, SWT.CHECK); deleteAccess.setText("Delete"); deleteAccess.setEnabled(false); deleteAccess.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean selected = ((Button) e.widget).getSelection(); BasicElement elt = (BasicElement) ((TreeSelection) viewer.getSelection()).getFirstElement(); if (selected) addPrivilege(elt, PrivilegeNature.DELETE); else deletePrivilege(elt, PrivilegeNature.DELETE); } }); }
From source file:com.bluexml.side.requirements.transformation.actions.dialog.TransformModelDialog.java
License:Open Source License
private void createDialogContent(Composite parent) { viewer = new TreeViewer(parent, SWT.BORDER | SWT.CHECK); viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.setContentProvider(new InterpretationContentProvider()); viewer.setLabelProvider(new InterpretationLabelProvider()); viewer.setInput(this); viewer.expandAll();/*from w w w . j a va2 s .c o m*/ viewer.collapseAll(); viewer.getTree().addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { TreeItem item = (TreeItem) event.item; // Check all childrens like this item checkAll(item); // If we uncheck, we unckeck all parents if (item.getChecked() == false) { uncheckInverse(item.getParentItem()); } // If we check this node, we can verify that all sibling nodes // are checked if (item.getChecked() == true) { if (item.getParentItem() != null) checkInverse(item.getParentItem()); } } private void checkInverse(TreeItem item) { boolean allChecked = true; for (TreeItem it : item.getItems()) allChecked = allChecked && it.getChecked(); item.setChecked(allChecked); if (item.getParentItem() != null) checkInverse(item.getParentItem()); } private void uncheckInverse(TreeItem item) { if (item != null) item.setChecked(false); uncheckInverse(item.getParentItem()); } private void checkAll(TreeItem item) { for (TreeItem it : item.getItems()) { it.setChecked(item.getChecked()); checkAll(it); } } }); }
From source file:com.buildml.eclipse.packages.handlers.MoveToPackageDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { IPackageMgr pkgMgr = buildStore.getPackageMgr(); setTitle("Select Package to Move Actions/Files into:"); setHelpAvailable(false);/*from www .ja va2s.c o m*/ Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout()); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.verticalIndent = 20; gd.horizontalIndent = 0; container.setLayoutData(gd); /* display a single TreeViewer that lists all the packages */ viewer = new TreeViewer(container, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); viewer.setContentProvider(new OutlineContentProvider(pkgMgr, false)); viewer.setLabelProvider(new OutlineLabelProvider(pkgMgr)); viewer.setInput(new UIPackageFolder[] { new UIPackageFolder(pkgMgr.getRootFolder()) }); viewer.expandToLevel(3); /* * When a node in the tree is selected, decide whether it's a package or a folder and * adjust the "OK" button enablement status accordingly. */ viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object node = selection.getFirstElement(); getButton(OK).setEnabled(node instanceof UIPackage); } }); /* * When the user double-clicks on a folder name, automatically expand the content * of that folder. If they double-click on a package name, they're essentially * pressing "OK". */ viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object node = selection.getFirstElement(); if (viewer.isExpandable(node)) { viewer.setExpandedState(node, !viewer.getExpandedState(node)); } /* else, perform the "OK" operation */ else { okPressed(); } } }); return container; }
From source file:com.byterefinery.rmbench.preferences.TableThemesPreferencePage.java
License:Open Source License
private void createTypeThemesGroup(Composite mainComposite) { Composite themesGroup = new Composite(mainComposite, SWT.NULL); themesGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(2, false); themesGroup.setLayout(layout);//from w w w . j a v a2s . c o m themesViewer = new TreeViewer(themesGroup, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.heightHint = Math.max(175, convertHeightInCharsToPixels(10)); themesViewer.getTree().setLayoutData(data); themesViewer.setContentProvider(new ThemeContentProvider()); themesViewer.setLabelProvider(new TableThemeLabelProvider()); initColorDefinitions(); themesViewer.setInput(colorDefinitionMap); themesViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Object selection = ((StructuredSelection) themesViewer.getSelection()).getFirstElement(); if (selection instanceof ColorDefinition) { selectedColorDefinition = (ColorDefinition) selection; setThemeButtonsEnabled(true); } else setThemeButtonsEnabled(false); } }); Composite themeButtonsGroup = new Composite(themesGroup, SWT.NULL); themeButtonsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false)); themeButtonsGroup.setLayout(new GridLayout()); changeThemeButton = new Button(themeButtonsGroup, SWT.PUSH); changeThemeButton.setText(Messages.buttonChange); changeThemeButton.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false)); changeThemeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ColorDialog colorDialog = new ColorDialog(themesViewer.getTree().getShell()); if (selectedColorDefinition.value != null) colorDialog.setRGB(selectedColorDefinition.value); RGB newColor = colorDialog.open(); if (newColor != null) { selectedColorDefinition.setRGB(newColor, false); themesViewer.update(selectedColorDefinition, null); } } }); deleteThemeButton = new Button(themeButtonsGroup, SWT.PUSH); deleteThemeButton.setText(Messages.buttonDelete); deleteThemeButton.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false)); deleteThemeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { selectedColorDefinition.setRGB(null, false); themesViewer.update(selectedColorDefinition, null); } }); setThemeButtonsEnabled(false); }
From source file:com.centurylink.mdw.plugin.designer.views.AutomatedTestView.java
License:Apache License
private SashForm createSashForm(Composite parent) { sashForm = new SashForm(parent, SWT.HORIZONTAL); ViewForm results = new ViewForm(sashForm, SWT.NONE); PageBook viewerBook = new PageBook(results, SWT.BORDER); treeViewer = new TreeViewer(viewerBook, SWT.V_SCROLL | SWT.SINGLE); treeViewer.setUseHashlookup(true);/*from w w w . jav a 2 s . c o m*/ treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(new AutomatedTestLabelProvider()); treeViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { actionGroup.getActionHandler().open(selectedItem); } }); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleSelectionChanged((IStructuredSelection) event.getSelection()); } }); viewerBook.showPage(treeViewer.getTree()); results.setContent(viewerBook); ViewForm output = new ViewForm(sashForm, SWT.NONE); outputText = new Text(output, SWT.BORDER | SWT.READ_ONLY | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); outputText.setFont(JFaceResources.getTextFont()); output.setContent(outputText); sashForm.setWeights(new int[] { 33, 67 }); return sashForm; }
From source file:com.cloudbees.eclipse.dev.ui.views.build.BuildPart.java
License:Open Source License
private void createSections() { SashForm sashForm = new SashForm(this.compMain, SWT.VERTICAL); sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); this.formToolkit.adapt(sashForm); this.formToolkit.paintBordersFor(sashForm); this.compTop = new Composite(sashForm, SWT.NONE); this.formToolkit.adapt(this.compTop); this.formToolkit.paintBordersFor(this.compTop); GridLayout gl_compTop = new GridLayout(2, true); gl_compTop.marginWidth = 0;//from w w w .j ava 2 s . c om this.compTop.setLayout(gl_compTop); this.sectSummary = this.formToolkit.createSection(this.compTop, Section.TITLE_BAR); this.sectSummary.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); this.sectSummary.setSize(107, 45); this.formToolkit.adapt(this.sectSummary); this.formToolkit.paintBordersFor(this.sectSummary); this.sectSummary.setText("Build Summary"); this.compSummary = new Composite(this.sectSummary, SWT.NONE); this.formToolkit.adapt(this.compSummary); this.formToolkit.paintBordersFor(this.compSummary); this.sectSummary.setClient(this.compSummary); this.compSummary.setLayout(new GridLayout(1, false)); this.compBuildSummary = new Composite(this.compSummary, SWT.NONE); this.formToolkit.adapt(this.compBuildSummary); this.formToolkit.paintBordersFor(this.compBuildSummary); this.compBuildSummary.setLayout(new GridLayout(1, false)); this.contentBuildSummary = this.formToolkit.createLabel(this.compBuildSummary, "n/a", SWT.NONE); this.contentBuildSummary.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); // Section sectTests = this.formToolkit.createSection(this.compMain, Section.TITLE_BAR); // GridData gd_sectTests = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); // gd_sectTests.verticalIndent = 10; // sectTests.setLayoutData(gd_sectTests); // sectTests.setSize(80, 45); // this.formToolkit.paintBordersFor(sectTests); // sectTests.setText("JUnit Tests"); // Composite compTests = new Composite(this.compSummary, SWT.NONE); this.formToolkit.adapt(compTests); this.formToolkit.paintBordersFor(compTests); // sectTests.setClient(compTests); GridLayout gl_compTests = new GridLayout(4, false); compTests.setLayout(gl_compTests); Label label = this.formToolkit.createLabel(compTests, ""); label.setImage(CloudBeesDevUiPlugin.getImage(CBDEVImages.IMG_JUNIT)); label.setText(""); this.contentJUnitTests = this.formToolkit.createLabel(compTests, "n/a", SWT.NONE); this.contentJUnitTests.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); this.labelSpace = new Label(compTests, SWT.NONE); this.formToolkit.adapt(this.labelSpace, true, true); this.testsLink = new Composite(compTests, SWT.NONE); this.formToolkit.adapt(this.testsLink); this.testsLink.setLayout(new GridLayout(2, false)); Link link = new Link(this.testsLink, SWT.FLAT); link.setText("Show in <a>JUnit View</a>"); link.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { BuildPart.this.openJunitAction.run(); } }); this.formToolkit.adapt(link, false, false); this.testsLink.setVisible(false); this.sectArtifacts = this.formToolkit.createSection(this.compTop, Section.TITLE_BAR); this.sectArtifacts.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); this.sectArtifacts.setSize(107, 45); this.formToolkit.adapt(this.sectArtifacts); this.formToolkit.paintBordersFor(this.sectArtifacts); this.sectArtifacts.setText("Artifacts"); Composite compInterm_1 = this.formToolkit.createComposite(this.sectArtifacts, SWT.NONE); GridLayout gl_compInterm_1 = new GridLayout(1, false); gl_compInterm_1.verticalSpacing = 0; gl_compInterm_1.marginWidth = 0; gl_compInterm_1.marginHeight = 0; compInterm_1.setLayout(gl_compInterm_1); compInterm_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false)); this.sectArtifacts.setClient(compInterm_1); this.artifactsLabel = this.formToolkit.createLabel(compInterm_1, ""); ScrolledComposite scrolledArtifacts = new ScrolledComposite(compInterm_1, SWT.H_SCROLL | SWT.V_SCROLL); scrolledArtifacts.setExpandHorizontal(true); scrolledArtifacts.setExpandVertical(true); scrolledArtifacts.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); this.formToolkit.adapt(scrolledArtifacts); this.formToolkit.paintBordersFor(scrolledArtifacts); this.treeViewerArtifacts = new TreeViewer(scrolledArtifacts, SWT.BORDER); Tree treeArtifacts = this.treeViewerArtifacts.getTree(); this.treeViewerArtifacts.setContentProvider(new ArtifactsContentProvider()); this.treeViewerArtifacts.setLabelProvider(new ArtifactsLabelProvider()); this.treeViewerArtifacts.addDoubleClickListener(new ArtifactsClickListener()); this.treeViewerArtifacts.setInput("n/a"); this.formToolkit.adapt(treeArtifacts); this.formToolkit.paintBordersFor(treeArtifacts); scrolledArtifacts.setContent(treeArtifacts); scrolledArtifacts.setMinSize(treeArtifacts.computeSize(SWT.DEFAULT, SWT.DEFAULT)); this.sectRecentChanges = this.formToolkit.createSection(sashForm, Section.TITLE_BAR); this.formToolkit.paintBordersFor(this.sectRecentChanges); this.sectRecentChanges.setText("Changes"); Composite compInterm = this.formToolkit.createComposite(this.sectRecentChanges, SWT.NONE); GridLayout gl_compInterm = new GridLayout(1, false); gl_compInterm.verticalSpacing = 0; gl_compInterm.marginWidth = 0; gl_compInterm.marginHeight = 0; compInterm.setLayout(gl_compInterm); compInterm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false)); this.sectRecentChanges.setClient(compInterm); this.changesetLabel = this.formToolkit.createLabel(compInterm, ""); this.scrolledRecentChanges = new ScrolledComposite(compInterm, SWT.H_SCROLL | SWT.V_SCROLL); this.scrolledRecentChanges.setExpandHorizontal(true); this.scrolledRecentChanges.setExpandVertical(true); this.scrolledRecentChanges.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); this.formToolkit.adapt(this.scrolledRecentChanges); this.formToolkit.paintBordersFor(this.scrolledRecentChanges); this.treeViewerRecentChanges = new TreeViewer(this.scrolledRecentChanges, SWT.BORDER); Tree treeRecentChanges = this.treeViewerRecentChanges.getTree(); this.treeViewerRecentChanges.setContentProvider(new RecentChangesContentProvider()); this.treeViewerRecentChanges.setLabelProvider(new RecentChangesLabelProvider()); this.treeViewerRecentChanges.addDoubleClickListener(new RecentChangesClickListener()); this.treeViewerRecentChanges.setInput("n/a"); this.formToolkit.adapt(treeRecentChanges); this.formToolkit.paintBordersFor(treeRecentChanges); this.scrolledRecentChanges.setContent(treeRecentChanges); this.scrolledRecentChanges.setMinSize(treeRecentChanges.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sashForm.setWeights(new int[] { 1, 1 }); }
From source file:com.cloudbees.eclipse.dev.ui.views.instances.JenkinsTreeView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); this.viewer.setContentProvider(this.contentProvider); this.viewer.setLabelProvider(this.labelProvider); this.viewer.setSorter(new NameSorter()); this.viewer.setInput(getViewSite()); this.viewer.addOpenListener(new IOpenListener() { @Override/*from w w w .j ava 2 s . c om*/ public void open(final OpenEvent event) { ISelection sel = event.getSelection(); if (sel instanceof TreeSelection) { Object el = ((TreeSelection) sel).getFirstElement(); JenkinsTreeView.this.open(el); } } }); contributeToActionBars(); init(); }
From source file:com.cloudbees.eclipse.dev.ui.views.jobs.JobsView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { initImages();//from ww w. j a va 2 s .c o m this.treeViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.VIRTUAL); treeViewer.getTree().setHeaderVisible(true); initColumns(); this.contentProvider = new JobsContentProvider(getViewSite()); this.treeViewer.setContentProvider(this.contentProvider); this.treeViewer.setSorter(new JobSorter(JobSorter.JOB)); this.treeViewer.setInput(getViewSite()); this.treeViewer.addOpenListener(new IOpenListener() { @Override public void open(final OpenEvent event) { ISelection sel = event.getSelection(); if (sel instanceof IStructuredSelection) { Object el = ((IStructuredSelection) sel).getFirstElement(); if (el instanceof JobHolder && ((JobHolder) el).job instanceof Job) { Job job = (Job) ((JobHolder) el).job; //assuming it's a folder.. if (job.isFolderOrView()) { JobsView.this.toggle(el); return; // do nothing } else { CloudBeesDevUiPlugin.getDefault().showBuildForJob(job); } } if (el instanceof JobHolder && ((JobHolder) el).job instanceof View) { JobsView.this.toggle(el); return; // do nothing } } } }); makeActions(); contributeToActionBars(); MenuManager popupMenu = new MenuManager(); popupMenu.add(this.actionOpenLastBuildDetails); popupMenu.add(this.actionOpenLog); popupMenu.add(this.actionOpenBuildHistory); popupMenu.add(new Separator()); popupMenu.add(this.actionOpenJobInBrowser); popupMenu.add(this.actionInvokeBuild); popupMenu.add(new Separator()); popupMenu.add(this.actionDeleteJob); popupMenu.add(new Separator()); popupMenu.add(this.actionReloadJobs); Menu menu = popupMenu.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(menu); treeViewer.getTree().setSortDirection(SWT.DOWN); treeViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { } @Override public void treeCollapsed(TreeExpansionEvent event) { // if something was collapsed make sure it won't be expanded by deferred loaders contentProvider.removeDeferredExpanders(event.getElement()); } }); this.treeViewer.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { StructuredSelection sel = (StructuredSelection) event.getSelection(); if (sel.getFirstElement() instanceof JobHolder) { setSelectedJob((JobHolder) sel.getFirstElement()); } } }); this.jenkinsChangeListener = new CBRemoteChangeAdapter() { public void activeAccountChanged(String email, String newAccountName) { // if cloud-hosted view and account changed, close this view boolean closeView = false; if (viewUrl == null || viewUrl.length() == 0) { closeView = true; } if (!closeView) { JenkinsService ss = CloudBeesUIPlugin.getDefault().getJenkinsServiceForUrl(viewUrl); if (ss == null || ss.isCloud()) { closeView = true; } } if (closeView) { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); page.hideView(JobsView.this); } }); } } public void activeJobViewChanged(final JenkinsJobsResponse newView) { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { JobsView.this.setInput(newView); } }); } public void jenkinsStatusUpdate(String viewUrl, boolean online) { if (!isCurrentView(viewUrl)) { return; // nothing to do, same view } // For now server status change is only relevant when it's offline if (!online) { final JenkinsService s = CloudBeesUIPlugin.getDefault().getJenkinsServiceForUrl(viewUrl); PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { setPartName("Build Jobs [" + s.getLabel() + "] (offline)"); setContentDescription(" " + s.getLabel() + " (" + s.getUrl() + ") not available (" + new Date() + ")"); } }); } } }; CloudBeesUIPlugin.getDefault().addCBRemoteChangeListener(this.jenkinsChangeListener); }