summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
diff options
context:
space:
mode:
authorSteve Northover <steve>2008-03-13 20:40:51 +0000
committerSteve Northover <steve>2008-03-13 20:40:51 +0000
commit152392ec2ff526f378f0939564a3335720e95a9f (patch)
treea3d026995c4507bb960c257b5b8200e30527f730 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
parent33ec19ecb158c74785df6235b2edb6b97aefe71f (diff)
downloadeclipse.platform.swt-152392ec2ff526f378f0939564a3335720e95a9f.tar.gz
eclipse.platform.swt-152392ec2ff526f378f0939564a3335720e95a9f.tar.xz
eclipse.platform.swt-152392ec2ff526f378f0939564a3335720e95a9f.zip
183087 - Windows tree's don't have to always have scroll bars
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
index a4b5f17c7a..704d9cf811 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
@@ -146,6 +146,16 @@ void deregister () {
if (adjustmentHandle != 0) display.removeWidget (adjustmentHandle);
}
+void destroyHandle () {
+ super.destroyWidget ();
+}
+
+void destroyWidget () {
+ parent.destroyScrollBar (this);
+ releaseHandle ();
+ //parent.sendEvent (SWT.Resize);
+}
+
/**
* Returns <code>true</code> if the receiver is enabled, and
* <code>false</code> otherwise. A disabled control is typically
@@ -459,6 +469,11 @@ void register () {
if (adjustmentHandle != 0) display.addWidget (adjustmentHandle, this);
}
+void releaseHandle () {
+ super.releaseHandle ();
+ parent = null;
+}
+
void releaseParent () {
super.releaseParent ();
if (parent.horizontalBar == this) parent.horizontalBar = null;
@@ -467,7 +482,7 @@ void releaseParent () {
void releaseWidget () {
super.releaseWidget ();
- parent = null;
+ //parent = null;
}
/**
@@ -741,7 +756,10 @@ public void setValues (int selection, int minimum, int maximum, int thumb, int i
*/
public void setVisible (boolean visible) {
checkWidget ();
- parent.setScrollBarVisible (this, visible);
+ if (parent.setScrollBarVisible (this, visible)) {
+ sendEvent (visible ? SWT.Show : SWT.Hide);
+ parent.sendEvent (SWT.Resize);
+ }
}
}