Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-06-09 19:12:33 +0000
committerddunne2010-06-09 19:12:33 +0000
commita4169419ec78b05665dd8181cee0d91428157680 (patch)
tree801751aaf1bd729c9a851860228b6479b745b5df /plugins/org.eclipse.osee.ats/src
parentf295d6904c0fe7453ab569398ac3454f9d925407 (diff)
downloadorg.eclipse.osee-a4169419ec78b05665dd8181cee0d91428157680.tar.gz
org.eclipse.osee-a4169419ec78b05665dd8181cee0d91428157680.tar.xz
org.eclipse.osee-a4169419ec78b05665dd8181cee0d91428157680.zip
"Team Workflow" - 5S7WY - "File List area is too small for dealing with a lot of files"
Diffstat (limited to 'plugins/org.eclipse.osee.ats/src')
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/defect/XDefectViewer.java71
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java72
2 files changed, 106 insertions, 37 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/defect/XDefectViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/defect/XDefectViewer.java
index cf744709f9e..8f7a1d479b1 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/defect/XDefectViewer.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/defect/XDefectViewer.java
@@ -12,6 +12,7 @@
package org.eclipse.osee.ats.util.widgets.defect;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
@@ -62,10 +63,12 @@ import org.eclipse.swt.layout.GridLayout;
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.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swt.widgets.Sash;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Tree;
@@ -78,22 +81,17 @@ import org.eclipse.ui.forms.widgets.ScrolledForm;
public class XDefectViewer extends XWidget implements IArtifactWidget, IFrameworkTransactionEventListener {
private DefectXViewer xViewer;
- private static final int defaultTableHeightHint = 100;
- private static final int paddedTableHeightHint = 2;
private IDirtiableEditor editor;
private IReviewArtifact reviewArt;
public final static String normalColor = "#EEEEEE";
private static ToolItem newDefectItem, deleteDefectItem;
private Label extraInfoLabel;
- private Tree tree;
private Composite parentComposite;
private static ToolItem expandDefectItem, collapseDefectItem;
private static Map<IReviewArtifact, Boolean> mapOfReviewArtifacts = new LinkedHashMap<IReviewArtifact, Boolean>();
private ToolBar toolBar;
+ private static Map<IReviewArtifact, Integer> tableHeight = new HashMap<IReviewArtifact, Integer>();
- /**
- * @param label
- */
public XDefectViewer() {
super("Defects");
OseeEventManager.addListener(this);
@@ -112,7 +110,7 @@ public class XDefectViewer extends XWidget implements IArtifactWidget, IFramewor
}
}
- Composite mainComp = new Composite(parent, SWT.BORDER);
+ final Composite mainComp = new Composite(parent, SWT.BORDER);
mainComp.setLayoutData(new GridData(GridData.FILL_BOTH));
mainComp.setLayout(ALayout.getZeroMarginLayout());
if (toolkit != null) {
@@ -134,39 +132,56 @@ public class XDefectViewer extends XWidget implements IArtifactWidget, IFramewor
toolkit.adapt(xViewer.getStatusLabel(), false, false);
}
- handleExpandCollapseDefectTableList();
-
+ refreshTableSize();
// NOTE: Don't adapt the tree using xToolkit cause will loose xViewer's context menu
+
+ final Sash sash = new Sash(parent, SWT.HORIZONTAL);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.heightHint = 3;
+ sash.setLayoutData(gd);
+ sash.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
+ sash.addListener(SWT.MouseUp, new Listener() {
+ public void handleEvent(Event e) {
+ Rectangle treeRect = xViewer.getTree().getClientArea();
+ int newHeight = treeRect.height + e.y;
+ setTableHeight(newHeight);
+ refreshTableSize();
+ mainComp.layout();
+ xViewer.refresh();
+ if (getForm(mainComp) != null) {
+ getForm(mainComp).reflow(true);
+ }
+ }
+ });
+
loadTable();
}
- public void setXviewerTree(boolean expand) {
- tree = xViewer.getTree();
+ private void refreshTableSize() {
+ Tree tree = xViewer.getTree();
GridData gridData = new GridData(GridData.FILL_BOTH);
- gridData.heightHint = getTableHeightHint(expand);
+ gridData.heightHint = getTableHeight();
tree.setLayout(ALayout.getZeroMarginLayout());
tree.setLayoutData(gridData);
tree.setHeaderVisible(true);
tree.setLinesVisible(true);
}
- private int getTableHeightHint(boolean expand) {
- try {
- int defectListSize = reviewArt.getDefectManager().getDefectItems().size();
- int treeItemHeight = tree.getItemHeight();
- int calculatedTableHeightHint = treeItemHeight * (defectListSize + 1);
- if (expand && calculatedTableHeightHint > defaultTableHeightHint) {
- // allow expansion to approximately 50 items
- if (defectListSize > defaultTableHeightHint / 2) {
- return treeItemHeight * (paddedTableHeightHint + defaultTableHeightHint);
- } else {
- return treeItemHeight * (paddedTableHeightHint + defectListSize);
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(DefectManager.class, Level.SEVERE, ex.toString());
+ public void setXviewerTree(boolean expand) {
+ }
+
+ private int getTableHeight() {
+ if (reviewArt != null && tableHeight.containsKey(reviewArt)) {
+ return tableHeight.get(reviewArt);
+ }
+ return 100;
+ }
+
+ private void setTableHeight(int newHeight) {
+ if (reviewArt != null) {
+ if (newHeight < 100) newHeight = 100;
+ tableHeight.put(reviewArt, newHeight);
}
- return defaultTableHeightHint;
}
public void createTaskActionBar(Composite parent) {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
index 01c3600c045..d684d7e0ca2 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/role/XUserRoleViewer.java
@@ -12,8 +12,10 @@
package org.eclipse.osee.ats.util.widgets.role;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.logging.Level;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -49,16 +51,21 @@ import org.eclipse.osee.framework.ui.swt.ImageManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
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.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Sash;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
/**
* @author Donald G. Dunne
@@ -72,10 +79,8 @@ public class XUserRoleViewer extends XWidget implements IArtifactWidget, IFramew
private static ToolItem newUserRoleItem, deleteUserRoleItem;
private Label extraInfoLabel;
private ToolBar toolBar;
+ private static Map<IReviewArtifact, Integer> tableHeight = new HashMap<IReviewArtifact, Integer>();
- /**
- * @param label
- */
public XUserRoleViewer() {
super("Roles");
@@ -93,7 +98,7 @@ public class XUserRoleViewer extends XWidget implements IArtifactWidget, IFramew
}
}
- Composite mainComp = new Composite(parent, SWT.BORDER);
+ final Composite mainComp = new Composite(parent, SWT.BORDER);
mainComp.setLayoutData(new GridData(GridData.FILL_BOTH));
mainComp.setLayout(ALayout.getZeroMarginLayout());
if (toolkit != null) {
@@ -103,8 +108,6 @@ public class XUserRoleViewer extends XWidget implements IArtifactWidget, IFramew
createTaskActionBar(mainComp);
xViewer = new UserRoleXViewer(mainComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION, this);
- xViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-
xViewer.setContentProvider(new UserRoleContentProvider(xViewer));
xViewer.setLabelProvider(new UserRoleLabelProvider(xViewer));
xViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@@ -118,16 +121,67 @@ public class XUserRoleViewer extends XWidget implements IArtifactWidget, IFramew
toolkit.adapt(xViewer.getStatusLabel(), false, false);
}
+ refreshTableSize();
+ // NOTE: Don't adapt the tree using xToolkit cause will loose xViewer's context menu
+
+ final Sash sash = new Sash(parent, SWT.HORIZONTAL);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.heightHint = 3;
+ sash.setLayoutData(gd);
+ sash.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
+ sash.addListener(SWT.MouseUp, new Listener() {
+ public void handleEvent(Event e) {
+ Rectangle treeRect = xViewer.getTree().getClientArea();
+ int newHeight = treeRect.height + e.y;
+ setTableHeight(newHeight);
+ refreshTableSize();
+ mainComp.layout();
+ xViewer.refresh();
+ if (getForm(mainComp) != null) {
+ getForm(mainComp).reflow(true);
+ }
+ }
+ });
+
+ loadTable();
+ }
+
+ private void refreshTableSize() {
Tree tree = xViewer.getTree();
GridData gridData = new GridData(GridData.FILL_BOTH);
- gridData.heightHint = 100;
+ gridData.heightHint = getTableHeight();
tree.setLayout(ALayout.getZeroMarginLayout());
tree.setLayoutData(gridData);
tree.setHeaderVisible(true);
tree.setLinesVisible(true);
- // NOTE: Don't adapt the tree using xToolkit cause will loose xViewer's context menu
+ }
- loadTable();
+ public ScrolledForm getForm(Composite composite) {
+ ScrolledForm form = null;
+ if (composite == null) {
+ return null;
+ }
+ if (composite instanceof ScrolledForm) {
+ return (ScrolledForm) composite;
+ }
+ if (!(composite instanceof ScrolledForm)) {
+ form = getForm(composite.getParent());
+ }
+ return form;
+ }
+
+ private int getTableHeight() {
+ if (reviewArt != null && tableHeight.containsKey(reviewArt)) {
+ return tableHeight.get(reviewArt);
+ }
+ return 100;
+ }
+
+ private void setTableHeight(int newHeight) {
+ if (reviewArt != null) {
+ if (newHeight < 100) newHeight = 100;
+ tableHeight.put(reviewArt, newHeight);
+ }
}
public void createTaskActionBar(Composite parent) {

Back to the top