[gui][PATCH] JCheckBoxMenuItem and fixes to menu items.
Olga Rodimina
rodimina@redhat.com
Fri Apr 2 19:40:00 GMT 2004
Hi,
Attached patch partly implements JCheckBoxMenuItem and adds
JCheckBoxMenuItemUI. It also makes few small various fixes to
JMenuItem and JRadioButtonMenuItem.
I'll be committing this patch to java-gui-branch.
Olga.
-------------- next part --------------
? .snprj
? libjava.proj
? patch
? javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libjava/ChangeLog,v
retrieving revision 1.2660.2.64
diff -c -p -u -r1.2660.2.64 ChangeLog
--- ChangeLog 2 Apr 2004 15:52:51 -0000 1.2660.2.64
+++ ChangeLog 2 Apr 2004 19:23:27 -0000
@@ -1,3 +1,21 @@
+2004-04-02 Olga Rodimina <rodimina@redhat.com>
+
+ * Makefile.am: Added new file.
+ * Makefile.in: Regenerate.
+ * javax/swing/ImageIcon.java:
+ (ImageIcon(file)): set description of the icon
+ to the file name
+ * javax/swing/JCheckBoxMenuItem.java:
+ Mostly Implemented. Work in progress.
+ * javax/swing/JRadioButtonMenuItem.java:
+ Reimplement constructors to use JToggleButtonModel.
+ * javax/swing/plaf/basic/BasicIconFactory.java:
+ (getCheckBoxMenuItemIcon): return check box
+ icon.
+ * javax/swing/plaf/basic/BasicMenuItemUI.java:
+ paint menu item selected only when it is armed and
+ pressed.
+
2004-04-02 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.361.2.9
diff -c -p -u -r1.361.2.9 Makefile.am
--- Makefile.am 31 Mar 2004 18:31:44 -0000 1.361.2.9
+++ Makefile.am 2 Apr 2004 19:23:28 -0000
@@ -1258,6 +1258,7 @@ javax/swing/plaf/basic/BasicProgressBarU
javax/swing/plaf/basic/BasicRootPaneUI.java \
javax/swing/plaf/basic/BasicRadioButtonUI.java \
javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java \
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java \
javax/swing/plaf/basic/BasicScrollBarUI.java \
javax/swing/plaf/basic/BasicScrollPaneUI.java \
javax/swing/plaf/basic/BasicSeparatorUI.java \
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.in,v
retrieving revision 1.385.2.9
diff -c -p -u -r1.385.2.9 Makefile.in
--- Makefile.in 31 Mar 2004 18:31:45 -0000 1.385.2.9
+++ Makefile.in 2 Apr 2004 19:23:28 -0000
@@ -963,6 +963,7 @@ javax/swing/plaf/basic/BasicProgressBarU
javax/swing/plaf/basic/BasicRootPaneUI.java \
javax/swing/plaf/basic/BasicRadioButtonUI.java \
javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java \
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java \
javax/swing/plaf/basic/BasicScrollBarUI.java \
javax/swing/plaf/basic/BasicScrollPaneUI.java \
javax/swing/plaf/basic/BasicSeparatorUI.java \
@@ -3007,6 +3008,7 @@ javax/swing/plaf/basic/BasicProgressBarU
javax/swing/plaf/basic/BasicRootPaneUI.lo \
javax/swing/plaf/basic/BasicRadioButtonUI.lo \
javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.lo \
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.lo \
javax/swing/plaf/basic/BasicScrollBarUI.lo \
javax/swing/plaf/basic/BasicScrollPaneUI.lo \
javax/swing/plaf/basic/BasicSeparatorUI.lo \
@@ -5085,6 +5087,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_D
.deps/javax/swing/plaf/basic/BasicBorders.P \
.deps/javax/swing/plaf/basic/BasicButtonListener.P \
.deps/javax/swing/plaf/basic/BasicButtonUI.P \
+.deps/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.P \
.deps/javax/swing/plaf/basic/BasicCheckBoxUI.P \
.deps/javax/swing/plaf/basic/BasicGraphicsUtils.P \
.deps/javax/swing/plaf/basic/BasicIconFactory.P \
Index: javax/swing/ImageIcon.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/ImageIcon.java,v
retrieving revision 1.2
diff -c -p -u -r1.2 ImageIcon.java
--- javax/swing/ImageIcon.java 11 Jun 2003 13:20:39 -0000 1.2
+++ javax/swing/ImageIcon.java 2 Apr 2004 19:23:29 -0000
@@ -56,7 +56,10 @@ public class ImageIcon implements Icon
public ImageIcon(String s)
{
- this(s, "");
+ // if description is not specified, then file name becomes
+ // desciption for this icon
+
+ this(s, s);
}
public ImageIcon(String file,
Index: javax/swing/JCheckBoxMenuItem.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JCheckBoxMenuItem.java,v
retrieving revision 1.3
diff -c -p -u -r1.3 JCheckBoxMenuItem.java
--- javax/swing/JCheckBoxMenuItem.java 9 Jan 2004 10:18:47 -0000 1.3
+++ javax/swing/JCheckBoxMenuItem.java 2 Apr 2004 19:23:29 -0000
@@ -39,206 +39,135 @@ package javax.swing;
import java.io.IOException;
import java.io.ObjectOutputStream;
+
import javax.accessibility.Accessible;
import javax.accessibility.AccessibleContext;
import javax.accessibility.AccessibleRole;
-/**
- * JCheckBoxMenuItem
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class JCheckBoxMenuItem extends JMenuItem implements SwingConstants, Accessible
-{
-
- //-------------------------------------------------------------
- // Classes ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * AccessibleJCheckBoxMenuItem
- */
- protected class AccessibleJCheckBoxMenuItem extends AccessibleJMenuItem {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Constructor AccessibleJCheckBoxMenuItem
- * @param component TODO
- */
- protected AccessibleJCheckBoxMenuItem(JCheckBoxMenuItem component) {
- super(component);
- // TODO
- } // AccessibleJCheckBoxMenuItem()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * getAccessibleRole
- * @returns AccessibleRole
- */
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.CHECK_BOX;
- } // getAccessibleRole()
-
-
- } // AccessibleJCheckBoxMenuItem
-
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * uiClassID
- */
- private static final String uiClassID = "CheckBoxMenuItemUI";
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Constructor JCheckBoxMenuItem
- */
- public JCheckBoxMenuItem() {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param icon TODO
- */
- public JCheckBoxMenuItem(Icon icon) {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param text TODO
- */
- public JCheckBoxMenuItem(String text) {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param action TODO
- */
- public JCheckBoxMenuItem(Action action) {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param text TODO
- * @param icon TODO
- */
- public JCheckBoxMenuItem(String text, Icon icon) {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param text TODO
- * @param state TODO
- */
- public JCheckBoxMenuItem(String text, boolean state) {
- // TODO
- } // JCheckBoxMenuItem()
-
- /**
- * Constructor JCheckBoxMenuItem
- * @param text TODO
- * @param icon TODO
- * @param state TODO
- */
- public JCheckBoxMenuItem(String text, Icon icon, boolean state) {
- // TODO
- } // JCheckBoxMenuItem()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * writeObject
- * @param stream TODO
- * @exception IOException TODO
- */
- private void writeObject(ObjectOutputStream stream) throws IOException {
- // TODO
- } // writeObject()
-
- /**
- * getUIClassID
- * @returns String
- */
- public String getUIClassID() {
- return uiClassID;
- } // getUIClassID()
-
- /**
- * getState
- * @returns boolean
- */
- public boolean getState() {
- return false; // TODO
- } // getState()
-
- /**
- * setState
- * @param state TODO
- */
- public synchronized void setState(boolean state) {
- // TODO
- } // setState()
-
- /**
- * getSelectedObjects
- * @returns Object[]
- */
- public Object[] getSelectedObjects() {
- return null; // TODO
- } // getSelectedObjects()
-
- /**
- * requestFocus
- */
- public void requestFocus() {
- // TODO
- } // requestFocus()
-
- /**
- * paramString
- * @returns String
- */
- protected String paramString() {
- return null; // TODO
- } // paramString()
-
- /**
- * getAccessibleContext
- * @returns AccessibleContext
- */
- public AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleJCheckBoxMenuItem(this);
- } // if
- return accessibleContext;
- } // getAccessibleContext()
-
+public class JCheckBoxMenuItem extends JMenuItem implements SwingConstants,
+ Accessible
+{
+ //-------------------------------------------------------------
+ // Variables --------------------------------------------------
+ //-------------------------------------------------------------
+ private static final String uiClassID = "CheckBoxMenuItemUI";
+ private boolean state;
+ private Object[] selectedObjects;
+
+ //-------------------------------------------------------------
+ // Initialization ---------------------------------------------
+ //-------------------------------------------------------------
+ public JCheckBoxMenuItem()
+ {
+ this(null, null);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(Icon icon)
+ {
+ this(null, icon);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(String text)
+ {
+ this(text, null);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(Action action)
+ {
+ this();
+ setAction(action);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(String text, Icon icon)
+ {
+ this(text, icon, false);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(String text, boolean state)
+ {
+ this(text, null, state);
+ } // JCheckBoxMenuItem()
+
+ public JCheckBoxMenuItem(String text, Icon icon, boolean state)
+ {
+ super(text, icon);
+ setModel(new JToggleButton.ToggleButtonModel());
+ this.state = state;
+ } // JCheckBoxMenuItem()
+
+ //-------------------------------------------------------------
+ // Methods ----------------------------------------------------
+ //-------------------------------------------------------------
+ private void writeObject(ObjectOutputStream stream) throws IOException
+ {
+ // TODO
+ } // writeObject()
+
+ public String getUIClassID()
+ {
+ return uiClassID;
+ } // getUIClassID()
+
+ public boolean getState()
+ {
+ return state;
+ } // getState()
+
+ public synchronized void setState(boolean state)
+ {
+ this.state = state;
+ } // setState()
+
+ public Object[] getSelectedObjects()
+ {
+ return selectedObjects;
+ } // getSelectedObjects()
+
+ public void requestFocus()
+ {
+ // TODO
+ } // requestFocus()
+
+ protected String paramString()
+ {
+ return "JCheckBoxMenuItem";
+ } // paramString()
+
+ public AccessibleContext getAccessibleContext()
+ {
+ if (accessibleContext == null)
+ {
+ accessibleContext = new AccessibleJCheckBoxMenuItem(this);
+ }
+
+ return accessibleContext;
+ } // getAccessibleContext()
+
+ //-------------------------------------------------------------
+ // Classes ----------------------------------------------------
+ //-------------------------------------------------------------
+ protected class AccessibleJCheckBoxMenuItem extends AccessibleJMenuItem
+ {
+ //-------------------------------------------------------------
+ // Variables --------------------------------------------------
+ //-------------------------------------------------------------
+ //-------------------------------------------------------------
+ // Initialization ---------------------------------------------
+ //-------------------------------------------------------------
+ protected AccessibleJCheckBoxMenuItem(JCheckBoxMenuItem component)
+ {
+ super(component);
+
+ // TODO
+ } // AccessibleJCheckBoxMenuItem()
+
+ //-------------------------------------------------------------
+ // Methods ----------------------------------------------------
+ //-------------------------------------------------------------
+ public AccessibleRole getAccessibleRole()
+ {
+ return AccessibleRole.CHECK_BOX;
+ } // getAccessibleRole()
+ } // AccessibleJCheckBoxMenuItem
} // JCheckBoxMenuItem
Index: javax/swing/JRadioButtonMenuItem.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JRadioButtonMenuItem.java,v
retrieving revision 1.3.8.1
diff -c -p -u -r1.3.8.1 JRadioButtonMenuItem.java
--- javax/swing/JRadioButtonMenuItem.java 31 Mar 2004 18:31:46 -0000 1.3.8.1
+++ javax/swing/JRadioButtonMenuItem.java 2 Apr 2004 19:23:29 -0000
@@ -78,24 +78,23 @@ public class JRadioButtonMenuItem extend
public JRadioButtonMenuItem(String text, Icon icon)
{
- super(text, icon);
+ this(text, icon, false);
} // JRadioButtonMenuItem()
public JRadioButtonMenuItem(String text, boolean selected)
{
- this(text, null);
- model.setSelected(selected);
+ this(text, null, selected);
} // JRadioButtonMenuItem()
public JRadioButtonMenuItem(Icon icon, boolean selected)
{
- this(null, icon);
- model.setSelected(selected);
+ this(null, icon, selected);
} // JRadioButtonMenuItem()
public JRadioButtonMenuItem(String text, Icon icon, boolean selected)
{
- this(text, icon);
+ super(text, icon);
+ setModel(new JToggleButton.ToggleButtonModel());
model.setSelected(selected);
} // JRadioButtonMenuItem()
Index: javax/swing/plaf/basic/BasicIconFactory.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/plaf/basic/BasicIconFactory.java,v
retrieving revision 1.3.2.1
diff -c -p -u -r1.3.2.1 BasicIconFactory.java
--- javax/swing/plaf/basic/BasicIconFactory.java 31 Mar 2004 18:31:47 -0000 1.3.2.1
+++ javax/swing/plaf/basic/BasicIconFactory.java 2 Apr 2004 19:23:29 -0000
@@ -196,7 +196,7 @@ public class BasicIconFactory implements
}
public static Icon getCheckBoxMenuItemIcon()
{
- return new DummyIcon();
+ return getCheckBoxIcon();
}
public static Icon getRadioButtonMenuItemIcon()
{
Index: javax/swing/plaf/basic/BasicMenuItemUI.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/plaf/basic/Attic/BasicMenuItemUI.java,v
retrieving revision 1.1.2.3
diff -c -p -u -r1.1.2.3 BasicMenuItemUI.java
--- javax/swing/plaf/basic/BasicMenuItemUI.java 31 Mar 2004 18:31:48 -0000 1.1.2.3
+++ javax/swing/plaf/basic/BasicMenuItemUI.java 2 Apr 2004 19:23:29 -0000
@@ -323,7 +323,7 @@ public class BasicMenuItemUI extends Men
SwingUtilities.calculateInsetArea(br, b.getMargin(), vr);
paintBackground(g, (JMenuItem) c, c.getBackground());
- if ((b.getModel().isArmed() && b.getModel().isPressed()) || b.isSelected())
+ if ((b.getModel().isArmed() && b.getModel().isPressed()))
{
if (((AbstractButton) b).isContentAreaFilled())
{
More information about the Java-patches
mailing list