Author: kono
Date: 2012-04-27 16:04:15 -0700 (Fri, 27 Apr 2012)
New Revision: 29035
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BooleanVisualPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/StringVisualPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/BooleanValueEditor.java
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/VizMapPropertyBuilder.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BasicVisualPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/NumberVisualPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyStringPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/StringValueEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
Log:
fixes #910 Broken discrete cell editors are fixed.
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-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -30,9 +30,13 @@
import org.cytoscape.view.vizmap.gui.editor.VisualPropertyEditor;
import org.cytoscape.view.vizmap.gui.internal.action.EditSelectedCellAction;
import org.cytoscape.view.vizmap.gui.internal.bypass.BypassManager;
+import
org.cytoscape.view.vizmap.gui.internal.editor.BooleanVisualPropertyEditor;
import org.cytoscape.view.vizmap.gui.internal.editor.ColorVisualPropertyEditor;
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.CyComboBoxPropertyEditor;
+import
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.BooleanValueEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.CyColorChooser;
import org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.FontEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.NumericValueEditor;
@@ -96,14 +100,22 @@
CyColorChooser colorEditor = new CyColorChooser();
FontEditor fontEditor = new FontEditor();
- NumericValueEditor doubleValueEditor = new
NumericValueEditor(Double.class);
- NumericValueEditor integerValueEditor = new
NumericValueEditor(Integer.class);
- NumericValueEditor floatValueEditor = new
NumericValueEditor(Float.class);
- StringValueEditor stringValueEditor = new
StringValueEditor(String.class);
+ NumericValueEditor<Double> doubleValueEditor = new
NumericValueEditor<Double>(Double.class);
+ NumericValueEditor<Integer> integerValueEditor = new
NumericValueEditor<Integer>(Integer.class);
+ NumericValueEditor<Float> floatValueEditor = new
NumericValueEditor<Float>(Float.class);
+ StringValueEditor stringValueEditor = new StringValueEditor();
+ BooleanValueEditor booleanValueEditor = new
BooleanValueEditor();
+
ColorVisualPropertyEditor colorPropertyEditor = new
ColorVisualPropertyEditor(Paint.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,selectedVisualStyleManager,editorManager,vmmServiceRef);
NumberVisualPropertyEditor doublePropertyEditor = new
NumberVisualPropertyEditor(Double.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,selectedVisualStyleManager,editorManager,vmmServiceRef);
NumberVisualPropertyEditor integerPropertyEditor = new
NumberVisualPropertyEditor(Integer.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,selectedVisualStyleManager,editorManager,vmmServiceRef);
NumberVisualPropertyEditor floatPropertyEditor = new
NumberVisualPropertyEditor(Float.class,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,selectedVisualStyleManager,editorManager,vmmServiceRef);
+
+ StringVisualPropertyEditor stringPropertyEditor = new
StringVisualPropertyEditor();
+ final CyComboBoxPropertyEditor booleanEditor = new
CyComboBoxPropertyEditor();
+ booleanEditor.setAvailableValues(new Boolean[] {true, false});
+ BooleanVisualPropertyEditor booleanVisualPropertyEditor = new
BooleanVisualPropertyEditor(booleanEditor);
+
ColorManager colorMgr = new ColorManager();
IconManager iconManager = new IconManager();
VizMapperMenuManager menuManager = new
VizMapperMenuManager(dialogTaskManagerServiceRef,propertySheetPanel,selectedVisualStyleManager,cyApplicationManagerServiceRef);
@@ -150,10 +162,15 @@
registerAllServices(bc,integerValueEditor, new Properties());
registerAllServices(bc,floatValueEditor, new Properties());
registerAllServices(bc,stringValueEditor, new Properties());
+ registerAllServices(bc,booleanValueEditor, new Properties());
registerAllServices(bc,colorPropertyEditor, new Properties());
registerAllServices(bc,doublePropertyEditor, new Properties());
registerAllServices(bc,floatPropertyEditor, new Properties());
registerAllServices(bc,integerPropertyEditor, new Properties());
+
+ registerAllServices(bc,stringPropertyEditor, new Properties());
+ registerAllServices(bc,booleanVisualPropertyEditor, new
Properties());
+
registerAllServices(bc,editorManager, new Properties());
Properties createNewVisualStyleTaskFactoryProps = new
Properties();
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -349,8 +349,9 @@
if (renderer != null)
cellRendererFactory.registerRenderer(valProp, renderer);
}
- final PropertyEditor cellEditor =
editorManager.getVisualPropertyEditor(vp).getPropertyEditor();
+ final PropertyEditor cellEditor =
editor.getPropertyEditor();
+ System.out.println(editor + ": CELL Editor = " +
cellEditor);
if (cellEditor != null)
cellEditorFactory.registerEditor(valProp,
cellEditor);
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BasicVisualPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BasicVisualPropertyEditor.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BasicVisualPropertyEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -5,6 +5,7 @@
import org.cytoscape.view.vizmap.gui.editor.AbstractVisualPropertyEditor;
import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
+import com.l2fprod.common.propertysheet.PropertyEditorRegistry;
import com.l2fprod.common.propertysheet.PropertyRendererRegistry;
public abstract class BasicVisualPropertyEditor<T> extends
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BooleanVisualPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BooleanVisualPropertyEditor.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BooleanVisualPropertyEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -0,0 +1,14 @@
+package org.cytoscape.view.vizmap.gui.internal.editor;
+
+import java.beans.PropertyEditor;
+
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
+
+public class BooleanVisualPropertyEditor extends
BasicVisualPropertyEditor<Boolean> {
+
+ public BooleanVisualPropertyEditor(final PropertyEditor editor) {
+ super(Boolean.class, editor, ContinuousEditorType.DISCRETE);
+ discreteTableCellRenderer = REG.getRenderer(Boolean.class);
+ }
+
+}
\ No newline at end of file
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -75,12 +75,16 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.l2fprod.common.propertysheet.PropertyEditorRegistry;
+
/**
*
*/
public class EditorManagerImpl implements EditorManager {
private static final Logger logger =
LoggerFactory.getLogger(EditorManagerImpl.class);
+
+ private static final PropertyEditorRegistry REGISTRY = new
PropertyEditorRegistry();
private final Map<Class<?>, VisualPropertyEditor<?>> editors;
@@ -149,13 +153,7 @@
return (AttributeComboBoxPropertyEditor)
attrComboBoxEditors.get(CyNetwork.class);
}
- /*
- * (non-Javadoc)
- *
- * @see
org.cytoscape.application.swing.vizmap.gui.editors.EditorFactory#
- * addEditorDisplayer(org .cytoscape.vizmap.gui.editors.EditorDisplayer,
- * java.util.Map)
- */
+ @Override
public void addValueEditor(ValueEditor<?> ve,
@SuppressWarnings("rawtypes") Map properties) {
logger.debug("Got Value Editor " + ve.toString() + ", this is
for " + ve.getType() + "\n\n\n");
this.valueEditors.put(ve.getType(), ve);
@@ -169,7 +167,6 @@
public void addVisualPropertyEditor(VisualPropertyEditor<?> ve,
@SuppressWarnings("rawtypes") Map properties) {
logger.debug("### Got VP Editor " + ve.toString() + ", this is
for " + ve.getType());
this.editors.put(ve.getType(), ve);
- logger.debug("Total editor count = " + editors.size());
}
public void removeVisualPropertyEditor(VisualPropertyEditor<?> vpEditor,
@@ -269,17 +266,18 @@
}
private void buildDiscreteEditors(final VisualLexicon lexicon) {
+ final Set<VisualProperty<?>> vps =
lexicon.getAllVisualProperties();
- logger.debug("\n\n\nNew Engine Factory: Adding discrete value
editors------------------------");
-
- Set<VisualProperty<?>> vps = lexicon.getAllVisualProperties();
for (final VisualProperty<?> vp : vps) {
Range<?> range = vp.getRange();
+ // If data type is basic (String, Boolean, etc.) not
custom editor is not necessary.
+ final Class<?> targetDataType = range.getType();
+ if(REGISTRY.getEditor(targetDataType) != null)
+ continue;
+
if (range instanceof DiscreteRange<?>) {
-
// Visual Property Editor.
- logger.debug("Got new Discrete. Creating new
VP editor: " + vp.getDisplayName());
final Set<?> values = ((DiscreteRange<?>)
range).values();
VisualPropertyEditor<?> vpEditor = new
DiscreteValuePropertyEditor(range.getType(), values,
tableManager, appManager,
selectedManager, this, vmm);
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/NumberVisualPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/NumberVisualPropertyEditor.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/NumberVisualPropertyEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -56,9 +56,6 @@
final EditorManager editorManager, final
VisualMappingManager vmm) {
super(type, new CyNumberPropertyEditor<T>(type, null),
ContinuousEditorType.CONTINUOUS);
discreteTableCellRenderer = REG.getRenderer(type);
-
-// continuousEditor = new C2CEditor(manager, appManager,
selectedManager, editorManager, vmm);
-// continuousTableCellRenderer = new
NumberContinuousCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);;
}
@Override
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/StringVisualPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/StringVisualPropertyEditor.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/StringVisualPropertyEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -0,0 +1,13 @@
+package org.cytoscape.view.vizmap.gui.internal.editor;
+
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
+import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyStringPropertyEditor;
+
+public class StringVisualPropertyEditor extends
BasicVisualPropertyEditor<String> {
+
+ public StringVisualPropertyEditor() {
+ super(String.class, new CyStringPropertyEditor(),
ContinuousEditorType.DISCRETE);
+ discreteTableCellRenderer = REG.getRenderer(String.class);
+ }
+
+}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyStringPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyStringPropertyEditor.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/propertyeditor/CyStringPropertyEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -62,7 +62,7 @@
Method getM = null;
Object val = null;
- //System.out.println("* String E Called!");
+ System.out.println("!* String E Called!");
try {
getM =
e.getOppositeComponent().getClass().getMethod("getSelectedRow", new Class[] {});
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/BooleanValueEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/BooleanValueEditor.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/BooleanValueEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -0,0 +1,32 @@
+package org.cytoscape.view.vizmap.gui.internal.editor.valueeditor;
+
+import java.awt.Component;
+
+import javax.swing.Icon;
+import javax.swing.JOptionPane;
+
+import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
+
+public final class BooleanValueEditor implements ValueEditor<Boolean> {
+
+ @Override
+ public Boolean showEditor(final Component parent, final Boolean
initialValue) {
+
+ String message = "Please select new value:";
+ String title = "Select True or False";
+ int optionType = JOptionPane.DEFAULT_OPTION;
+ int messageType = JOptionPane.QUESTION_MESSAGE;
+ Icon icon = null;
+ Boolean[] options = new Boolean[] {true, false};
+ int result = JOptionPane.showOptionDialog(parent, message,
title, optionType, messageType, icon, options, initialValue);
+ if(result == JOptionPane.CLOSED_OPTION)
+ return false;
+ else
+ return options[result];
+ }
+
+ @Override
+ public Class<Boolean> getType() {
+ return Boolean.class;
+ }
+}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/StringValueEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/StringValueEditor.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/StringValueEditor.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -8,8 +8,8 @@
private static final String MESSAGE = "Please enter new text value";
- public StringValueEditor(Class<String> type) {
- super(type);
+ public StringValueEditor() {
+ super(String.class);
}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
2012-04-27 21:57:55 UTC (rev 29034)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
2012-04-27 23:04:15 UTC (rev 29035)
@@ -116,31 +116,31 @@
*/
@Override
public void processEvent(PropertyChangeEvent e) {
+
+ System.out.println("2# Cell editor PC event");
final Object newVal = e.getNewValue();
final Object oldVal = e.getOldValue();
// Check update is necessary or not.
- if (newVal == null && oldVal == null) {
- logger.debug("Both null.");
+ if (newVal == null && oldVal == null)
return;
- }
- if (newVal != null && newVal.equals(oldVal)) {
- logger.debug("No change. No need to update.");
+ System.out.println("**e1");
+ // Same value. No change required.
+ if (newVal != null && newVal.equals(oldVal))
return;
- }
+ System.out.println("**e2");
// find selected cell
final PropertySheetTable table = propertySheetPanel.getTable();
final int selected = table.getSelectedRow();
- // If not selected, ignore.
- if (selected < 0) {
- logger.debug("No celected Cells!!.");
+ // If nothing selected, ignore.
+ if (selected < 0)
return;
- }
+ System.out.println("**e3");
// Extract selected Property object in the table.
final Item selectedItem = (Item)
propertySheetPanel.getTable().getValueAt(selected, 0);
final VizMapperProperty<?, ?, ?> prop = (VizMapperProperty<?,
?, ?>) selectedItem.getProperty();
@@ -150,8 +150,11 @@
VisualProperty<?> type = null;
+ System.out.println("**e4");
// Case 1: Attribute type changed.
if (prop.getCellType().equals(CellType.VISUAL_PROPERTY_TYPE)) {
+ System.out.println("**attr edit!");
+
if (e.getNewValue() == null)
throw new NullPointerException("New controlling
attr name is null.");
@@ -179,6 +182,7 @@
// 2. Switch mapping type
if (prop.getCellType().equals(CellType.MAPPING_TYPE)) {
+ System.out.println("**map type edit!");
if (e.getNewValue() == e.getOldValue())
return;
@@ -196,7 +200,9 @@
switchMappingType(prop, type,
(VisualMappingFunctionFactory) e.getNewValue(),
controllingAttrName.toString());
} else if (prop.getParentProperty() != null) {
- // Discrete Cell editor. Create new map entry and
register it.
+ System.out.println("** Discrete cell edit!");
+
+ // Discrete Cell editor event. Create new map entry and
register it.
logger.debug("Cell edit event: name = " +
prop.getName());
logger.debug("Cell edit event: old val = " +
prop.getValue());
logger.debug("Cell edit event: new val = " + newVal);
@@ -214,6 +220,8 @@
selectedStyleManager.getCurrentVisualStyle().apply(applicationManager.getCurrentNetworkView());
applicationManager.getCurrentNetworkView().updateView();
+ } else {
+ System.out.println("**INVALID edit!");
}
}
--
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.