Revision: 3602
Author: [email protected]
Date: Fri Jun 11 11:41:01 2010
Log: NEW - bug 2458: Create Critic Manager
http://trillian.sqlpower.ca/bugzilla/show_bug.cgi?id=2458
Added a right-click menu option to use quick fixes on badges that have them
http://code.google.com/p/power-architect/source/detail?r=3602
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
Fri Jun 11 09:50:01 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/critic/CriticBadge.java
Fri Jun 11 11:41:01 2010
@@ -19,13 +19,18 @@
package ca.sqlpower.architect.swingui.critic;
+import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import javax.swing.AbstractAction;
+import javax.swing.JPopupMenu;
+
import ca.sqlpower.architect.ddl.critic.Criticism;
+import ca.sqlpower.architect.ddl.critic.QuickFix;
import ca.sqlpower.architect.swingui.PlayPenComponent;
import ca.sqlpower.object.AbstractPoolingSPListener;
import ca.sqlpower.object.AbstractSPListener;
@@ -172,8 +177,19 @@
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.
+ if (evt.isPopupTrigger()) {
+ JPopupMenu menu = new JPopupMenu();
+ for (Criticism criticism : criticisms) {
+ for (final QuickFix quickFix : criticism.getFixes()) {
+ menu.add(new AbstractAction(quickFix.getDescription())
{
+ public void actionPerformed(ActionEvent arg0) {
+ quickFix.apply();
+ }
+ });
+ }
+ }
+ menu.show(getPlayPen(), evt.getX(), evt.getY());
+ }
}
/**