Revision: 3682
Author: [email protected]
Date: Tue Jul 6 15:27:44 2010
Log: NEW - bug 2458: Create Critic Manager
http://trillian.sqlpower.ca/bugzilla/show_bug.cgi?id=2458
Fixed an NPE when clicking on a group name. The isCellEditable only informs
us of the tree that is editable and not the cell in question so now all
cells are editable and those that have nothing to edit return their
rendered component.
http://code.google.com/p/power-architect/source/detail?r=3682
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
Tue Jul 6 15:01:13 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticGroupingPanel.java
Tue Jul 6 15:27:44 2010
@@ -19,8 +19,6 @@
import javax.swing.event.CellEditorListener;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
-import javax.swing.event.TreeSelectionEvent;
-import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.TreeCellEditor;
import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreeModel;
@@ -49,17 +47,6 @@
private final List<CellEditorListener> editorListeners = new
ArrayList<CellEditorListener>();
- private SPObject lastSelectedPath;
-
- public GroupingTreeCellEditor(final JTree tree) {
- tree.addTreeSelectionListener(new TreeSelectionListener() {
-
- public void valueChanged(TreeSelectionEvent e) {
- lastSelectedPath = (SPObject)
e.getNewLeadSelectionPath().getLastPathComponent();
- }
- });
- }
-
public boolean stopCellEditing() {
return true;
}
@@ -73,9 +60,7 @@
}
public boolean isCellEditable(EventObject e) {
- if (lastSelectedPath != null &&
- lastSelectedPath instanceof CriticAndSettings) return
true;
- return false;
+ return true;
}
public Object getCellEditorValue() {
@@ -96,12 +81,10 @@
if (value instanceof CriticAndSettings) {
return settingsPanels.get((CriticAndSettings)
value).getPanel();
}
- return null;
+ return
tree.getCellRenderer().getTreeCellRendererComponent(tree, value,
+ isSelected, expanded, leaf, row, false);
}
- public void setLastSelectedPath(SPObject lastSelectedPath) {
- this.lastSelectedPath = lastSelectedPath;
- }
}
/**
@@ -274,14 +257,10 @@
settingsTree.setCellRenderer(treeCellRenderer);
settingsTree.setRowHeight(0);
settingsTree.setShowsRootHandles(true);
- GroupingTreeCellEditor treeCellEditor = new
GroupingTreeCellEditor(settingsTree);
+ GroupingTreeCellEditor treeCellEditor = new
GroupingTreeCellEditor();
settingsTree.setCellEditor(treeCellEditor);
settingsTree.setEditable(true);
- //Makes the first element in the tree editable so the user doesn't
- //have to click the first time to start editing and then a second
time to
- //make changes.
-
treeCellEditor.setLastSelectedPath(settingsPanels.keySet().iterator().next());
treeCellEditor.isCellEditable(new EventObject(settingsTree));
settingsTree.setBackground(panel.getBackground());