*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Label.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Label.java
index 339c329..fbd27f5 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Label.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Label.java
@@ -239,15 +239,15 @@
if (mnemonic == '\0') return false;
return Character.toUpperCase (key) == Character.toUpperCase (mnemonic);
}
-void propagateHandle (boolean enabled, int widgetHandle) {
- super.propagateHandle (enabled, widgetHandle);
+void propagateWidget (boolean enabled) {
+ super.propagateWidget (enabled);
/*
* Labels never participate in focus traversal when
* either enabled or disabled.
*/
if (enabled) {
int [] argList = {OS.XmNtraversalOn, 0};
- OS.XtSetValues (widgetHandle, argList, argList.length / 2);
+ OS.XtSetValues (handle, argList, argList.length / 2);
}
}
void releaseWidget () {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ProgressBar.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ProgressBar.java
index eb1a6cd..a8905b1 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ProgressBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ProgressBar.java
@@ -63,21 +63,35 @@
}
void createHandle (int index) {
state |= HANDLE;
- int backgroundPixel = defaultBackground ();
- int [] argList1 = {
+ int background = defaultBackground ();
+ int [] argList = {
OS.XmNshowArrows, 0,
OS.XmNsliderSize, 1,
OS.XmNtraversalOn, 0,
- OS.XmNtroughColor, backgroundPixel,
- OS.XmNtopShadowColor, backgroundPixel,
- OS.XmNbottomShadowColor, backgroundPixel,
+ OS.XmNtroughColor, background,
+ OS.XmNtopShadowColor, background,
+ OS.XmNbottomShadowColor, background,
OS.XmNshadowThickness, 1,
OS.XmNborderWidth, (style & SWT.BORDER) != 0 ? 1 : 0,
OS.XmNorientation, ((style & SWT.H_SCROLL) != 0) ? OS.XmHORIZONTAL : OS.XmVERTICAL,
OS.XmNprocessingDirection, ((style & SWT.H_SCROLL) != 0) ? OS.XmMAX_ON_RIGHT : OS.XmMAX_ON_TOP,
};
- handle = OS.XmCreateScrollBar (parent.handle, null, argList1, argList1.length / 2);
+ handle = OS.XmCreateScrollBar (parent.handle, null, argList, argList.length / 2);
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
+}
+void disableButtonPress () {
+ int xWindow = OS.XtWindow (handle);
+ if (xWindow == 0) return;
+ int xDisplay = OS.XtDisplay (handle);
+ if (xDisplay == 0) return;
+ int event_mask = OS.XtBuildEventMask (handle);
+ XSetWindowAttributes attributes = new XSetWindowAttributes ();
+ attributes.event_mask = event_mask & ~OS.ButtonPressMask;
+ OS.XChangeWindowAttributes (xDisplay, xWindow, OS.CWEventMask, attributes);
+}
+void disableTraversal () {
+ int [] argList = {OS.XmNtraversalOn, 0};
+ OS.XtSetValues (handle, argList, argList.length / 2);
}
/**
* Gets the maximum.
@@ -132,22 +146,24 @@
OS.XmNbackground, 0,
};
OS.XtGetValues (handle, argList, argList.length / 2);
- int minimum = argList [1];
- int sliderSize = argList [3];
- int backGround = argList [5];
- if (sliderSize == 1 && backGround == defaultBackground()) sliderSize = 0;
+ int minimum = argList [1], sliderSize = argList [3], background = argList [5];
+ if (sliderSize == 1 && background == defaultBackground()) sliderSize = 0;
return minimum + sliderSize;
+}
+void propagateWidget (boolean enabled) {
+ super.propagateWidget (enabled);
+ /*
+ * ProgressBars never participate in focus traversal when
+ * either enabled or disabled. Also, when enabled
+ */
+ if (enabled) {
+ disableTraversal ();
+ disableButtonPress ();
+ }
}
void realizeChildren () {
- super.realizeChildren ();
- int xWindow = OS.XtWindow (handle);
- if (xWindow == 0) return;
- int xDisplay = OS.XtDisplay (handle);
- if (xDisplay == 0) return;
- int event_mask = OS.XtBuildEventMask (handle);
- XSetWindowAttributes attributes = new XSetWindowAttributes ();
- attributes.event_mask = event_mask & ~OS.ButtonPressMask;
- OS.XChangeWindowAttributes (xDisplay, xWindow, OS.CWEventMask, attributes);
+ super.realizeChildren ();
+ disableButtonPress ();
}
/**
* Sets the maximum.