Source code: com/memoire/bu/BuActionChecker.java
1 /**
2 * @modification $Date: 2001/12/03 16:28:06 $
3 * @statut unstable
4 * @file BuActionChecker.java
5 * @version 0.36
6 * @author Guillaume Desnoix
7 * @email guillaume@desnoix.com
8 * @license GNU General Public License 2 (GPL2)
9 * @copyright 1998-2001 Guillaume Desnoix
10 */
11
12 package com.memoire.bu;
13
14 import com.memoire.bu.*;
15 import com.memoire.dnd.*;
16 import com.memoire.fu.*;
17 import com.memoire.re.*;
18
19
20 import java.awt.*;
21 import java.awt.event.*;
22 import javax.swing.*;
23
24 /**
25 * An utility class to check/uncheck controls by their command name.
26 * The command name is a string defined for each control
27 * using setActionCommand().
28 */
29
30 public class BuActionChecker
31 {
32
33 // Menu
34
35 public static void setCheckedForAction
36 (JMenuBar _bar, String _action, boolean _state)
37 {
38 MenuElement[] c=_bar.getSubElements();
39 for(int i=0; i<c.length; i++)
40 if(c[i] instanceof JMenu)
41 setCheckedForAction((JMenu)c[i],_action,_state);
42 }
43
44 public static void setCheckedForAction
45 (JMenu _menu, String _action, boolean _state)
46 {
47 MenuElement[] c=_menu.getSubElements();
48 for(int i=0; i<c.length; i++)
49 {
50 if(c[i] instanceof JMenu)
51 setCheckedForAction((JMenu)c[i],_action,_state);
52 else
53 if(c[i] instanceof JPopupMenu)
54 setCheckedForAction((JPopupMenu)c[i],_action,_state);
55 else
56 if(c[i] instanceof JCheckBoxMenuItem)
57 setCheckedForAction((JCheckBoxMenuItem)c[i],_action,_state);
58 else
59 if(c[i] instanceof JRadioButtonMenuItem)
60 setCheckedForAction((JRadioButtonMenuItem)c[i],_action,_state);
61 // else System.err.println("??? "+c[i]);
62 }
63 }
64
65 public static void setCheckedForAction
66 (JPopupMenu _menu, String _action, boolean _state)
67 {
68 MenuElement[] c=_menu.getSubElements();
69 for(int i=0; i<c.length; i++)
70 {
71 if(c[i] instanceof JMenu)
72 setCheckedForAction((JMenu)c[i],_action,_state);
73 else
74 if(c[i] instanceof JPopupMenu)
75 setCheckedForAction((JPopupMenu)c[i],_action,_state);
76 else
77 if(c[i] instanceof JCheckBoxMenuItem)
78 setCheckedForAction((JCheckBoxMenuItem)c[i],_action,_state);
79 else
80 if(c[i] instanceof JRadioButtonMenuItem)
81 setCheckedForAction((JRadioButtonMenuItem)c[i],_action,_state);
82 // else System.err.println("??? "+c[i]);
83 }
84 }
85
86 public static void setCheckedForAction
87 (JCheckBoxMenuItem _item, String _action, boolean _state)
88 {
89 if(_item.getActionCommand().equals(_action))
90 _item.setSelected(_state);
91 }
92
93 public static void setCheckedForAction
94 (JRadioButtonMenuItem _item, String _action, boolean _state)
95 {
96 if(_item.getActionCommand().equals(_action))
97 _item.setSelected(_state);
98 }
99
100 // Tool
101
102 public static void setCheckedForAction
103 (JToolBar _bar, String _action, boolean _state)
104 {
105 Component[] c=_bar.getComponents();
106 for(int i=0; i<c.length; i++)
107 if(c[i] instanceof JToggleButton)
108 setCheckedForAction((JToggleButton)c[i],_action,_state);
109 }
110
111 public static void setCheckedForAction
112 (JToggleButton _item, String _action, boolean _state)
113 {
114 if(_item.getActionCommand().equals(_action))
115 _item.setSelected(_state);
116 }
117 }