diff options
author | Thomas Fitzsimmons <fitzsim@redhat.com> | 2004-02-05 19:45:02 +0000 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@gcc.gnu.org> | 2004-02-05 19:45:02 +0000 |
commit | bc1ec7f70ec091fc96ffc8460172a005b61afb2b (patch) | |
tree | 295071a60052fcc7419762c498ef7483341c83ab /libjava/java/awt/Scrollbar.java | |
parent | 6039a93dd7214d5f1effdd2c165dc4e52b950139 (diff) | |
download | gcc-bc1ec7f70ec091fc96ffc8460172a005b61afb2b.zip gcc-bc1ec7f70ec091fc96ffc8460172a005b61afb2b.tar.gz gcc-bc1ec7f70ec091fc96ffc8460172a005b61afb2b.tar.bz2 |
Scrollbar.java (next_scrollbar_number): New field.
2004-02-05 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/Scrollbar.java (next_scrollbar_number): New field.
(Scrollbar (int, int, int, int, int)): Make default page
increment 10.
(setValues): Only call peer.setValues if one of the values has
changed.
(generateName): New method.
(getUniqueLong): New method.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
(range_scrollbar): Remove structure.
(post_adjustment_event): Remove function.
(post_change_event): Accept jobject argument.
(create): Cast jints to gdoubles. Round scrollbar values to the
nearest integer. Clamp min, max and value settings.
(connectJObject): Connect hook to widget->window.
(connectSignals): Remove range_scrollbar structure variables.
Remove "move-slider" connection. Pass global peer reference to
"value-changed" callback.
(setLineIncrement): Cast jint value to gdouble.
(setPageIncrement): Likewise.
(setValues): Likewise. Clamp min, max and value settings.
From-SVN: r77332
Diffstat (limited to 'libjava/java/awt/Scrollbar.java')
-rw-r--r-- | libjava/java/awt/Scrollbar.java | 55 |
1 files changed, 38 insertions, 17 deletions
diff --git a/libjava/java/awt/Scrollbar.java b/libjava/java/awt/Scrollbar.java index 79b2e43..a01dc3c 100644 --- a/libjava/java/awt/Scrollbar.java +++ b/libjava/java/awt/Scrollbar.java @@ -120,6 +120,11 @@ private AdjustmentListener adjustment_listeners; private transient boolean valueIsAdjusting = false; + /* + * The number used to generate the name returned by getName. + */ + private static transient long next_scrollbar_number = 0; + /*************************************************************************/ /* @@ -194,9 +199,8 @@ Scrollbar(int orientation, int value, int visibleAmount, int minimum, // Default is 1 according to online docs. lineIncrement = 1; - pageIncrement = (maximum - minimum) / 5; - if (pageIncrement == 0) - pageIncrement = 1; + // Default is 10 according to javadocs. + pageIncrement = 10; } /*************************************************************************/ @@ -394,15 +398,17 @@ setValues(int value, int visibleAmount, int minimum, int maximum) if (visibleAmount > maximum - minimum) visibleAmount = maximum - minimum; + ScrollbarPeer peer = (ScrollbarPeer) getPeer (); + if (peer != null + && (this.value != value || this.visibleAmount != visibleAmount + || this.minimum != minimum || this.maximum != maximum)) + peer.setValues(value, visibleAmount, minimum, maximum); + this.value = value; this.visibleAmount = visibleAmount; this.minimum = minimum; this.maximum = maximum; - ScrollbarPeer sp = (ScrollbarPeer)getPeer(); - if (sp != null) - sp.setValues(value, visibleAmount, minimum, maximum); - int range = maximum - minimum; if (lineIncrement > range) { @@ -411,8 +417,8 @@ setValues(int value, int visibleAmount, int minimum, int maximum) else lineIncrement = range; - if (sp != null) - sp.setLineIncrement(lineIncrement); + if (peer != null) + peer.setLineIncrement(lineIncrement); } if (pageIncrement > range) @@ -422,8 +428,8 @@ setValues(int value, int visibleAmount, int minimum, int maximum) else pageIncrement = range; - if (sp != null) - sp.setPageIncrement(pageIncrement); + if (peer != null) + peer.setPageIncrement(pageIncrement); } } @@ -503,9 +509,9 @@ setLineIncrement(int lineIncrement) this.lineIncrement = lineIncrement; - ScrollbarPeer sp = (ScrollbarPeer) getPeer (); - if (sp != null) - sp.setLineIncrement (this.lineIncrement); + ScrollbarPeer peer = (ScrollbarPeer) getPeer (); + if (peer != null) + peer.setLineIncrement (this.lineIncrement); } /*************************************************************************/ @@ -584,9 +590,9 @@ setPageIncrement(int pageIncrement) this.pageIncrement = pageIncrement; - ScrollbarPeer sp = (ScrollbarPeer) getPeer (); - if (sp != null) - sp.setPageIncrement (this.pageIncrement); + ScrollbarPeer peer = (ScrollbarPeer) getPeer (); + if (peer != null) + peer.setPageIncrement (this.pageIncrement); } /*************************************************************************/ @@ -746,5 +752,20 @@ paramString() { this.valueIsAdjusting = valueIsAdjusting; } + + /** + * Generate a unique name for this scroll bar. + * + * @return A unique name for this scroll bar. + */ + String generateName () + { + return "scrollbar" + getUniqueLong (); + } + + private static synchronized long getUniqueLong () + { + return next_scrollbar_number++; + } } // class Scrollbar |