Author: kono
Date: 2012-06-27 15:41:32 -0700 (Wed, 27 Jun 2012)
New Revision: 29710

Modified:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyColorPropertyEditor.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/CyColorChooser.java
Log:
fixes #1174 (Probably) fixed this race condition.  Constructor will be called 
in EDT.

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
      2012-06-27 21:16:50 UTC (rev 29709)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
      2012-06-27 22:41:32 UTC (rev 29710)
@@ -34,6 +34,7 @@
 import org.cytoscape.view.vizmap.gui.internal.editor.EditorManagerImpl;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.NumberVisualPropertyEditor;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.StringVisualPropertyEditor;
+import 
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyColorPropertyEditor;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyComboBoxPropertyEditor;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.BooleanValueEditor;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.CyColorChooser;
@@ -97,6 +98,8 @@
                PropertySheetPanel propertySheetPanel = new 
PropertySheetPanel();
                
                CyColorChooser colorEditor = new CyColorChooser();
+               CyColorPropertyEditor cyColorPropertyEditor = new 
CyColorPropertyEditor(colorEditor);
+               
                FontEditor fontEditor = new FontEditor();
                NumericValueEditor<Double> doubleValueEditor = new 
NumericValueEditor<Double>(Double.class);
                NumericValueEditor<Integer> integerValueEditor = new 
NumericValueEditor<Integer>(Integer.class);
@@ -104,7 +107,7 @@
                StringValueEditor stringValueEditor = new StringValueEditor();
                BooleanValueEditor booleanValueEditor = new 
BooleanValueEditor();
                
-               ColorVisualPropertyEditor colorPropertyEditor = new 
ColorVisualPropertyEditor(Paint.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,editorManager,vmmServiceRef);
+               ColorVisualPropertyEditor colorPropertyEditor = new 
ColorVisualPropertyEditor(Paint.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,editorManager,vmmServiceRef,
 cyColorPropertyEditor);
                NumberVisualPropertyEditor doublePropertyEditor = new 
NumberVisualPropertyEditor(Double.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,editorManager,vmmServiceRef);
                NumberVisualPropertyEditor integerPropertyEditor = new 
NumberVisualPropertyEditor(Integer.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,editorManager,vmmServiceRef);
                NumberVisualPropertyEditor floatPropertyEditor = new 
NumberVisualPropertyEditor(Float.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,editorManager,vmmServiceRef);

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
 2012-06-27 21:16:50 UTC (rev 29709)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
 2012-06-27 22:41:32 UTC (rev 29710)
@@ -55,15 +55,9 @@
         * Constructor. Should instantiate one editor per VisualProperty.
         */
        public ColorVisualPropertyEditor(final Class<Paint> type, final 
CyNetworkTableManager manager,
-                       final CyApplicationManager appManager, final 
EditorManager editorManager, final VisualMappingManager vmm) {
-               super(type, new CyColorPropertyEditor(), 
ContinuousEditorType.COLOR);
+                       final CyApplicationManager appManager, final 
EditorManager editorManager, final VisualMappingManager vmm, final 
CyColorPropertyEditor colorPropEditor) {
+               super(type, colorPropEditor, ContinuousEditorType.COLOR);
 
                this.discreteTableCellRenderer = REG.getRenderer(Color.class);
-
-               // this.continuousEditor = new GradientEditor(manager, 
appManager,
-               // selectedManager, editorManager, vmm);
-               // this.continuousTableCellRenderer = new
-               // 
ContinuousMappingCellRenderer((AbstractContinuousMappingEditor<?, ?>)
-               // continuousEditor);
        }
-}
+}
\ No newline at end of file

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyColorPropertyEditor.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyColorPropertyEditor.java
      2012-06-27 21:16:50 UTC (rev 29709)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyColorPropertyEditor.java
      2012-06-27 22:41:32 UTC (rev 29710)
@@ -41,6 +41,7 @@
 
 import javax.swing.JButton;
 import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
 
 import org.cytoscape.view.vizmap.gui.internal.cellrenderer.CyColorCellRenderer;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.CyColorChooser;
@@ -63,31 +64,39 @@
        private JButton button;
        private Color color;
 
-       private CyColorChooser chooser;
+       private final CyColorChooser chooser;
 
        /**
         * Creates a new CyColorPropertyEditor object.
         */
-       public CyColorPropertyEditor() {
+       public CyColorPropertyEditor(final CyColorChooser chooser) {
                color = Color.white;
-               chooser = new CyColorChooser();
-               editor = new JPanel(new PercentLayout(PercentLayout.HORIZONTAL, 
0));
-               ((JPanel) editor).add("*", label = new CyColorCellRenderer());
-               label.setOpaque(false);
-               ((JPanel) editor).add(button = 
ComponentFactory.Helper.getFactory().createMiniButton());
-               button.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent e) {
-                               selectColor();
+               this.chooser = chooser;
+
+               SwingUtilities.invokeLater(new Runnable() {
+
+                       @Override
+                       public void run() {
+                               editor = new JPanel(new 
PercentLayout(PercentLayout.HORIZONTAL, 0));
+                               ((JPanel) editor).add("*", label = new 
CyColorCellRenderer());
+                               label.setOpaque(false);
+                               ((JPanel) editor).add(button = 
ComponentFactory.Helper.getFactory().createMiniButton());
+                               button.addActionListener(new ActionListener() {
+                                       public void actionPerformed(ActionEvent 
e) {
+                                               selectColor();
+                                       }
+                               });
+                               ((JPanel) editor).add(button = 
ComponentFactory.Helper.getFactory().createMiniButton());
+                               button.setText("X");
+                               button.addActionListener(new ActionListener() {
+                                       public void actionPerformed(ActionEvent 
e) {
+                                               selectNull();
+                                       }
+                               });
+                               ((JPanel) editor).setOpaque(false);
                        }
                });
-               ((JPanel) editor).add(button = 
ComponentFactory.Helper.getFactory().createMiniButton());
-               button.setText("X");
-               button.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent e) {
-                               selectNull();
-                       }
-               });
-               ((JPanel) editor).setOpaque(false);
+
        }
 
        @Override
@@ -101,7 +110,7 @@
                label.setValue(color);
        }
 
-       protected void selectColor() {
+       private void selectColor() {
                ResourceManager rm = 
ResourceManager.all(FilePropertyEditor.class);
                String title = rm.getString("ColorPropertyEditor.title");
                Paint selectedColor = chooser.showEditor(editor, color);

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/CyColorChooser.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/CyColorChooser.java
        2012-06-27 21:16:50 UTC (rev 29709)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/CyColorChooser.java
        2012-06-27 22:41:32 UTC (rev 29710)
@@ -52,17 +52,16 @@
  * remembers recently used colors between invocations of the chooser dialog.
  */
 public class CyColorChooser implements ValueEditor<Paint> {
-       
+
        protected JColorChooser chooser = new JColorChooser();
        protected ColorListener listener = new ColorListener();
        protected Paint color = Color.white;
 
+       @Override
+       public Paint showEditor(Component parent, Paint initialValue) {
 
-       @Override public Paint showEditor(Component parent, Paint initialValue) 
{
-
                color = initialValue;
-               JDialog dialog = JColorChooser.createDialog(parent,
-                               "Please pick a color", true, chooser, listener, 
null);
+               JDialog dialog = JColorChooser.createDialog(parent, "Please 
pick a color", true, chooser, listener, null);
                dialog.setVisible(true);
 
                return color;

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to