diff options
author | Tom Tromey <tromey@redhat.com> | 2000-12-26 00:25:13 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-12-26 00:25:13 +0000 |
commit | 5472d1951a2f96bf92d004dec143cd21a4da3965 (patch) | |
tree | a938f800a6d828c421e0820a9d7ebe6d666e7f6e /libjava/java/awt/FlowLayout.java | |
parent | 83050e0d93035b6d3f426df57e9096243d63800e (diff) | |
download | gcc-5472d1951a2f96bf92d004dec143cd21a4da3965.zip gcc-5472d1951a2f96bf92d004dec143cd21a4da3965.tar.gz gcc-5472d1951a2f96bf92d004dec143cd21a4da3965.tar.bz2 |
MenuContainer.java: Fixed typo.
* java/awt/MenuContainer.java: Fixed typo.
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added SystemColor.java.
* java/awt/SystemColor.java: New file.
* java/awt/Color.java (rgba): Now package-private.
* java/awt/event/InputEvent.java (isAltGraphDown): New method.
* java/awt/event/ContainerEvent.java (getContainer): Renamed from
getComponent.
* java/awt/MenuItem.java (addNotify): New method.
(MenuItem(String,MenuShortcut)): New constructor.
(setLabel): Notify peer of change.
(setEnabled): Likewise.
* java/awt/GridLayout.java (toString): New method.
* java/awt/FlowLayout.java (LEADING, TRAILING): New constants.
(FlowLayout): Check for LEADING and TRAILING.
(setAlignment): Likewise.
(layoutContainer): Handle component orientation.
* java/awt/Component.java (orientatin): New field.
(setComponentOrientation): Wrote.
(getComponentOrientation): Wrote.
* java/awt/Event.java (Event): Implements Serializable.
(consumed): New field for serialization.
* java/awt/Dimension.java (Dimension): Implements Serializable.
* java/awt/Cursor.java (Cursor): Implements Serializable.
* java/awt/Container.java (Container): No longer abstract.
* java/awt/Choice.java: Wrote.
* java/awt/Checkbox.java: Wrote.
* java/awt/ItemSelectable.java: Documented.
* java/awt/CheckboxGroup.java: Wrote.
* java/awt/CardLayout.java (layoutContainer): Directly use fields
in other classes.
(getSize): Likewise.
From-SVN: r38486
Diffstat (limited to 'libjava/java/awt/FlowLayout.java')
-rw-r--r-- | libjava/java/awt/FlowLayout.java | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/libjava/java/awt/FlowLayout.java b/libjava/java/awt/FlowLayout.java index c74d802..95cb6e6 100644 --- a/libjava/java/awt/FlowLayout.java +++ b/libjava/java/awt/FlowLayout.java @@ -27,6 +27,13 @@ public class FlowLayout implements LayoutManager, Serializable /** Constant that specifies right alignment. */ public static final int RIGHT = 2; + /** Constant that specifies alignment to leading edge of container's + * orientation. */ + public static final int LEADING = 3; + /** Constant that specifies alignment to trailing edge of container's + * orientation. */ + public static final int TRAILING = 4; + /** Add a new component to the layout. This particular implementation * does nothing. */ @@ -82,7 +89,8 @@ public class FlowLayout implements LayoutManager, Serializable throw new IllegalArgumentException ("horizontal gap must be nonnegative"); if (vgap < 0) throw new IllegalArgumentException ("vertical gap must be nonnegative"); - if (align != LEFT && align != RIGHT && align != CENTER) + if (align != LEFT && align != RIGHT && align != CENTER + && align != LEADING && align != TRAILING) throw new IllegalArgumentException ("invalid align: " + align); this.align = align; this.hgap = hgap; @@ -101,6 +109,9 @@ public class FlowLayout implements LayoutManager, Serializable Dimension d = parent.getSize (); Insets ins = parent.getInsets (); + ComponentOrientation orient = parent.getComponentOrientation (); + boolean left_to_right = orient.isLeftToRight (); + int y = ins.top + vgap; int i = 0; while (i < num) @@ -128,12 +139,20 @@ public class FlowLayout implements LayoutManager, Serializable // Set the location of each component for this row. int x; - if (align == LEFT) + + int myalign = align; + if (align == LEADING) + myalign = left_to_right ? LEFT : RIGHT; + else if (align == TRAILING) + myalign = left_to_right ? RIGHT : LEFT; + + if (myalign == LEFT) x = ins.left + hgap; - else if (align == CENTER) + else if (myalign == CENTER) x = (d.width - new_w) / 2; else x = d.width - new_w; + for (int k = i; i < j; ++k) { // FIXME: this is very inefficient. @@ -178,7 +197,8 @@ public class FlowLayout implements LayoutManager, Serializable */ public void setAlignment (int align) { - if (align != LEFT && align != RIGHT && align != CENTER) + if (align != LEFT && align != RIGHT && align != CENTER + && align != LEADING && align != TRAILING) throw new IllegalArgumentException ("invalid align: " + align); this.align = align; } |