Author: neildhruva
Date: 2012-07-17 09:10:03 -0700 (Tue, 17 Jul 2012)
New Revision: 29912

Modified:
   
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/ChartAppFactoryImpl.java
   
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/CytoChart.java
   
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/MyTableModel.java
   
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelComponents.java
   
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelLayout.java
Log:
JTable is removed. Only plottable columns (with integer, double or float 
values) now have checkboxes.

Modified: 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/ChartAppFactoryImpl.java
===================================================================
--- 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/ChartAppFactoryImpl.java
    2012-07-16 20:45:15 UTC (rev 29911)
+++ 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/ChartAppFactoryImpl.java
    2012-07-17 16:10:03 UTC (rev 29912)
@@ -43,48 +43,53 @@
                final Long networkSUID = currentNetwork.getSUID();
                JTable table = new JTable(new MyTableModel(cyTable));
                tableColumnCount = table.getColumnCount();
+               
+               if(tableColumnCount>0) {
                        
-               //myCyTable is the custom CyTable created for this app and 
associated with each network.
-               CyTable myCyTable=null;
+                       //myCyTable is the custom CyTable created for this app 
and associated with each network.
+                       CyTable myCyTable=null;
                        
-               myCyTable = cyNetworkTableMgr.getTable(currentNetwork, 
CyNetwork.class, "PrintTable "+cyTable.getTitle());
+                       myCyTable = cyNetworkTableMgr.getTable(currentNetwork, 
CyNetwork.class, "PrintTable "+cyTable.getTitle());
                        
-               if(myCyTable!=null) {
-                       panelComponents.initComponents(myCyTable, cyTable);
-               } else {
-                       //checkBoxState stores information on whether a given 
column of a network table is
-                       //hidden or visible depending on the associated boolean 
value (true for visible)
-                       ArrayList<Boolean> checkBoxState = new 
ArrayList<Boolean>();
-                       ArrayList<String> columnNamesList = new 
ArrayList<String>();
-                       for(int i=0; i<tableColumnCount; i++) {
-                               columnNamesList.add(table.getColumnName(i));
-                               checkBoxState.add(true);
-               }
+                       if(myCyTable!=null) {
+                               panelComponents.initComponents(myCyTable, 
cyTable);
+                       } else {
+                               //checkBoxState stores information on whether a 
given column of a network table is
+                               //hidden or visible depending on the associated 
boolean value (true for visible)
+                               ArrayList<Boolean> checkBoxState = new 
ArrayList<Boolean>();
+                               ArrayList<String> columnNamesList = new 
ArrayList<String>();
+                               for(int i=0; i<tableColumnCount; i++) {
+                                       
columnNamesList.add(table.getColumnName(i));
+                                       checkBoxState.add(true);
+                               }
+                               
+                               //if myCyTable is null, create a new CyTable 
and associate it with the current network.
+                               myCyTable = 
tableFactory.createTable("PrintTable "+cyTable.getTitle(), CyIdentifiable.SUID, 
Long.class, true, true);
+                               myCyTable.createListColumn("Names", 
String.class, true);
+                               myCyTable.createListColumn("States", 
Boolean.class, true);
+                               myCyTable.createColumn("ChartType", 
String.class, true);
                        
-                       //if myCyTable is null, create a new CyTable and 
associate it with the current network.
-                       myCyTable = tableFactory.createTable("PrintTable 
"+cyTable.getTitle(), CyIdentifiable.SUID, Long.class, true, true);
-                       myCyTable.createListColumn("Names", String.class, true);
-                       myCyTable.createListColumn("States", Boolean.class, 
true);
-                       myCyTable.createColumn("ChartType", String.class, true);
+                               CyRow cyrow = myCyTable.getRow(networkSUID);
+                               cyrow.set("Names", columnNamesList);
+                               cyrow.set("States", checkBoxState);
+                               cyrow.set("ChartType", "Bar Chart"); //default 
value is "Bar Chart"
                        
-                       CyRow cyrow = myCyTable.getRow(networkSUID);
-                       cyrow.set("Names", columnNamesList);
-                       cyrow.set("States", checkBoxState);
-                       cyrow.set("ChartType", "Bar Chart"); //default value is 
"Bar Chart"
+                               //associate myCyTable with this network 
+                               cyNetworkTableMgr.setTable(currentNetwork, 
CyNetwork.class, "PrintTable "+cyTable.getTitle(), myCyTable);
+                               //add myCyTable to the CyTableManager in order 
to preserve it across sessions
+                               cyTableManager.addTable(myCyTable);
                        
-                       //associate myCyTable with this network 
-                       cyNetworkTableMgr.setTable(currentNetwork, 
CyNetwork.class, "PrintTable "+cyTable.getTitle(), myCyTable);
-                       //add myCyTable to the CyTableManager in order to 
preserve it across sessions
-                       cyTableManager.addTable(myCyTable);
-                       
-                       panelComponents.initComponents(myCyTable, cyTable);
-               }       
+                               panelComponents.initComponents(myCyTable, 
cyTable);
+                       }       
                
-               JComboBox chartTypeComboBox = panelComponents.getComboBox();
-               table = panelComponents.getTable();
-               JCheckBox[] checkBoxArray = panelComponents.getCheckBoxArray();
-               jpanel = panelLayout.initLayout(table, tableColumnCount, 
checkBoxArray, chartTypeComboBox);
-                       
+                       JComboBox chartTypeComboBox = 
panelComponents.getComboBox();
+                       table = panelComponents.getTable();
+                       JCheckBox[] checkBoxArray = 
panelComponents.getCheckBoxArray();
+                       jpanel = panelLayout.initLayout(table, 
tableColumnCount, checkBoxArray, chartTypeComboBox);
+               } else {
+                       jpanel = panelLayout.nullJPanel();
+               }
+               
                return jpanel;
        }
 

Modified: 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/CytoChart.java
===================================================================
--- 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/CytoChart.java
      2012-07-16 20:45:15 UTC (rev 29911)
+++ 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/CytoChart.java
      2012-07-17 16:10:03 UTC (rev 29912)
@@ -19,13 +19,6 @@
     
        public CytoChart(JTable table) {
                
-               //print all the columns that can be plotted on a graph
-               MyTableModel myTableModel = (MyTableModel) table.getModel();
-               this.plottableColumns = myTableModel.getPlottableColumns();
-               for(int i=0;i<plottableColumns.size();i++){
-                       System.out.println(plottableColumns.get(i));
-                       
-               }
        }
        
        /**

Modified: 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/MyTableModel.java
===================================================================
--- 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/MyTableModel.java
   2012-07-16 20:45:15 UTC (rev 29911)
+++ 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/MyTableModel.java
   2012-07-17 16:10:03 UTC (rev 29912)
@@ -61,7 +61,10 @@
                Collection<CyColumn> cycolumns = (Collection<CyColumn>) 
cytable.getColumns(); 
                int count=0;
                for(CyColumn cycolumn : cycolumns){
-                        if(!cycolumn.getType().isInterface()) {
+                       if((cycolumn.getType().equals(Integer.class) || 
+                               cycolumn.getType().equals(Double.class)  || 
+                               cycolumn.getType().equals(Long.class))   &&
+                               !cycolumn.getName().equals("SUID")) {
                                 count++;
                         }
                }       
@@ -78,26 +81,14 @@
                Collection<CyColumn> cycolumns = (Collection<CyColumn>) 
cytable.getColumns(); 
                int count=0;
                for(CyColumn cycolumn : cycolumns){
-                       if(!cycolumn.getType().isInterface()){
-                               columnNameArray[count] = cycolumn.getName();
-                               count++;
+                       if((cycolumn.getType().equals(Integer.class) || 
+                               cycolumn.getType().equals(Double.class)  || 
+                               cycolumn.getType().equals(Long.class))   &&
+                               !cycolumn.getName().equals("SUID")) {
+                               columnNameArray[count++] = cycolumn.getName();
                        }
                }
                return columnNameArray; 
        }
        
-       /**
-        * Returns a vector of names of columns from the <code>CyTable</code> 
that are of the type Integer, Long or Double.
-        * 
-        * @return Vector containing names of columns that are of the type 
Integer, Long or Double.
-        */
-       public Vector<String> getPlottableColumns() {
-               Vector<String> v = new Vector<String>();
-               for(int columnIndex=0; columnIndex < columnLength; 
columnIndex++){
-                       if(getColumnClass(columnIndex).equals(Integer.class) || 
getColumnClass(columnIndex).equals(Double.class) || 
getColumnClass(columnIndex).equals(Long.class)) {
-                               v.add(columnNames[columnIndex]);
-                       }
-               }
-               return v;       
-       }
 }
\ No newline at end of file

Modified: 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelComponents.java
===================================================================
--- 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelComponents.java
        2012-07-16 20:45:15 UTC (rev 29911)
+++ 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelComponents.java
        2012-07-17 16:10:03 UTC (rev 29912)
@@ -67,7 +67,7 @@
        columnNamesList = myCyTable.getAllRows().get(0).getList("Names", 
String.class);
        
        checkBoxArray = new JCheckBox[columnCount];
-        
+       
         for(int i=0;i<columnCount;i++){
                checkBoxArray[i] = new JCheckBox();
                checkBoxArray[i].setText(table.getColumnName(i));

Modified: 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelLayout.java
===================================================================
--- 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelLayout.java
    2012-07-16 20:45:15 UTC (rev 29911)
+++ 
csplugins/trunk/soc/neildhruva/ChartApp/src/main/java/org/cytoscape/neildhruva/chartapp/PanelLayout.java
    2012-07-17 16:10:03 UTC (rev 29912)
@@ -1,11 +1,13 @@
 package org.cytoscape.neildhruva.chartapp;
 
 import java.awt.Dimension;
+import java.awt.GridLayout;
 
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.SequentialGroup;
 import javax.swing.JComboBox;
 import javax.swing.JCheckBox;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
@@ -47,7 +49,7 @@
                jpanel.setPreferredSize(new Dimension(2000, 2000));
                
                this.checkBoxArray = checkBoxArray;
-        this.tableColumnCount =tableColumnCount;
+               this.tableColumnCount =tableColumnCount;
                
                table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                
@@ -56,19 +58,20 @@
                myChart = new ChartPanel(chart);
                myChart.setMouseWheelEnabled(true);
                
-        jScrollPane1 = new JScrollPane();
-        jScrollPane1.setViewportView(table);
-        
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
-        jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane 
.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+               jScrollPane1 = new JScrollPane();
+               jScrollPane1.setViewportView(table);
+               
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+               jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane 
.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+               
+               this.jComboBox1 = jComboBox1; 
+               
+               layout = new GroupLayout(jpanel);
+               jpanel.setLayout(layout);
+                       
+               initPanel();
+                       
+        return jpanel;
         
-        this.jComboBox1 = jComboBox1; 
-        
-        layout = new GroupLayout(jpanel);
-        jpanel.setLayout(layout);
-        
-        initPanel();
-               return jpanel;
-        
        }
        
        /**
@@ -80,22 +83,7 @@
                for(int i=0;i<tableColumnCount;i++) {
                checkBoxGroupHor.addComponent(checkBoxArray[i]);
         }
-               checkBoxGroupHor.addComponent(jComboBox1);
                
-               layout.setHorizontalGroup(
-                
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                .addGroup(layout.createSequentialGroup()
-                    .addComponent(jScrollPane1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addGap(6, 6, 6)
-                    
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                        .addGroup(layout.createSequentialGroup()
-                            .addGroup(checkBoxGroupHor)
-                            .addGap(81, 81, 81)
-                            .addComponent(myChart, GroupLayout.PREFERRED_SIZE, 
GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-                        .addComponent(jComboBox1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE))
-                    .addGap(98, 98, 98))
-        );
-        
         SequentialGroup checkBoxGroupVert = layout.createSequentialGroup();
         checkBoxGroupVert.addContainerGap();
         for(int i=0;i<tableColumnCount;i++){
@@ -104,6 +92,16 @@
                        
checkBoxGroupVert.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED);
                }
         }
+       
+        layout.setHorizontalGroup(
+                
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(layout.createSequentialGroup()
+                               .addComponent(myChart, 
GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 
GroupLayout.PREFERRED_SIZE)
+                    
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addGroup(checkBoxGroupHor
+                        .addComponent(jComboBox1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGap(443, 443, 443))
+        );
         
         layout.setVerticalGroup(
                 
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -111,15 +109,28 @@
                     
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(myChart, GroupLayout.PREFERRED_SIZE, 
GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                         .addGroup(checkBoxGroupVert
-                            .addGap(18, 18, 18)
-                            .addComponent(jComboBox1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE))
-                        .addComponent(jScrollPane1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE))
-                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, 
Short.MAX_VALUE))
+                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(jComboBox1, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addContainerGap(183, Short.MAX_VALUE))
         );
-        
     }
        
        /**
+        * When there are no plottable columns, this method is invoked.
+        * @return <code>JPanel</code> containing a warning.
+        */
+       public JPanel nullJPanel() {
+               
+               if(jpanel.getComponents().length>0)
+                       jpanel.removeAll();
+               
+               JLabel label = new JLabel("No plottable columns. Please 
select/import another network");
+       jpanel.setLayout(new GridLayout());
+               jpanel.add(label);
+               return jpanel;
+       }
+       
+       /**
         * Sets the new chart within the {@link ChartPanel}.
         */
        public void setChartPanel(String chartType) {

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