diff options
author | Kevin Barnes <krbarnes> | 2008-06-02 18:31:39 +0000 |
---|---|---|
committer | Kevin Barnes <krbarnes> | 2008-06-02 18:31:39 +0000 |
commit | 9ca4ea6a86b5068072408c0b747a2e24ab926894 (patch) | |
tree | 8220db8c5fbeeec0a9c27240f9df9a06e60f27f9 | |
parent | 02735b151541e74d376fafe6f13f1e1627408ee7 (diff) | |
download | eclipse.platform.swt-9ca4ea6a86b5068072408c0b747a2e24ab926894.tar.gz eclipse.platform.swt-9ca4ea6a86b5068072408c0b747a2e24ab926894.tar.xz eclipse.platform.swt-9ca4ea6a86b5068072408c0b747a2e24ab926894.zip |
232685 - ScrollBar works incorrectly with StyledText
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java index f7f25f6664..08d111811e 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java @@ -471,15 +471,14 @@ public void setIncrement (int value) { */ public void setEnabled (boolean enabled) { checkWidget(); -// if (enabled) { -// if ((state & DISABLED) == 0) return; -// state &= ~DISABLED; -// OS.EnableControl (handle); -// } else { -// if ((state & DISABLED) != 0) return; -// state |= DISABLED; -// OS.DisableControl (handle); -// } + if (enabled) { + if ((state & DISABLED) == 0) return; + state &= ~DISABLED; + } else { + if ((state & DISABLED) != 0) return; + state |= DISABLED; + } + view.setEnabled(enabled); } /** @@ -618,10 +617,12 @@ public void setValues (int selection, int minimum, int maximum, int thumb, int i if (thumb < 1) return; if (increment < 1) return; if (pageIncrement < 1) return; - thumb = Math.min (thumb, maximum - minimum); + this.thumb = thumb = Math.min (thumb, maximum - minimum); + this.maximum = maximum; + this.minimum = minimum; this.increment = increment; this.pageIncrement = pageIncrement; - updateBar(selection, minimum, maximum, thumb); + updateBar (selection, minimum, maximum, thumb); } /** @@ -647,13 +648,13 @@ public void setVisible (boolean visible) { } void updateBar(int selection, int minimum, int maximum, int thumb) { - NSScroller widget = (NSScroller)view; - selection = Math.max(minimum, Math.min(maximum - thumb, selection)); + NSScroller widget = (NSScroller) view; + selection = Math.max (minimum, Math.min (maximum - thumb, selection)); int range = maximum - thumb - minimum; - float fraction = range < 0 ? 1 : (float)(selection - minimum) / range; - float knob = minimum == maximum ? 1 : (float)(thumb - minimum) / maximum - minimum; - widget.setFloatValue(fraction, knob); - widget.setEnabled(range > 0); + float fraction = range < 0 ? 1 : (float) (selection - minimum) / range; + float knob = minimum == maximum ? 1 : (float) (thumb - minimum) / maximum - minimum; + widget.setFloatValue (fraction, knob); + widget.setEnabled (range > 0); } } |