From 4e07a9eadbf4c8bf943964c95a664494508cc28e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 30 Jul 2000 23:19:57 +0000 Subject: Container.java (remove(int)): Wrote. * java/awt/Container.java (remove(int)): Wrote. (remove(Component)): Wrote. (add(Component)): Wrote. (add(Component,int)): Wrote. (removeAll): Wrote. (addNotify): Set our own peer. * java/awt/Scrollbar.java (listeners): Changed type. (Scrollbar): Don't initialize listeners. (addNotify): Wrote. (setValue): Call setValues. (setMinimum): Likewise. (setMaxPriority): Likewise. (setVisibleAmount): Likewise. (setValues): Wrote. (setUnitIncrement): Forward to peer. (setLineIncrement): Call setUnitIncrement. (setPageIncrement): Call setBlockIncrement. (setBlockIncrement): Forward to peer. (addAdjustmentListener): Rewrote. (removeAdjustmentListener): Rewrote. (processAdjustmentEvent): Rewrote. (paramString): Wrote. * Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Added Button.java. * java/awt/Button.java: New file. * java/awt/Toolkit.java (createLabel): Declare. (createButton): Likewise. (createScrollbar): Likewise. (createContainer): Likewise. * java/awt/Label.java (addNotify): Wrote. (setAlignment): Call setAlignment in the peer. (setText): Call setText in the peer. From-SVN: r35354 --- libjava/java/awt/Scrollbar.java | 82 +++++++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 32 deletions(-) (limited to 'libjava/java/awt/Scrollbar.java') diff --git a/libjava/java/awt/Scrollbar.java b/libjava/java/awt/Scrollbar.java index 6f79175..5406c0c 100644 --- a/libjava/java/awt/Scrollbar.java +++ b/libjava/java/awt/Scrollbar.java @@ -8,8 +8,8 @@ details. */ package java.awt; import java.awt.event.*; -import java.util.Vector; -import java.util.Enumeration; +import java.awt.peer.ScrollbarPeer; +import java.awt.peer.ComponentPeer; /** * @author Tom Tromey @@ -47,14 +47,13 @@ public class Scrollbar extends Component implements Adjustable this.minimum = minimum; this.maximum = maximum; this.unit = 1; - this.listeners = new Vector (); this.block = 0; // FIXME } public void addNotify () { - // FIXME + peer = (ComponentPeer) getToolkit ().createScrollbar (this); } public int getOrientation () @@ -76,11 +75,7 @@ public class Scrollbar extends Component implements Adjustable public void setValue (int value) { - if (value < minimum) - value = minimum; - else if (value > maximum) - value = maximum; - this.value = value; + setValues (value, visible, minimum, maximum); } public int getMinimum () @@ -90,8 +85,7 @@ public class Scrollbar extends Component implements Adjustable public void setMinimum (int minimum) { - // FIXME: what if it is > max? - this.minimum = minimum; + setValues (value, visible, minimum, maximum); } public int getMaximum () @@ -101,8 +95,7 @@ public class Scrollbar extends Component implements Adjustable public void setMaximum (int maximum) { - // FIXME: what if it is < min? - this.maximum = maximum; + setValues (value, visible, minimum, maximum); } public int getVisibleAmount () @@ -117,17 +110,23 @@ public class Scrollbar extends Component implements Adjustable public void setVisibleAmount (int visible) { - this.visible = visible; + setValues (value, visible, minimum, maximum); } public void setUnitIncrement (int v) { unit = v; + if (peer != null) + { + ScrollbarPeer sp = (ScrollbarPeer) peer; + sp.setLineIncrement (v); + } } + /** @deprecated */ public void setLineIncrement (int v) { - unit = v; + setUnitIncrement (v); } public int getUnitIncrement () @@ -143,11 +142,16 @@ public class Scrollbar extends Component implements Adjustable public void setBlockIncrement (int v) { block = v; + if (peer != null) + { + ScrollbarPeer sp = (ScrollbarPeer) peer; + sp.setPageIncrement (v); + } } public void setPageIncrement (int v) { - block = v; + setBlockIncrement (v); } public int getBlockIncrement () @@ -163,22 +167,33 @@ public class Scrollbar extends Component implements Adjustable public synchronized void setValues (int value, int visible, int minimum, int maximum) { - // fixme; + if (maximum < minimum) + maximum = minimum; + if (value < minimum) + value = minimum; + if (value > maximum) + value = maximum; + + this.value = value; + this.visible = visible; + this.minimum = minimum; + this.maximum = maximum; + + if (peer != null) + { + ScrollbarPeer sp = (ScrollbarPeer) peer; + sp.setValues (value, visible, minimum, maximum); + } } public void addAdjustmentListener (AdjustmentListener l) { - if (l != null) - { - listeners.addElement (l); - enableEvents (0); // FIXME - } + listeners = AWTEventMulticaster.add (listeners, l); } public void removeAdjustmentListener (AdjustmentListener l) { - if (l != null) - listeners.remove (l); + listeners = AWTEventMulticaster.add (listeners, l); } protected void processEvent (AWTEvent e) @@ -191,20 +206,23 @@ public class Scrollbar extends Component implements Adjustable protected void processAdjustmentEvent (AdjustmentEvent e) { - Enumeration en = listeners.elements (); - while (en.hasMoreElements ()) - { - AdjustmentListener l = (AdjustmentListener) en.nextElement (); - l.adjustmentValueChanged (e); - } + if (listeners != null) + listeners.adjustmentValueChanged (e); } protected String paramString () { - return null; // FIXME + return ("Scrollbar[" + + ((orientation == VERTICAL) ? "VERTICAL" : "HORIZONTAL") + "," + + value + "," + + visible + "," + + minimum + "," + + maximum + "," + + unit + "," + + block + "]"); } - private Vector listeners; + private AdjustmentListener listeners; private int orientation; private int value; private int visible; -- cgit v1.1