Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-01-03 21:11:07 +0000
committerddunne2008-01-03 21:11:07 +0000
commit091a94f08b4bf307ba6d803a6cb927fde5ef0f09 (patch)
tree7a03d7b11f176d5eceaef2f4a9c62a0631a9c5e2
parent8cc84ff3744aa03aa17978899013a6b922aaf5c1 (diff)
downloadorg.eclipse.osee-091a94f08b4bf307ba6d803a6cb927fde5ef0f09.tar.gz
org.eclipse.osee-091a94f08b4bf307ba6d803a6cb927fde5ef0f09.tar.xz
org.eclipse.osee-091a94f08b4bf307ba6d803a6cb927fde5ef0f09.zip
Fixed BranchSelectionDialog
Added to Artifact Explorer
-rw-r--r--MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java21
-rw-r--r--MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/BranchSelectionDialog.java102
2 files changed, 99 insertions, 24 deletions
diff --git a/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java b/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java
index fda6e383e72..d85cadd1d5b 100644
--- a/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java
+++ b/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactExplorer.java
@@ -31,6 +31,7 @@ import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.window.Window;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
import org.eclipse.osee.framework.jdk.core.util.GUID;
import org.eclipse.osee.framework.jdk.core.util.OseeProperties;
@@ -85,6 +86,7 @@ import org.eclipse.osee.framework.ui.skynet.menu.IGlobalMenuHelper;
import org.eclipse.osee.framework.ui.skynet.render.RendererManager;
import org.eclipse.osee.framework.ui.skynet.skywalker.SkyWalkerView;
import org.eclipse.osee.framework.ui.skynet.util.ArtifactClipboard;
+import org.eclipse.osee.framework.ui.skynet.util.BranchSelectionDialog;
import org.eclipse.osee.framework.ui.skynet.util.DbConnectionExceptionComposite;
import org.eclipse.osee.framework.ui.skynet.util.HierarchicalReportDialog;
import org.eclipse.osee.framework.ui.skynet.util.HtmlReportJob;
@@ -281,6 +283,7 @@ public class ArtifactExplorer extends ViewPart implements IEventReceiver, IActio
if (OseeProperties.getInstance().isDeveloper()) {
createShowArtIdsAction();
}
+ createSetDefaultBranchAction();
OseeAts.addBugToViewToolbar(this, this, SkynetActivator.getInstance(), VIEW_ID, "Artifact Explorer");
getViewSite().getActionBars().getStatusLineManager().add(branchStatusItem);
@@ -410,6 +413,24 @@ public class ArtifactExplorer extends ViewPart implements IEventReceiver, IActio
toolbarManager.add(showArtIds);
}
+ private void createSetDefaultBranchAction() {
+ Action setDefaultBranch = new Action("Set Default Branch", Action.AS_PUSH_BUTTON) {
+ @Override
+ public void run() {
+ BranchSelectionDialog branchSelection =
+ new BranchSelectionDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell());
+ int result = branchSelection.open();
+ if (result == Window.OK) {
+ BranchPersistenceManager.getInstance().setDefaultBranch(branchSelection.getSelection());
+ }
+ }
+ };
+ setDefaultBranch.setImageDescriptor(SkynetGuiPlugin.getInstance().getImageDescriptor("branch_change.gif"));
+ setDefaultBranch.setAccelerator(SWT.CTRL | 'B');
+ IMenuManager toolbarManager = getViewSite().getActionBars().getMenuManager();
+ toolbarManager.add(setDefaultBranch);
+ }
+
protected void createShowArtTypeAction() {
showArtType = new Action("Show Artifact Type") {
diff --git a/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/BranchSelectionDialog.java b/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/BranchSelectionDialog.java
index 19ce9f04b38..ebfb1b49a31 100644
--- a/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/BranchSelectionDialog.java
+++ b/MS_0.1.4_20080103/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/BranchSelectionDialog.java
@@ -11,63 +11,117 @@
package org.eclipse.osee.framework.ui.skynet.util;
import java.sql.SQLException;
-import java.util.ArrayList;
-import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.osee.framework.skynet.core.artifact.Branch;
import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.plugin.util.JobbedNode;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.branch.BranchContentProvider;
+import org.eclipse.osee.framework.ui.skynet.util.filteredTree.OSEEFilteredTree;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListDialog;
+import org.eclipse.ui.dialogs.PatternFilter;
/**
* @author Donald G. Dunne
*/
-public class BranchSelectionDialog extends ListDialog {
+public class BranchSelectionDialog extends MessageDialog {
Branch selected = null;
+ private OSEEFilteredTree oseeFilteredTree;
+ private static PatternFilter patternFilter = new PatternFilter();
public BranchSelectionDialog(Shell parent) {
- super(parent);
- setContentProvider(new ArrayContentProvider());
- setLabelProvider(new BranchLabelProvider());
- try {
- setInput(BranchPersistenceManager.getInstance().getBranches());
- } catch (SQLException ex) {
- OSEELog.logException(SkynetGuiPlugin.class, ex, false);
- }
+ super(Display.getCurrent().getActiveShell(), "Select Branch", null, null, MessageDialog.NONE, new String[] {"Ok",
+ "Cancel"}, 0);
setShellStyle(getShellStyle() | SWT.RESIZE);
- setTitle("Select Branch");
- setMessage("Select Branch");
}
public Branch getSelection() {
- return (Branch) getResult()[0];
+ return selected;
}
@Override
protected Control createDialogArea(Composite container) {
- Control c = super.createDialogArea(container);
- if (selected != null) {
- ArrayList<Object> sel = new ArrayList<Object>();
- sel.add(selected);
- getTableViewer().setSelection(new StructuredSelection(sel.toArray(new Object[sel.size()])));
- getTableViewer().getTable().setFocus();
+ oseeFilteredTree = new OSEEFilteredTree(container, SWT.SINGLE | SWT.BORDER, patternFilter);
+ oseeFilteredTree.getViewer().setContentProvider(new BranchContentProvider());
+ oseeFilteredTree.setInitialText("");
+ oseeFilteredTree.getFilterControl().setFocus();
+ oseeFilteredTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ selected = getSelectedBranch();
+ }
+ });
+ oseeFilteredTree.getViewer().setLabelProvider(
+ new org.eclipse.osee.framework.ui.skynet.branch.BranchLabelProvider());
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 500;
+ gd.widthHint = 500;
+ oseeFilteredTree.getViewer().getTree().setLayoutData(gd);
+ oseeFilteredTree.getViewer().getTree().addListener(SWT.MouseDoubleClick, new Listener() {
+ public void handleEvent(Event event) {
+ if (event.button == 1) handleDoubleClick();
+ }
+ });
+ oseeFilteredTree.getViewer().getTree().addKeyListener(new KeyListener() {
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.swt.events.KeyListener#keyPressed(org.eclipse.swt.events.KeyEvent)
+ */
+ public void keyPressed(KeyEvent e) {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
+ */
+ public void keyReleased(KeyEvent e) {
+ if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) handleDoubleClick();
+ }
+ });
+ try {
+ oseeFilteredTree.getViewer().setInput(BranchPersistenceManager.getInstance().getBranches());
+ } catch (SQLException ex) {
+ OSEELog.logException(SkynetGuiPlugin.class, ex, true);
}
- return c;
+ return container;
+ }
+
+ private Branch getSelectedBranch() {
+ IStructuredSelection sel = (IStructuredSelection) oseeFilteredTree.getViewer().getSelection();
+ if (!sel.isEmpty()) selected = (Branch) ((JobbedNode) sel.getFirstElement()).getBackingData();
+ return selected;
+ }
+
+ private void handleDoubleClick() {
+ getSelectedBranch();
+ okPressed();
}
@Override
protected void okPressed() {
- if (getTableViewer().getSelection().isEmpty()) {
+ if (oseeFilteredTree.getViewer().getSelection().isEmpty()) {
AWorkbench.popup("ERROR", "Must make selection.");
return;
}

Back to the top