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() {

Reply via email to