Author: kono
Date: 2010-09-15 10:23:41 -0700 (Wed, 15 Sep 2010)
New Revision: 21865

Added:
   
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/TwoDVisualLexicon.java
Log:


Copied: 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/TwoDVisualLexicon.java
 (from rev 21594, 
core3/presentation-api/trunk/src/main/java/org/cytoscape/view/presentation/property/TwoDVisualLexicon.java)
===================================================================
--- 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/TwoDVisualLexicon.java
                             (rev 0)
+++ 
core3/viewmodel-api/trunk/src/main/java/org/cytoscape/view/model/TwoDVisualLexicon.java
     2010-09-15 17:23:41 UTC (rev 21865)
@@ -0,0 +1,227 @@
+/*
+ Copyright (c) 2008, The Cytoscape Consortium (www.cytoscape.org)
+
+ The Cytoscape Consortium is:
+ - Institute for Systems Biology
+ - University of California San Diego
+ - Memorial Sloan-Kettering Cancer Center
+ - Institut Pasteur
+ - Agilent Technologies
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+ documentation provided hereunder is on an "as is" basis, and the
+ Institute for Systems Biology and the Whitehead Institute
+ have no obligations to provide maintenance, support,
+ updates, enhancements or modifications.  In no event shall the
+ Institute for Systems Biology and the Whitehead Institute
+ be liable to any party for direct, indirect, special,
+ incidental or consequential damages, including lost profits, arising
+ out of the use of this software and its documentation, even if the
+ Institute for Systems Biology and the Whitehead Institute
+ have been advised of the possibility of such damage.  See
+ the GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+package org.cytoscape.view.model;
+
+import java.awt.Color;
+import java.awt.Paint;
+
+import org.cytoscape.view.model.visualproperties.BooleanVisualProperty;
+import org.cytoscape.view.model.visualproperties.StringVisualProperty;
+import org.cytoscape.view.model.visualproperties.ColorVisualProperty;
+import 
org.cytoscape.view.model.visualproperties.DefaultVisualizableVisualProperty;
+import org.cytoscape.view.model.visualproperties.DoubleVisualProperty;
+import org.cytoscape.view.model.visualproperties.NullVisualProperty;
+
+/**
+ * Should be implemented as a service. 'Renderer' is simply anything that
+ * provides VisualProperties. With a 'VisualProperties as annotations' this
+ * won't be needed.
+ */
+public class TwoDVisualLexicon extends BasicVisualLexicon {
+       
+       public static final VisualProperty<NullDataType> ENGINE_ROOT = new 
NullVisualProperty(
+                       "RENDERING_ENGINE_ROOT", "Rndering Engine Root");
+
+       public static final VisualProperty<Visualizable> NETWORK = new 
DefaultVisualizableVisualProperty(
+                       "NETWORK", "Network Visual Property");
+       public static final VisualProperty<Visualizable> NODE = new 
DefaultVisualizableVisualProperty(
+                       "NODE", "Node Visual Property");
+       public static final VisualProperty<Visualizable> EDGE = new 
DefaultVisualizableVisualProperty(
+                       "EDGE", "Edge Visual Property");
+       
+
+       public static final VisualProperty<Paint> NODE_PAINT = new 
ColorVisualProperty(
+                       Color.RED, "NODE_PAINT", "Node Paint");
+       public static final VisualProperty<? extends Paint> NODE_COLOR = new 
ColorVisualProperty(
+                       Color.RED, "NODE_COLOR", "Node Color");
+       public static final VisualProperty<? extends Paint> NODE_SELECTED_COLOR 
= new ColorVisualProperty(
+                       Color.YELLOW, "NODE_SELECTED_COLOR", "Node Selected 
Color");
+       public static final VisualProperty<? extends Paint> NODE_LABEL_COLOR = 
new ColorVisualProperty(
+                       Color.BLACK, "NODE_LABEL_COLOR", "Node Label Color");
+       
+       
+       public static final VisualProperty<String> NODE_TEXT = new 
StringVisualProperty(
+                       "", "NODE_TEXT", "Node Text");
+       public static final VisualProperty<String> NODE_LABEL = new 
StringVisualProperty(
+                       "", "NODE_LABEL", "Node Label");
+       
+
+       public static final VisualProperty<Double> NODE_LOCATION = new 
DoubleVisualProperty(
+                       Double.NaN, "NODE_LOCATION", "Node Location", true);
+       public static final VisualProperty<Double> NODE_X_LOCATION = new 
DoubleVisualProperty(
+                       Double.NaN, "NODE_X_LOCATION", "Node X Location", true);
+       public static final VisualProperty<Double> NODE_Y_LOCATION = new 
DoubleVisualProperty(
+                       Double.NaN, "NODE_Y_LOCATION", "Node Y Location", true);
+       
+
+       public static final VisualProperty<Double> NODE_SIZE = new 
DoubleVisualProperty(
+                       50.0, "NODE_SIZE", "Node size");
+       public static final VisualProperty<Double> NODE_X_SIZE = new 
DoubleVisualProperty(
+                       50.0, "NODE_X_SIZE", "Node X size (width)");
+       public static final VisualProperty<Double> NODE_Y_SIZE = new 
DoubleVisualProperty(
+                       30.0, "NODE_Y_SIZE", "Node y size (height)");
+
+       
+
+       public static final VisualProperty<Boolean> NODE_VISIBLE = new 
BooleanVisualProperty(
+                       true, "NODE_VISIBLE", "Node Visible");
+
+       public static final VisualProperty<Boolean> NODE_SELECTED = new 
BooleanVisualProperty(
+                       false, "NODE_SELECTED", "Node Selected");
+
+       
+       public static final VisualProperty<? extends Paint> EDGE_PAINT = new 
ColorVisualProperty(
+                       Color.gray, "EDGE_PAINT", "Edge Paint");
+       public static final VisualProperty<? extends Paint> EDGE_COLOR = new 
ColorVisualProperty(
+                       Color.gray, "EDGE_COLOR", "Edge Color");
+       public static final VisualProperty<? extends Paint> EDGE_LABEL_COLOR = 
new ColorVisualProperty(
+                       Color.BLACK, "EDGE_LABEL_COLOR", "Edge Label Color");
+       
+       
+       public static final VisualProperty<String> EDGE_TEXT = new 
StringVisualProperty(
+                       "", "EDGE_TEXT", "Edge Text");
+       public static final VisualProperty<String> EDGE_LABEL = new 
StringVisualProperty(
+                       "", "EDGE_LABEL", "Edge Label");
+       
+       
+       public static final VisualProperty<Double> EDGE_SIZE = new 
DoubleVisualProperty(
+                       1d, "EDGE_SIZE", "Edge Size");
+       public static final VisualProperty<Double> EDGE_WIDTH = new 
DoubleVisualProperty(
+                       1d, "EDGE_WIDTH", "Edge Width");
+       
+       
+       public static final VisualProperty<Boolean> EDGE_VISIBLE = new 
BooleanVisualProperty(
+                       true, "EDGE_VISIBLE", "Edge Visible");
+       
+       public static final VisualProperty<Boolean> EDGE_SELECTED = new 
BooleanVisualProperty(
+                       false, "EDGE_SELECTED", "Edge Selected");
+       
+       
+       public static final VisualProperty<Double> NETWORK_SCALE_FACTOR = new 
DoubleVisualProperty(
+                       1.0, "NETWORK_SCALE_FACTOR", "Network Scale Factor");
+       
+       public static final VisualProperty<Double> NETWORK_CENTER_LOCATION = 
new DoubleVisualProperty(
+                       0.0, "NETWORK_CENTER_LOCATION", "Network Center 
Location");
+       public static final VisualProperty<Double> NETWORK_CENTER_X_LOCATION = 
new DoubleVisualProperty(
+                       0.0, "NETWORK_CENTER_X_LOCATION", "Network Center X 
Location");
+       public static final VisualProperty<Double> NETWORK_CENTER_Y_LOCATION = 
new DoubleVisualProperty(
+                       0.0, "NETWORK_CENTER_Y_LOCATION", "Network Center Y 
Location");
+       
+       
+       public static final VisualProperty<Double> NETWORK_SIZE = new 
DoubleVisualProperty(
+                       100.0, "NETWORK_SIZE", "Network Size");
+       public static final VisualProperty<Double> NETWORK_WIDTH = new 
DoubleVisualProperty(
+                       100.0, "NETWORK_WIDTH", "Network Width");
+       public static final VisualProperty<Double> NETWORK_HEIGHT = new 
DoubleVisualProperty(
+                       100.0, "NETWORK_HEIGHT", "Network Height");
+
+       
+
+       public static final VisualProperty<String> NETWORK_TEXT = new 
StringVisualProperty(
+                       "", "NETWORK_TEXT", "Network Text");
+       public static final VisualProperty<String> NETWORK_TITLE = new 
StringVisualProperty(
+                       "", "NETWORK_TITLE", "Network Title");
+
+       public static final VisualProperty<Paint> NETWORK_PAINT = new 
ColorVisualProperty(
+                       Color.WHITE, "NETWORK_PAINT", "Network Paint");
+       public static final VisualProperty<? extends Paint> 
NETWORK_BACKGROUND_COLOR = new ColorVisualProperty(
+                       Color.WHITE, "NETWORK_BACKGROUND_COLOR", "Network 
Background Color");
+
+       
+       public TwoDVisualLexicon() {
+               this(ENGINE_ROOT);
+       }
+       
+       /**
+        * Build basic VP tree.
+        * 
+        * @param rootVisualProperty
+        */
+       public TwoDVisualLexicon(final VisualProperty<NullDataType> root) {
+               super(root);
+
+               // 2nd Level: Network and Table
+               insertVisualProperty(NETWORK, root);
+
+               // 3rd Level: Network VP
+               insertVisualProperty(NODE, NETWORK);
+               insertVisualProperty(EDGE, NETWORK);
+               insertVisualProperty(NETWORK_TEXT, NETWORK);
+               insertVisualProperty(NETWORK_PAINT, NETWORK);
+               insertVisualProperty(NETWORK_SIZE, NETWORK);
+               insertVisualProperty(NETWORK_CENTER_LOCATION, NETWORK);
+               insertVisualProperty(NETWORK_SCALE_FACTOR, NETWORK);
+
+               // 4th Level: Node VP
+               insertVisualProperty(NODE_LOCATION, NODE);
+               insertVisualProperty(NODE_PAINT, NODE);
+               insertVisualProperty(NODE_SIZE, NODE);
+               insertVisualProperty(NODE_TEXT, NODE);
+               insertVisualProperty(NODE_VISIBLE, NODE);
+               insertVisualProperty(NODE_SELECTED, NODE);
+               
+               // 4th Level: Edge VP
+               insertVisualProperty(EDGE_PAINT, EDGE);
+               insertVisualProperty(EDGE_SIZE, EDGE);
+               insertVisualProperty(EDGE_TEXT, EDGE);
+               insertVisualProperty(EDGE_VISIBLE, EDGE);
+               insertVisualProperty(EDGE_SELECTED, EDGE);
+               
+               // 4th Level: Network VP leaves
+               insertVisualProperty(NETWORK_TITLE, NETWORK_TEXT);
+               insertVisualProperty(NETWORK_BACKGROUND_COLOR, NETWORK_PAINT);
+               insertVisualProperty(NETWORK_WIDTH, NETWORK_SIZE);
+               insertVisualProperty(NETWORK_HEIGHT, NETWORK_SIZE);
+               insertVisualProperty(NETWORK_CENTER_X_LOCATION, 
NETWORK_CENTER_LOCATION);
+               insertVisualProperty(NETWORK_CENTER_Y_LOCATION, 
NETWORK_CENTER_LOCATION);
+               
+               
+               // 5th Level: leaf Visual Properties
+               insertVisualProperty(NODE_X_LOCATION, NODE_LOCATION);
+               insertVisualProperty(NODE_Y_LOCATION, NODE_LOCATION);
+               insertVisualProperty(NODE_COLOR, NODE_PAINT);
+               insertVisualProperty(NODE_LABEL_COLOR, NODE_PAINT);
+               insertVisualProperty(NODE_SELECTED_COLOR, NODE_PAINT);
+               insertVisualProperty(NODE_X_SIZE, NODE_SIZE);
+               insertVisualProperty(NODE_Y_SIZE, NODE_SIZE);
+               insertVisualProperty(NODE_LABEL, NODE_TEXT);
+
+               insertVisualProperty(EDGE_COLOR, EDGE_PAINT);
+               insertVisualProperty(EDGE_LABEL_COLOR, EDGE_PAINT);
+               insertVisualProperty(EDGE_WIDTH, EDGE_SIZE);
+               insertVisualProperty(EDGE_LABEL, EDGE_TEXT);
+       }
+
+}

-- 
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