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.