Revision: 3774
Author: [email protected]
Date: Thu Jul 22 09:04:34 2010
Log: Improved the look of the grouping panel. Now when you un-check a
section to stop getting criticisms on a number of critics the critics in
the manager's panel will be greyed out and not be editable.
http://code.google.com/p/power-architect/source/detail?r=3774
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
Mon Jul 19 09:30:02 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
Thu Jul 22 09:04:34 2010
@@ -17,6 +17,8 @@
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.event.CellEditorListener;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreeCellEditor;
@@ -201,6 +203,9 @@
parentPanel.setPreferredCriticPanelSize(preferredCriticPanelSize);
JComponent thisSettingsPanel =
settingsPanels.get((CriticAndSettings) value).getPanel();
thisSettingsPanel.setPreferredSize(new
Dimension(preferredCriticPanelSize,
thisSettingsPanel.getPreferredSize().height));
+ for (Component c : thisSettingsPanel.getComponents()) {
+ c.setEnabled(tree.isEnabled());
+ }
return thisSettingsPanel;
}
return null;
@@ -253,7 +258,7 @@
grouping.addSPListener(groupListener);
- JTree settingsTree = new JTree(treeModel);
+ final JTree settingsTree = new JTree(treeModel);
settingsTree.setCellRenderer(treeCellRenderer);
settingsTree.setRowHeight(0);
settingsTree.setShowsRootHandles(true);
@@ -265,6 +270,17 @@
settingsTree.setBackground(panel.getBackground());
builder.append(settingsTree);
+
+ enabledCheckbox.addChangeListener(new ChangeListener() {
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ settingsTree.setEnabled(enabledCheckbox.isSelected());
+ settingsTree.setEditable(enabledCheckbox.isSelected());
+ }
+ });
+ settingsTree.setEnabled(enabledCheckbox.isSelected());
+ settingsTree.setEditable(enabledCheckbox.isSelected());
+
}
public boolean applyChanges() {