aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/Container.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-07-30 23:19:57 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-07-30 23:19:57 +0000
commit4e07a9eadbf4c8bf943964c95a664494508cc28e (patch)
tree5171363ed0ce09ef1ceb12e1a0d67aa47dd4bd2a /libjava/java/awt/Container.java
parent3a8c5c77d573036d25982d47366164bc05112f61 (diff)
downloadgcc-4e07a9eadbf4c8bf943964c95a664494508cc28e.zip
gcc-4e07a9eadbf4c8bf943964c95a664494508cc28e.tar.gz
gcc-4e07a9eadbf4c8bf943964c95a664494508cc28e.tar.bz2
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
Diffstat (limited to 'libjava/java/awt/Container.java')
-rw-r--r--libjava/java/awt/Container.java51
1 files changed, 40 insertions, 11 deletions
diff --git a/libjava/java/awt/Container.java b/libjava/java/awt/Container.java
index 8484024..81a367b 100644
--- a/libjava/java/awt/Container.java
+++ b/libjava/java/awt/Container.java
@@ -12,6 +12,8 @@ import java.awt.event.*;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.EventListener;
+import java.awt.peer.ComponentPeer;
+import java.awt.peer.ContainerPeer;
/* A very incomplete placeholder. */
@@ -70,10 +72,9 @@ public abstract class Container extends Component
return getInsets();
}
- public Component add(Component comp)
+ public Component add (Component comp)
{
- // FIXME
- return null;
+ return add (comp, -1);
}
public Component add(String name, Component comp)
@@ -84,8 +85,27 @@ public abstract class Container extends Component
public Component add(Component comp, int index)
{
- // FIXME
- return null;
+ // This isn't the most efficient implementation. We could do less
+ // copying when growing the array. It probably doesn't matter.
+ if (ncomponents >= component.length)
+ {
+ int nl = component.length * 2;
+ Component[] c = new Component[nl];
+ System.arraycopy (component, 0, c, 0, ncomponents);
+ component = c;
+ }
+
+ if (index == -1)
+ component[ncomponents++] = comp;
+ else
+ {
+ System.arraycopy (component, index, component, index + 1,
+ ncomponents - index);
+ component[index] = comp;
+ ++ncomponents;
+ }
+
+ return comp;
}
public void add(Component comp, Object constraints)
@@ -103,19 +123,27 @@ public abstract class Container extends Component
// FIXME
}
- public void remove(int index)
+ public void remove (int index)
{
- // FIXME
+ System.arraycopy (component, index + 1, component, index,
+ ncomponents - index - 1);
+ component[--ncomponents] = null;
}
- public void remove(Component comp)
+ public void remove (Component comp)
{
- // FIXME
+ for (int i = 0; i < ncomponents; ++i)
+ if (component[i] == comp)
+ {
+ remove (i);
+ break;
+ }
}
public void removeAll()
{
- // FIXME
+ while (ncomponents >= 0)
+ component[--ncomponents] = null;
}
public LayoutManager getLayout()
@@ -317,7 +345,8 @@ public abstract class Container extends Component
{
for (int i = ncomponents; --i >= 0; )
component[i].addNotify();
- }
+ peer = (ComponentPeer) getToolkit ().createContainer (this);
+ }
public void removeNotify()
{