Author: kono
Date: 2012-01-26 17:03:42 -0800 (Thu, 26 Jan 2012)
New Revision: 28125
Added:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousEditorType.java
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousMappingEditor.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendCellRenderer.java
Removed:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ContinuousMappingCellRenderer.java
Modified:
core3/api/trunk/vizmap-gui-api/pom.xml
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/AbstractVisualPropertyEditor.java
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendEditor.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendValueEditor.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/ObjectPositionEditor.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/cellrenderer/NumberContinuousCellRenderer.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/ColorVisualPropertyEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DiscreteValuePropertyEditor.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/FontVisualPropertyEditor.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/mappingeditor/AbstractContinuousMappingEditor.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
Log:
fixes #640 Instead of making all editors public, just added a new enum to show
Continuous Editor Type.
Modified: core3/api/trunk/vizmap-gui-api/pom.xml
===================================================================
--- core3/api/trunk/vizmap-gui-api/pom.xml 2012-01-26 23:02:57 UTC (rev
28124)
+++ core3/api/trunk/vizmap-gui-api/pom.xml 2012-01-27 01:03:42 UTC (rev
28125)
@@ -78,6 +78,25 @@
<artifactId>presentation-api</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <!-- Wrapped 3rd party libraries -->
+ <dependency>
+ <groupId>cytoscape-temp</groupId>
+ <artifactId>l2fprod-common-sheet</artifactId>
+ <version>7.3</version>
+ </dependency>
+ <dependency>
+ <groupId>cytoscape-temp</groupId>
+ <artifactId>l2fprod-common-shared</artifactId>
+ <version>7.3</version>
+ </dependency>
+ <dependency>
+ <groupId>cytoscape-temp</groupId>
+ <artifactId>l2fprod-common-fontchooser</artifactId>
+ <version>7.3</version>
+ </dependency>
+
+
</dependencies>
</project>
Modified:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/AbstractVisualPropertyEditor.java
===================================================================
---
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/AbstractVisualPropertyEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/AbstractVisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -36,14 +36,23 @@
package org.cytoscape.view.vizmap.gui.editor;
+import java.awt.Component;
import java.awt.Window;
import java.beans.PropertyEditor;
import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.l2fprod.common.swing.renderer.DefaultCellRenderer;
+
+
/**
* Abstract implementation of Visual Property Editor.
* All editors should extend this class.
@@ -56,9 +65,9 @@
protected final Class<T> type;
protected final PropertyEditor propertyEditor;
- protected PropertyEditor continuousEditor;
+ private final ContinuousEditorType continuousEditorType;
protected Window vpValueEditor;
-
+
protected TableCellRenderer discreteTableCellRenderer;
protected TableCellRenderer continuousTableCellRenderer;
@@ -68,9 +77,10 @@
* @param propertyEditor the {@link PropertyEditor} to construct this
with.
*
*/
- public AbstractVisualPropertyEditor(final Class<T> type, final
PropertyEditor propertyEditor) {
+ public AbstractVisualPropertyEditor(final Class<T> type, final
PropertyEditor propertyEditor, ContinuousEditorType continuousEditorType) {
this.type = type;
this.propertyEditor = propertyEditor;
+ this.continuousEditorType = continuousEditorType;
}
/**
@@ -88,18 +98,18 @@
return propertyEditor;
}
- /**
- * {@inheritDoc}
- */
- @Override public T showVisualPropertyValueEditor() {
- if(vpValueEditor == null) {
- // Search value editor repository
- }
- vpValueEditor.setVisible(true);
-
- //TODO: need new interface for value editor
- return null;
- }
+// /**
+// * {@inheritDoc}
+// */
+// @Override public T showVisualPropertyValueEditor() {
+// if(vpValueEditor == null) {
+// // Search value editor repository
+// }
+// vpValueEditor.setVisible(true);
+//
+// //TODO: need new interface for value editor
+// return null;
+// }
/**
* {@inheritDoc}
@@ -108,23 +118,18 @@
return discreteTableCellRenderer;
}
-
- /**
- * {@inheritDoc}
- */
- @Override public TableCellRenderer getContinuousTableCellRenderer() {
- return continuousTableCellRenderer;
+ @Override
+ public TableCellRenderer getContinuousTableCellRenderer(PropertyEditor
continuousMappingEditor) {
+ // Return default cell renderer for
+ return new
ContinuousMappingCellRenderer((ContinuousMappingEditor<?, ?>)
continuousMappingEditor);
}
- /**
- * {@inheritDoc}
- */
- @Override public PropertyEditor getContinuousMappingEditor() throws
IllegalArgumentException {
- return continuousEditor;
+ @Override
+ public ContinuousEditorType getContinuousEditorType() {
+ return this.continuousEditorType;
}
-
/**
* {@inheritDoc}
*/
@@ -132,4 +137,43 @@
// By default, it does not return actual icon. This should be
implemented child classes.
return null;
}
+
+ private final class ContinuousMappingCellRenderer extends
DefaultCellRenderer {
+
+ private static final long serialVersionUID =
-6734053848878359286L;
+
+ private final ContinuousMappingEditor<?, ?> editor;
+
+ public ContinuousMappingCellRenderer(final
ContinuousMappingEditor<?, ?> editor) {
+ if (editor == null)
+ throw new NullPointerException("Editor object
is null.");
+
+ this.editor = editor;
+ }
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
+ int row, int column) {
+
+ if (value == null || value instanceof ContinuousMapping
== false) {
+ this.setText("Unkonown Mapping");
+ return this;
+ }
+
+ if (isSelected) {
+ setBackground(table.getSelectionBackground());
+ setForeground(table.getSelectionForeground());
+ } else {
+ setBackground(table.getBackground());
+ setForeground(table.getForeground());
+ }
+
+ final int height = table.getRowHeight(row);
+ final int width =
table.getColumnModel().getColumn(column).getWidth();
+ final ImageIcon icon = editor.drawIcon(width, height -
2, false);
+ this.setIcon(icon);
+
+ return this;
+ }
+ }
}
Added:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousEditorType.java
===================================================================
---
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousEditorType.java
(rev 0)
+++
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousEditorType.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -0,0 +1,5 @@
+package org.cytoscape.view.vizmap.gui.editor;
+
+public enum ContinuousEditorType {
+ DISCRETE, CONTINUOUS, COLOR;
+}
Added:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousMappingEditor.java
===================================================================
---
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousMappingEditor.java
(rev 0)
+++
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/ContinuousMappingEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -0,0 +1,9 @@
+package org.cytoscape.view.vizmap.gui.editor;
+
+import javax.swing.ImageIcon;
+
+public interface ContinuousMappingEditor<K extends Number, V> {
+
+ public abstract ImageIcon drawIcon(int width, int height, boolean
detail);
+
+}
\ No newline at end of file
Modified:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
===================================================================
---
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -42,8 +42,11 @@
import java.util.List;
import java.util.Map;
+import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.vizmap.VisualStyle;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
/**
@@ -100,18 +103,8 @@
/**
- * Display continuous value editor.
- *
- * <p>
- * Continuous editor always update mapping in real-time, so there is no
- * return value.
- * </p>
- *
- * @param parentComponent parent GUI component
- * @param type Visual Property to be edited
- * @throws Exception
*/
- public <V> void showContinuousEditor(Component parentComponent,
VisualProperty<V> type) throws Exception;
+ PropertyEditor getContinuousEditor(final VisualProperty<?> vp);
/**
Modified:
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
===================================================================
---
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/api/trunk/vizmap-gui-api/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -58,12 +58,13 @@
*/
Class<T> getType();
- /**
- * Returns continuous mapping editor for the Visual Property. Return
value
- * is null if Continuous Editor does not exist.
- * @return a continuous mapping editor for the Visual Property.
- */
- PropertyEditor getContinuousMappingEditor();
+// /**
+// * Returns continuous mapping editor for the Visual Property. Return
value
+// * is null if Continuous Editor does not exist.
+// * @return a continuous mapping editor for the Visual Property.
+// */
+// PropertyEditor getContinuousMappingEditor();
+ ContinuousEditorType getContinuousEditorType();
/**
* Returns {@link PropertyEditor} object for this data type.
@@ -71,14 +72,14 @@
*/
PropertyEditor getPropertyEditor();
- /**
- * Display editor and get user input. Note: editor is associated with
data
- * type (String, Number, Color...), so we do not need to provide
- * VisualProperty as parameter.
- *
- * @return the user input or null.
- */
- T showVisualPropertyValueEditor();
+// /**
+// * Display editor and get user input. Note: editor is associated with
data
+// * type (String, Number, Color...), so we do not need to provide
+// * VisualProperty as parameter.
+// *
+// * @return the user input or null.
+// */
+// T showVisualPropertyValueEditor();
/**
* A custom cell renderer for Discrete table cells.
@@ -92,7 +93,7 @@
*
* @return a TableCellRenderer Continuous table cells.
*/
- TableCellRenderer getContinuousTableCellRenderer();
+ TableCellRenderer getContinuousTableCellRenderer(PropertyEditor
continuousMappingEditor);
/**
* This is for default view editor.
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -2,7 +2,6 @@
import java.awt.Color;
import java.awt.Font;
-import java.awt.Shape;
import javax.swing.Icon;
Added:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendCellRenderer.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendCellRenderer.java
(rev 0)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendCellRenderer.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -0,0 +1,49 @@
+package org.cytoscape.ding.impl.editor;
+
+import java.awt.Component;
+
+import javax.swing.Icon;
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.SwingConstants;
+
+import org.cytoscape.ding.Bend;
+import org.cytoscape.ding.icon.VisualPropertyIconFactory;
+import org.cytoscape.ding.impl.DVisualLexicon;
+
+import com.l2fprod.common.swing.renderer.DefaultCellRenderer;
+
+public class EdgeBendCellRenderer extends DefaultCellRenderer {
+
+ private static final long serialVersionUID = -7044183741963477557L;
+
+ private static final int ICON_WIDTH = 48;
+ private static final int ICON_HEIGHT = 48;
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object
value, boolean isSelected, boolean hasFocus,
+ int row, int column) {
+
+ final JLabel label = new JLabel();
+
+ if (isSelected) {
+ label.setBackground(table.getSelectionBackground());
+ label.setForeground(table.getSelectionForeground());
+ } else {
+ label.setBackground(table.getBackground());
+ label.setForeground(table.getForeground());
+ }
+
+ if ((value != null) && value instanceof Bend) {
+
+ final Bend bend = (Bend) value;
+ final Icon icon =
VisualPropertyIconFactory.createIcon(DVisualLexicon.EDGE_BEND, bend,
ICON_WIDTH, ICON_HEIGHT);
+ label.setIcon(icon);
+ label.setVerticalAlignment(SwingConstants.CENTER);
+ label.setHorizontalAlignment(SwingConstants.CENTER);
+ }
+
+ return label;
+ }
+
+}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendEditor.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -2,12 +2,14 @@
import org.cytoscape.ding.Bend;
import org.cytoscape.view.vizmap.gui.editor.AbstractVisualPropertyEditor;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
public class EdgeBendEditor extends AbstractVisualPropertyEditor<Bend>{
public EdgeBendEditor(ValueEditor<Bend> valueEditor) {
- super(Bend.class, new EdgeBendPropertyEditor(valueEditor));
+ super(Bend.class, new EdgeBendPropertyEditor(valueEditor),
ContinuousEditorType.DISCRETE);
+
+ discreteTableCellRenderer = new EdgeBendCellRenderer();
}
-
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendValueEditor.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendValueEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/EdgeBendValueEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -14,7 +14,6 @@
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
-import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import org.cytoscape.ding.Bend;
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/ObjectPositionEditor.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/ObjectPositionEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/editor/ObjectPositionEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -1,24 +1,18 @@
package org.cytoscape.ding.impl.editor;
-
import org.cytoscape.ding.CyObjectPositionPropertyEditor;
import org.cytoscape.ding.ObjectPosition;
import org.cytoscape.ding.ObjectPositionCellRenderer;
import org.cytoscape.view.vizmap.gui.editor.AbstractVisualPropertyEditor;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
-
-public class ObjectPositionEditor extends
- AbstractVisualPropertyEditor<ObjectPosition>
-{
- /**
- * Constructor. Should instantiate one editor per VisualProperty.
- */
+public class ObjectPositionEditor extends
AbstractVisualPropertyEditor<ObjectPosition> {
+
public ObjectPositionEditor(final ValueEditor<ObjectPosition>
valueEditor) {
- super(ObjectPosition.class, new
CyObjectPositionPropertyEditor(valueEditor));
+ super(ObjectPosition.class, new
CyObjectPositionPropertyEditor(valueEditor), ContinuousEditorType.DISCRETE);
discreteTableCellRenderer = new ObjectPositionCellRenderer();
}
-
}
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-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -218,20 +218,21 @@
graphicalView.setParentProperty(topProperty);
topProperty.addSubProperty(graphicalView);
- // Renderer for Continuous mapping icon cell
- final TableCellRenderer continuousRenderer =
vpEditor.getContinuousTableCellRenderer();
+
final PropertySheetTable table =
propertySheetPanel.getTable();
final PropertyRendererRegistry rendReg =
(PropertyRendererRegistry) table.getRendererFactory();
- rendReg.registerRenderer(graphicalView,
continuousRenderer);
+
final PropertyEditorRegistry cellEditorFactory =
(PropertyEditorRegistry) table.getEditorFactory();
- final PropertyEditor continuousCellEditor =
editorManager.getVisualPropertyEditor(vp)
- .getContinuousMappingEditor();
+ final PropertyEditor continuousCellEditor =
editorManager.getContinuousEditor(vp);
if (continuousCellEditor == null)
throw new NullPointerException("Continuous
Mapping cell editor is null.");
else {
+ // Renderer for Continuous mapping icon cell
+ final TableCellRenderer continuousRenderer =
vpEditor.getContinuousTableCellRenderer(continuousCellEditor);
+ rendReg.registerRenderer(graphicalView,
continuousRenderer);
continuousCellEditor.setValue(visualMapping);
cellEditorFactory.registerEditor(graphicalView,
continuousCellEditor);
table.repaint();
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ContinuousMappingCellRenderer.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ContinuousMappingCellRenderer.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ContinuousMappingCellRenderer.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -1,60 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.cellrenderer;
-
-import java.awt.Component;
-
-import javax.swing.ImageIcon;
-import javax.swing.JTable;
-
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.AbstractContinuousMappingEditor;
-import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.l2fprod.common.swing.renderer.DefaultCellRenderer;
-
-/**
- * Cell renderer for continuous mappings
- *
- */
-public class ContinuousMappingCellRenderer extends DefaultCellRenderer {
-
- private static final long serialVersionUID = -6734053848878359286L;
-
- private static final Logger logger =
LoggerFactory.getLogger(ContinuousMappingCellRenderer.class);
-
- private final AbstractContinuousMappingEditor<?, ?> editor;
-
- public ContinuousMappingCellRenderer(final
AbstractContinuousMappingEditor<?, ?> editor) {
- if (editor == null)
- throw new NullPointerException("Editor object is
null.");
-
- this.editor = editor;
- }
-
- @Override
- public Component getTableCellRendererComponent(JTable table, Object
value, boolean isSelected, boolean hasFocus,
- int row, int column) {
-
- if (value == null || value instanceof ContinuousMapping ==
false) {
- this.setText("Unkonown Mapping");
- return this;
- }
-
- logger.debug("Continuous Mapping cell renderer called: " +
value.getClass().toString());
-
- if (isSelected) {
- setBackground(table.getSelectionBackground());
- setForeground(table.getSelectionForeground());
- } else {
- setBackground(table.getBackground());
- setForeground(table.getForeground());
- }
-
- final int height = table.getRowHeight(row);
- final int width =
table.getColumnModel().getColumn(column).getWidth();
- final ImageIcon icon = editor.drawIcon(width, height - 2,
false);
- this.setIcon(icon);
-
- return this;
- }
-}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/NumberContinuousCellRenderer.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/NumberContinuousCellRenderer.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/NumberContinuousCellRenderer.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -5,7 +5,7 @@
import javax.swing.ImageIcon;
import javax.swing.JTable;
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.AbstractContinuousMappingEditor;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousMappingEditor;
import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -19,10 +19,10 @@
private static final Logger logger =
LoggerFactory.getLogger(NumberContinuousCellRenderer.class);
- private final AbstractContinuousMappingEditor<?, ?> editor;
+ private final ContinuousMappingEditor<?, ?> editor;
- public NumberContinuousCellRenderer(final
AbstractContinuousMappingEditor<?, ?> editor) {
+ public NumberContinuousCellRenderer(final ContinuousMappingEditor<?, ?>
editor) {
if(editor == null)
throw new NullPointerException("Editor object is
null.");
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-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/BasicVisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -3,10 +3,11 @@
import java.beans.PropertyEditor;
import org.cytoscape.view.vizmap.gui.editor.AbstractVisualPropertyEditor;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import com.l2fprod.common.propertysheet.PropertyRendererRegistry;
-public class BasicVisualPropertyEditor<T> extends
+public abstract class BasicVisualPropertyEditor<T> extends
AbstractVisualPropertyEditor<T> {
protected static final PropertyRendererRegistry REG = new
PropertyRendererRegistry();
@@ -15,8 +16,7 @@
REG.registerDefaults();
}
- public BasicVisualPropertyEditor(Class<T> type, PropertyEditor
propertyEditor) {
- super(type, propertyEditor);
+ public BasicVisualPropertyEditor(Class<T> type, PropertyEditor
propertyEditor, ContinuousEditorType editorType) {
+ super(type, propertyEditor, editorType);
}
-
}
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-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -41,10 +41,8 @@
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
-import
org.cytoscape.view.vizmap.gui.internal.cellrenderer.ContinuousMappingCellRenderer;
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.AbstractContinuousMappingEditor;
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.GradientEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyColorPropertyEditor;
/**
@@ -62,11 +60,11 @@
final CyNetworkTableManager manager,
final CyApplicationManager appManager,
final SelectedVisualStyleManager selectedManager, final
EditorManager editorManager, final VisualMappingManager vmm) {
- super(type, new CyColorPropertyEditor());
+ super(type, new CyColorPropertyEditor(),
ContinuousEditorType.COLOR);
this.discreteTableCellRenderer = REG.getRenderer(Color.class);
- this.continuousEditor = new GradientEditor(manager, appManager,
selectedManager, editorManager, vmm);
- this.continuousTableCellRenderer = new
ContinuousMappingCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);
+ //this.continuousEditor = new GradientEditor(manager,
appManager, selectedManager, editorManager, vmm);
+ //this.continuousTableCellRenderer = new
ContinuousMappingCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);
}
}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DiscreteValuePropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DiscreteValuePropertyEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DiscreteValuePropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -6,10 +6,8 @@
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
-import
org.cytoscape.view.vizmap.gui.internal.cellrenderer.ContinuousMappingCellRenderer;
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.AbstractContinuousMappingEditor;
-import org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.C2DEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyComboBoxPropertyEditor;
/**
@@ -24,13 +22,13 @@
public DiscreteValuePropertyEditor(Class<T> type, Set<T> values, final
CyNetworkTableManager manager,
final CyApplicationManager appManager, final
SelectedVisualStyleManager selectedManager,
final EditorManager editorManager, final
VisualMappingManager vmm) {
- super(type, new CyComboBoxPropertyEditor());
+ super(type, new CyComboBoxPropertyEditor(),
ContinuousEditorType.DISCRETE);
discreteTableCellRenderer = REG.getRenderer(type);
CyComboBoxPropertyEditor cbe = (CyComboBoxPropertyEditor)
propertyEditor;
cbe.setAvailableValues(values.toArray());
- this.continuousEditor = new C2DEditor<T>(manager, appManager,
selectedManager, editorManager, vmm);
- this.continuousTableCellRenderer = new
ContinuousMappingCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);
+// this.continuousEditor = new C2DEditor<T>(manager, appManager,
selectedManager, editorManager, vmm);
+// this.continuousTableCellRenderer = new
ContinuousMappingCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);
}
}
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-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -51,6 +51,7 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.view.model.ContinuousRange;
import org.cytoscape.view.model.DiscreteRange;
@@ -59,15 +60,21 @@
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
import org.cytoscape.view.vizmap.gui.editor.ListEditor;
import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
import org.cytoscape.view.vizmap.gui.editor.VisualPropertyEditor;
import org.cytoscape.view.vizmap.gui.internal.AttributeSetManager;
+import org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.C2CEditor;
+import org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.C2DEditor;
+import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.GradientEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.AttributeComboBoxPropertyEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyComboBoxPropertyEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.valueeditor.DiscreteValueEditor;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -202,27 +209,7 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see
org.cytoscape.application.swing.vizmap.gui.editors.EditorFactory#
- * showContinuousEditor(java .awt.Component,
- * org.cytoscape.application.swing.viewmodel.VisualProperty)
- */
- public <V> void showContinuousEditor(Component parentComponent,
VisualProperty<V> type) throws Exception {
- final VisualPropertyEditor<?> editor =
editors.get(type.getRange().getType());
- // TODO: design dialog state mamagement
- //
- //
- // Component mappingEditor =
editor.getContinuousMappingEditor();
- //
- // JDialog editorDialog = new JDialog();
- // editorDialog.setModal(true);
- // editorDialog.setLocationRelativeTo(parentComponent);
-
- }
-
@SuppressWarnings("unchecked")
public <V> VisualPropertyEditor<V> getVisualPropertyEditor(final
VisualProperty<V> vp) {
return (VisualPropertyEditor<V>)
editors.get(vp.getRange().getType());
@@ -318,4 +305,18 @@
public void removeRenderingEngineFactory(RenderingEngineFactory<?>
factory, Map props) {
// TODO: clean up state when rendering engines are removed.
}
+
+ @Override
+ public PropertyEditor getContinuousEditor(final VisualProperty<?> vp) {
+ final ContinuousEditorType editorType =
this.getVisualPropertyEditor(vp).getContinuousEditorType();
+
+ if(editorType == ContinuousEditorType.COLOR)
+ return new GradientEditor(tableManager, appManager,
selectedManager, this, vmm);
+ else if(editorType == ContinuousEditorType.CONTINUOUS)
+ return new C2CEditor(tableManager, appManager,
selectedManager, this, vmm);
+ else if(editorType == ContinuousEditorType.DISCRETE)
+ return new C2DEditor(tableManager, appManager,
selectedManager, this, vmm);
+
+ return null;
+ }
}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/FontVisualPropertyEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/FontVisualPropertyEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/FontVisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -3,21 +3,38 @@
import java.awt.Font;
+import java.beans.PropertyEditor;
+import javax.swing.table.TableCellRenderer;
+
import org.cytoscape.view.vizmap.gui.VizMapGUI;
import org.cytoscape.view.vizmap.gui.editor.AbstractVisualPropertyEditor;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyFontPropertyEditor;
public class FontVisualPropertyEditor extends
AbstractVisualPropertyEditor<Font> {
+ private final EditorManager editorManager;
+ private final VizMapGUI vizMapGUI;
+
public FontVisualPropertyEditor(Class<Font> type, EditorManager
editorManager, VizMapGUI vizMapGUI) {
- super(type, new CyFontPropertyEditor());
+ super(type, new CyFontPropertyEditor(),
ContinuousEditorType.DISCRETE);
+ this.editorManager = editorManager;
+ this.vizMapGUI = vizMapGUI;
+
// this.tableCellRenderer = new FontCellRenderer();
// this.continuousEditor = new C2DMappingEditor<Font>(this.vp,
editorManager, vizMapGUI);
}
+ @Override
+ public TableCellRenderer getContinuousTableCellRenderer(PropertyEditor
continuousMappingEditor) {
+ // TODO Auto-generated method stub
+ //return new C2DMappingEditor<Font>(vp, editorManager,
vizMapGUI);
+ return null;
+ }
+
}
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-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/NumberVisualPropertyEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -34,14 +34,18 @@
*/
package org.cytoscape.view.vizmap.gui.internal.editor;
+import java.beans.PropertyEditor;
+
+import javax.swing.table.TableCellRenderer;
+
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousEditorType;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousMappingEditor;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
import
org.cytoscape.view.vizmap.gui.internal.cellrenderer.NumberContinuousCellRenderer;
-import
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.AbstractContinuousMappingEditor;
-import org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.C2CEditor;
import
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyNumberPropertyEditor;
public class NumberVisualPropertyEditor<T extends Number> extends
BasicVisualPropertyEditor<T> {
@@ -52,11 +56,17 @@
public NumberVisualPropertyEditor(Class<T> type, final
CyNetworkTableManager manager,
final CyApplicationManager appManager, final
SelectedVisualStyleManager selectedManager,
final EditorManager editorManager, final
VisualMappingManager vmm) {
- super(type, new CyNumberPropertyEditor<T>(type, null));
+ 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);;
+// continuousEditor = new C2CEditor(manager, appManager,
selectedManager, editorManager, vmm);
+// continuousTableCellRenderer = new
NumberContinuousCellRenderer((AbstractContinuousMappingEditor<?, ?>)
continuousEditor);;
}
+ @Override
+ public TableCellRenderer getContinuousTableCellRenderer(PropertyEditor
continuousMappingEditor) {
+ // TODO Auto-generated method stub
+ return new
NumberContinuousCellRenderer((ContinuousMappingEditor<?, ?>)
continuousMappingEditor);
+ }
+
}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/AbstractContinuousMappingEditor.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/AbstractContinuousMappingEditor.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/AbstractContinuousMappingEditor.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -16,12 +16,13 @@
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.editor.ContinuousMappingEditor;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
import com.l2fprod.common.beans.editor.AbstractPropertyEditor;
-public abstract class AbstractContinuousMappingEditor<K extends Number, V>
extends AbstractPropertyEditor {
+public abstract class AbstractContinuousMappingEditor<K extends Number, V>
extends AbstractPropertyEditor implements ContinuousMappingEditor<K, V> {
private static final Dimension DEF_SIZE = new Dimension(550, 400);
private static final Dimension MIN_SIZE = new Dimension(300, 350);
@@ -105,6 +106,10 @@
}
+ /* (non-Javadoc)
+ * @see
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.ContinuousMappingEditor#drawIcon(int,
int, boolean)
+ */
+ @Override
public ImageIcon drawIcon(int width, int height, boolean detail) {
if(editorPanel == null)
return null;
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
2012-01-26 23:02:57 UTC (rev 28124)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
2012-01-27 01:03:42 UTC (rev 28125)
@@ -89,7 +89,7 @@
private V below;
private V above;
private VisualProperty<V> vp;
- private final Set<V> values;
+ //private final Set<V> values;
private List<String> rangeTooltips;
private JXMultiThumbSlider<V> slider;
@@ -125,14 +125,19 @@
this.vp = mapping.getVisualProperty();
final Range<V> rangeObject = vp.getRange();
- if (!rangeObject.isDiscrete())
- throw new IllegalArgumentException("Range type should
be discrete.");
+// if (!rangeObject.isDiscrete())
+// throw new IllegalArgumentException("Range type should
be discrete.");
- this.values = ((DiscreteRange<V>) rangeObject).values();
- // create map of icons. Key is V value.
this.iconMap = new HashMap<V, Icon>();
- for (V value : values)
- iconMap.put(value, engine.createIcon(vp, value,
ICON_SIZE, ICON_SIZE));
+ if (rangeObject.isDiscrete()) {
+ final Set<V> values = ((DiscreteRange<V>)
rangeObject).values();
+ // create map of icons. Key is V value.
+
+ for (V value : values)
+ iconMap.put(value, engine.createIcon(vp, value,
ICON_SIZE, ICON_SIZE));
+ } else {
+ // ?
+ }
this.title = mapping.getMappingColumnName();
@@ -528,7 +533,7 @@
Icon icon = iconMap.get(key);
if(icon == null) {
- // Need to render icon.
+ // Need to render icon dynamically.
icon = engine.createIcon(vp, key, ICON_SIZE, ICON_SIZE);
}
--
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.