From: <sh...@us...> - 2007-09-26 21:52:12
|
Revision: 10759 http://jedit.svn.sourceforge.net/jedit/?rev=10759&view=rev Author: shlomy Date: 2007-09-26 14:52:11 -0700 (Wed, 26 Sep 2007) Log Message: ----------- Fixed the "Use default settings" check-box to recursively disable the mode option pane widgets. Modified Paths: -------------- plugins/CtagsSideKick/trunk/ctags/sidekick/options/AbstractModeOptionPane.java plugins/CtagsSideKick/trunk/ctags/sidekick/options/ModeOptionPanel.java Modified: plugins/CtagsSideKick/trunk/ctags/sidekick/options/AbstractModeOptionPane.java =================================================================== --- plugins/CtagsSideKick/trunk/ctags/sidekick/options/AbstractModeOptionPane.java 2007-09-26 20:00:50 UTC (rev 10758) +++ plugins/CtagsSideKick/trunk/ctags/sidekick/options/AbstractModeOptionPane.java 2007-09-26 21:52:11 UTC (rev 10759) @@ -14,8 +14,7 @@ import org.gjt.sp.jedit.jEdit; @SuppressWarnings("serial") -public abstract class AbstractModeOptionPane extends AbstractOptionPane - implements ActionListener { +public abstract class AbstractModeOptionPane extends AbstractOptionPane { JComboBox modeCB; JCheckBox useDefaultsCheck; @@ -40,7 +39,11 @@ addComponent("Change settings for mode:", modeCB); useDefaultsCheck = new JCheckBox("Use default settings"); - useDefaultsCheck.addActionListener(this); + useDefaultsCheck.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + useDefaultsChanged(); + } + }); addComponent(useDefaultsCheck); pane = addOptionPane(); @@ -69,9 +72,8 @@ pane.save(); } - public void actionPerformed(ActionEvent e) { - if (e.getSource() == useDefaultsCheck) - pane.setUseDefaults(useDefaultsCheck.isSelected()); + public void useDefaultsChanged() { + pane.setUseDefaults(useDefaultsCheck.isSelected()); } } Modified: plugins/CtagsSideKick/trunk/ctags/sidekick/options/ModeOptionPanel.java =================================================================== --- plugins/CtagsSideKick/trunk/ctags/sidekick/options/ModeOptionPanel.java 2007-09-26 20:00:50 UTC (rev 10758) +++ plugins/CtagsSideKick/trunk/ctags/sidekick/options/ModeOptionPanel.java 2007-09-26 21:52:11 UTC (rev 10759) @@ -1,10 +1,12 @@ package ctags.sidekick.options; +import java.awt.Component; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import javax.swing.JComponent; import javax.swing.JPanel; abstract public class ModeOptionPanel extends JPanel implements IModeOptionPane { @@ -49,8 +51,17 @@ else useDefaults.remove(mode); setEnabled(! b); + setEnabled(this, (! b)); } + public void setEnabled(JComponent c, boolean enabled) { + c.setEnabled(enabled); + Component [] children = c.getComponents(); + for (int i = 0; i < children.length; i++) + if (children[i] instanceof JComponent) + setEnabled((JComponent) children[i], enabled); + } + public void save() { updatePropsFromUI(props); Iterator<String> modes = modeProps.keySet().iterator(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |