Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraudrey.e.denk2021-05-17 21:09:30 +0000
committerRyan T. Baldwin2021-05-17 21:09:30 +0000
commitc7f7f35f70f317076c24443ac95cef4a62d0f3ab (patch)
treeeb9ba108d49f16b941d218f0dfaf22f4acd15169 /plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee
parentc0e4331821e94306f5a7ff9ed59c7d557c19ebbf (diff)
downloadorg.eclipse.osee-c7f7f35f70f317076c24443ac95cef4a62d0f3ab.tar.gz
org.eclipse.osee-c7f7f35f70f317076c24443ac95cef4a62d0f3ab.tar.xz
org.eclipse.osee-c7f7f35f70f317076c24443ac95cef4a62d0f3ab.zip
bug[TW19253]: Update XList widget to be scrollable even when disabled
Change-Id: Ife6006dfe0bf24cf6106c93a8920b6da0ad35068 Signed-off-by: audrey.e.denk <audrey.e.denk@boeing.com>
Diffstat (limited to 'plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee')
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XList.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XList.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XList.java
index acd1053435a..8fdf52e1c75 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XList.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XList.java
@@ -26,15 +26,19 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.ui.skynet.internal.Activator;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Point;
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.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
/**
@@ -89,7 +93,7 @@ public class XList extends GenericXWidget {
this.xmlValue = xmlValue;
}
}
-
+ private ScrolledComposite scrolledComposite;
private List listList;
private Menu listMenu;
private Composite parent;
@@ -168,8 +172,10 @@ public class XList extends GenericXWidget {
}
createControlsAfterLabel(parent, horizontalSpan);
-
- listList = new List(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
+ scrolledComposite = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL);
+ scrolledComposite.setExpandHorizontal(true);
+ scrolledComposite.setExpandVertical(true);
+ listList = new List(scrolledComposite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
String array[] = items.keySet().toArray(new String[items.size()]);
java.util.Arrays.sort(array);
listList.setMenu(listMenu);
@@ -183,11 +189,19 @@ public class XList extends GenericXWidget {
Rectangle trim = listList.computeTrim(0, 0, 0, listHeight);
gridData5.heightHint = trim.height;
gridData5.grabExcessVerticalSpace = true;
- listList.setLayoutData(gridData5);
listList.addSelectionListener(listListener);
updateListWidget();
listList.setEnabled(isEditable());
-
+ scrolledComposite.setContent(listList);
+ scrolledComposite.setLayoutData(gridData5);
+ scrolledComposite.setEnabled(true);
+ scrolledComposite.addListener(SWT.Resize, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ final Point size = listList.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+ scrolledComposite.setMinSize(size);
+ }
+ });
}
@Override

Back to the top