Revision: 3600
Author: [email protected]
Date: Fri Jun 11 09:50:01 2010
Log: NEW - bug 2458: Create Critic Manager
http://trillian.sqlpower.ca/bugzilla/show_bug.cgi?id=2458
Clicking on a badge in the play pen now highlights the critics that belong
with the badge.
http://code.google.com/p/power-architect/source/detail?r=3600
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticPanel.java
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
Fri Jun 11 09:19:49 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
Fri Jun 11 09:50:01 2010
@@ -1300,5 +1300,9 @@
rightPanel.setDividerLocation((int) (screenHeight - viewHeight));
criticPanelToggleButton.setSelected(true);
}
+
+ public CriticPanel getCriticPanel() {
+ return criticPanel;
+ }
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
Fri Jun 11 09:27:03 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
Fri Jun 11 09:50:01 2010
@@ -168,6 +168,10 @@
@Override
public void handleMouseEvent(MouseEvent evt) {
+ if ((evt.getID() == MouseEvent.MOUSE_RELEASED || evt.getID() ==
MouseEvent.MOUSE_CLICKED) &&
+ evt.getButton() == MouseEvent.BUTTON1) {
+
getPlayPen().getSession().getArchitectFrame().getCriticPanel().selectCriticisms(criticisms);
+ }
// TODO left click should highlight criticisms in the panel in the
play pen
// TODO right click should give a menu option to ignore a critic
on the subject.
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticPanel.java
Fri Jun 11 09:19:49 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticPanel.java
Fri Jun 11 09:50:01 2010
@@ -20,6 +20,7 @@
package ca.sqlpower.architect.swingui.critic;
import java.awt.BorderLayout;
+import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JButton;
@@ -29,6 +30,7 @@
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
+import ca.sqlpower.architect.ddl.critic.Criticism;
import ca.sqlpower.architect.ddl.critic.CriticAndSettings.Severity;
import ca.sqlpower.architect.swingui.ArchitectSwingSession;
import ca.sqlpower.swingui.table.FancyExportableJTable;
@@ -73,11 +75,13 @@
private final ArchitectSwingSession session;
+ private final FancyExportableJTable table;
+
public CriticPanel(ArchitectSwingSession session) {
this.session = session;
CriticismTableModel tableModel = new
CriticismTableModel(session.getPlayPen().getCriticismBucket());
- FancyExportableJTable table = new
FancyExportableJTable(tableModel);
+ table = new FancyExportableJTable(tableModel);
table.setDefaultRenderer(Severity.class, tableRenderer);
panel = new JPanel(new BorderLayout());
panel.add(new JScrollPane(table), BorderLayout.CENTER);
@@ -94,4 +98,11 @@
return panel;
}
-}
+ public void selectCriticisms(List<Criticism> selectMe) {
+ table.clearSelection();
+ for (Criticism criticism : selectMe) {
+ int index =
session.getPlayPen().getCriticismBucket().getCriticisms().indexOf(criticism);
+ table.changeSelection(index, index, true, false);
+ }
+ }
+}