Author: neildhruva
Date: 2012-07-14 03:33:13 -0700 (Sat, 14 Jul 2012)
New Revision: 29899
Added:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/
Removed:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CyActivator.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CytoChart.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableAdded.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableDestroyed.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyCytoPanel.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyTableModel.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/PanelComponents.java
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/
Log:
Changing dir name
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CyActivator.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/CyActivator.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CyActivator.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,36 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import org.cytoscape.application.events.SetCurrentNetworkListener;
-import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.model.CyNetworkTableManager;
-import org.cytoscape.model.CyTableFactory;
-import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
-import org.cytoscape.service.util.AbstractCyActivator;
-import org.osgi.framework.BundleContext;
-import java.util.Properties;
-
-
-public class CyActivator extends AbstractCyActivator {
-
- public CyActivator() {
- super();
- }
-
- public void start(BundleContext bc) {
-
- CyTableFactory cyDataTableFactoryServiceRef =
getService(bc,CyTableFactory.class);
- CyNetworkTableManager cyNetworkTableManagerServiceRef =
getService(bc, CyNetworkTableManager.class);
- CyTableManager cyTableManagerServiceRef =
getService(bc,CyTableManager.class);
-
- MyCytoPanel myCytoPanel = new MyCytoPanel();
- EventTableAdded tableAddedEvent = new
EventTableAdded(myCytoPanel, cyDataTableFactoryServiceRef,
cyNetworkTableManagerServiceRef, cyTableManagerServiceRef);
- EventTableDestroyed tableDestroyedEvent = new
EventTableDestroyed(myCytoPanel);
-
- registerService(bc,myCytoPanel,CytoPanelComponent.class, new
Properties());
-
registerService(bc,tableAddedEvent,SetCurrentNetworkListener.class, new
Properties());
-
registerService(bc,tableDestroyedEvent,NetworkAboutToBeDestroyedListener.class,
new Properties());
-
-
- }
-}
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CytoChart.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/CytoChart.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/CytoChart.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,109 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.util.Vector;
-
-import javax.swing.JTable;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.data.category.DefaultCategoryDataset;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-public class CytoChart {
-
- private JFreeChart chart;
- private DefaultCategoryDataset dataset;
- Vector<String> plottableColumns;
-
- 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));
-
- }
- }
-
- /**
- * Creates a chart/graph and puts it in a chart panel.
- *
- * @return The <code>ChartPanel</code> that contains the newly created
chart.
- */
- public JFreeChart createChart(String chartType){
-
- if(chartType.equals("Bar Chart")){
- return BarChart();
- }
-
- else{
- return XYChart();
- }
-
- }
-
- /**
- * Creates an XY Plot (Line Chart).
- * @return Chart containing the XY plot.
- */
- public JFreeChart XYChart() {
-
- // Create a simple XY chart
- XYSeries series = new XYSeries("XYGraph");
- series.add(1, 1);
- series.add(1, 2);
- series.add(2, 1);
- series.add(3, 9);
- series.add(4, 10);
- // Add the series to the data set
- XYSeriesCollection dataset = new XYSeriesCollection();
- dataset.addSeries(series);
-
- // Generate the graph
- chart = ChartFactory.createXYLineChart(
- "XY Chart", // Title
- "x-axis", // x-axis Label
- "y-axis", // y-axis Label
- dataset, // Dataset
- PlotOrientation.VERTICAL, // Plot Orientation
- true, // Show Legend
- true, // Use tooltips
- false // Configure chart to generate URLs?
- );
-
-
- return chart;
-
- }
-
- /**
- * Creates a Bar Chart.
- * @return The bar chart.
- */
- public JFreeChart BarChart() {
-
- this.dataset = new DefaultCategoryDataset();
-
- dataset.setValue(6, "Profit", "Jane");
- dataset.setValue(7, "Profit", "Tom");
- dataset.setValue(8, "Profit", "Jill");
- dataset.setValue(5, "Profit", "John");
- dataset.setValue(12, "Profit", "Fred");
- chart = ChartFactory.createBarChart("Comparison between
Salesman",
- "Salesman", "Profit", dataset, PlotOrientation.VERTICAL,
- false, true, false);
-
- return chart;
- }
-
- /**
- *
- * @return The current chart.
- */
- public JFreeChart getTheChart() {
- return this.chart;
- }
-}
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableAdded.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/EventTableAdded.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableAdded.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,104 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Iterator;
-
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JTable;
-
-import org.cytoscape.application.events.SetCurrentNetworkEvent;
-import org.cytoscape.application.events.SetCurrentNetworkListener;
-import org.cytoscape.model.CyIdentifiable;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNetworkTableManager;
-import org.cytoscape.model.CyRow;
-import org.cytoscape.model.CyTable;
-import org.cytoscape.model.CyTableFactory;
-import org.cytoscape.model.CyTableManager;
-
-public class EventTableAdded implements SetCurrentNetworkListener{
-
- private MyCytoPanel myCytoPanel;
- private JTable table;
- private JCheckBox[] checkBoxArray;
- private PanelComponents panelComponents=null;
- private int columnCount;
- private List<Boolean> checkBoxState;
- private List<String> columnNamesList;
- private CyTableFactory tableFactory;
- private CyTableManager cyTableManager;
- private CyNetworkTableManager cyNetworkTableMgr;
- private JComboBox chartTypeComboBox;
-
- EventTableAdded(MyCytoPanel myCytoPanel,
- CyTableFactory tableFactory,
- CyNetworkTableManager cyNetworkTableMgr,
- CyTableManager cyTableManager) {
-
- this.myCytoPanel = myCytoPanel;
- this.tableFactory = tableFactory;
- this.cyNetworkTableMgr = cyNetworkTableMgr;
- this.cyTableManager = cyTableManager;
- this.panelComponents = new PanelComponents(myCytoPanel);
- }
-
-
- @Override
- public void handleEvent(SetCurrentNetworkEvent e) {
-
- if(e.getNetwork() == null)
- return;
-
- //cytable is the CyTable corresponding to the current node table
- final CyTable cytable = e.getNetwork().getDefaultNodeTable();
- if(cytable==null)
- return;
-
- final Long networkSUID = e.getNetwork().getSUID();
- table = new JTable(new MyTableModel(cytable));
- columnCount = table.getColumnCount();
-
- //myCyTable is the custom CyTable created for this app and
associated with each network.
- CyTable myCyTable=null;
-
- myCyTable = cyNetworkTableMgr.getTable(e.getNetwork(),
CyNetwork.class, "PrintTable");
-
- if(myCyTable!=null) {
- panelComponents.initCheckBoxArray(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)
- checkBoxState = new ArrayList<Boolean>();
- columnNamesList = new ArrayList<String>();
- for(int i=0; i<columnCount; 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);
-
- 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(e.getNetwork(),
CyNetwork.class, "PrintTable", myCyTable);
- //add myCyTable to the CyTableManager in order to
preserve it across sessions
- cyTableManager.addTable(myCyTable);
-
- panelComponents.initCheckBoxArray(myCyTable, cytable);
- }
-
- chartTypeComboBox = panelComponents.getComboBox();
- table = panelComponents.getTable();
- checkBoxArray = panelComponents.getCheckBoxArray();
- myCytoPanel.initComponents(table, checkBoxArray, columnCount,
chartTypeComboBox);
- }
-}
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableDestroyed.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/EventTableDestroyed.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/EventTableDestroyed.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,29 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.awt.GridLayout;
-
-import javax.swing.JLabel;
-
-import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
-import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
-
-public class EventTableDestroyed implements NetworkAboutToBeDestroyedListener{
-
- private MyCytoPanel myCytoPanel;
-
-
- EventTableDestroyed(MyCytoPanel myCytoPanel){
- this.myCytoPanel = myCytoPanel;
- }
-
- @Override
- public void handleEvent(NetworkAboutToBeDestroyedEvent e) {
-
- //Clear the Table View Panel
- myCytoPanel.removeAll();
- JLabel label = new JLabel("Please select/import a network");
- myCytoPanel.setLayout(new GridLayout());
- myCytoPanel.add(label);
- myCytoPanel.revalidate();
- }
-}
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyCytoPanel.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/MyCytoPanel.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyCytoPanel.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,174 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.GridLayout;
-
-import javax.swing.GroupLayout;
-import javax.swing.GroupLayout.SequentialGroup;
-import javax.swing.Icon;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.LayoutStyle;
-
-import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.application.swing.CytoPanelName;
-import org.jfree.chart.ChartPanel;
-import org.jfree.chart.JFreeChart;
-
-public class MyCytoPanel extends JPanel implements CytoPanelComponent {
-
- private static final long serialVersionUID = 8292806967891823933L;
-
- private JScrollPane jScrollPane1;
- private JCheckBox[] checkBoxArray;
- private GroupLayout layout;
- private int tableColumnCount;
- private ChartPanel myChart;
- private CytoChart cytoChart;
- private JComboBox jComboBox1;
- private JFreeChart chart;
-
- public MyCytoPanel() {
- JLabel label = new JLabel("Please select/import a network");
- this.setLayout(new GridLayout());
- this.add(label);
- this.setVisible(true);
-
- }
-
- /**
- * Initializes the <code>JTable</code> and the <code>JCheckBox</code>[]
array to be added to this <code>JPanel</code>
- *
- * @param jtable The <code>JTable</code> to be displayed in this
<code>JPanel</code>
- * @param checkBoxArray The <code>JCheckBox</code>[] array to be
displayed in this <code>JPanel</code>
- * @param tableColumnCount The initial column count of the
<code>JTable</code>
- */
- public void initComponents(JTable table, JCheckBox[] checkBoxArray, int
tableColumnCount, JComboBox jComboBox1){
-
- if(this.getComponents().length>0)
- this.removeAll();
-
- this.setBounds(0, 0, 2000, 2000);
- this.setPreferredSize(new Dimension(2000, 2000));
-
- this.checkBoxArray = checkBoxArray;
- this.tableColumnCount = tableColumnCount;
-
- table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-
- cytoChart = new CytoChart(table);
- chart =
cytoChart.createChart(jComboBox1.getSelectedItem().toString());
- 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);
-
- this.jComboBox1 = jComboBox1;
-
- layout = new GroupLayout(this);
- this.setLayout(layout);
-
- initPanel();
- this.revalidate();
-
- }
-
- /**
- * Adds the <code>JTable</code> and the <code>JCheckBox</code>[] array
to the layout of
- * this <code>JPanel</code>.
- *
- */
- public void initPanel(){
-
- GroupLayout.ParallelGroup checkBoxGroupHor =
layout.createParallelGroup(GroupLayout.Alignment.LEADING);
- 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++){
- checkBoxGroupVert.addComponent(checkBoxArray[i]);
- if(i!=(tableColumnCount-1)) {
-
checkBoxGroupVert.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED);
- }
- }
-
- layout.setVerticalGroup(
-
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
-
.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))
- );
-
- }
-
- public Component getComponent() {
- return this;
- }
-
- /**
- * @return Location of the CytoPanel
- */
- public CytoPanelName getCytoPanelName() {
- return CytoPanelName.SOUTH;
- }
-
- /**
- * @return Title of the CytoPanel
- */
- public String getTitle() {
- return "Table View";
- }
-
- /**
- * @return Icon
- */
- public Icon getIcon() {
- return null;
- }
-
- /**
- * @return Instance of {@link CytoChart} used to get access to the
current chart or create a new chart.
- */
- public CytoChart getCytoChart() {
- return this.cytoChart;
- }
-
- /**
- * Sets the new chart within the {@link ChartPanel}.
- *
- */
- public void setChartPanel(String chartType) {
- chart = cytoChart.createChart(chartType);
- myChart.setChart(chart);
- }
-}
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyTableModel.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/MyTableModel.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/MyTableModel.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,103 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.util.Collection;
-import java.util.Vector;
-
-import javax.swing.table.AbstractTableModel;
-
-import org.cytoscape.model.CyColumn;
-import org.cytoscape.model.CyTable;
-
-public class MyTableModel extends AbstractTableModel {
-
- private static final long serialVersionUID = 4744686051219349710L;
-
- private CyTable cytable;
- private String[] columnNames;
- private int columnLength;
-
- public MyTableModel(CyTable cytable){
- this.cytable = cytable;
- this.columnLength = setColumnCount();
- this.columnNames = setColumnNames();
- }
-
- @Override
- public int getColumnCount() {
- return this.columnLength;
- }
-
- @Override
- public int getRowCount() {
- return cytable.getRowCount();
- }
-
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- return
cytable.getAllRows().get(rowIndex).get(getColumnName(columnIndex),
getColumnClass(columnIndex));
- }
-
- @Override
- public String getColumnName(int columnIndex) {
- return columnNames[columnIndex];
- }
-
- @Override
- public Class<?> getColumnClass(int columnIndex) {
- return cytable.getColumn(getColumnName(columnIndex)).getType();
- }
-
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return false;
- }
-
- /**
- * Sets the count of columns from the <code>CyTable</code>, excluding
the ones that
- * contain data in the form of a <code>List</code>.
- *
- */
- public int setColumnCount() {
- Collection<CyColumn> cycolumns = (Collection<CyColumn>)
cytable.getColumns();
- int count=0;
- for(CyColumn cycolumn : cycolumns){
- if(!cycolumn.getType().isInterface()) {
- count++;
- }
- }
- return count;
- }
-
- /**
- * Sets the names of columns from the <code>CyTable</code>. Only those
columns that don't
- * contain <code>List</code> data are added to the array.
- *
- */
- public String[] setColumnNames() {
- String[] columnNameArray = new String [this.columnLength];
- Collection<CyColumn> cycolumns = (Collection<CyColumn>)
cytable.getColumns();
- int count=0;
- for(CyColumn cycolumn : cycolumns){
- if(!cycolumn.getType().isInterface()){
- columnNameArray[count] = cycolumn.getName();
- count++;
- }
- }
- 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
Deleted:
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/PanelComponents.java
===================================================================
---
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/internal/PanelComponents.java
2012-07-13 21:27:07 UTC (rev 29895)
+++
csplugins/trunk/soc/neildhruva/PrintTable/src/main/java/org/cytoscape/sample/impl/PanelComponents.java
2012-07-14 10:33:13 UTC (rev 29899)
@@ -1,214 +0,0 @@
-package org.cytoscape.sample.internal;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JTable;
-import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-
-import org.cytoscape.model.CyTable;
-
-public class PanelComponents {
-
- private JTable table;
- private TableColumnModel tableColumnModel;
- private JCheckBox[] checkBoxArray;
- private int columnCount;
- private CyTable myCyTable;
- private List<Boolean> checkBoxState;
- private List<String> columnNamesList;
- private JComboBox chartTypeComboBox;
- private MyCytoPanel myCytoPanel;
- private String chartType;
-
- public enum chartTypes {
- BAR {
- public String toString() {
- return "Bar Chart";
- }
- },
-
- Line {
- public String toString() {
- return "Line Chart";
- }
- }
- }
-
- public PanelComponents(MyCytoPanel myCytoPanel) {
- this.myCytoPanel = myCytoPanel;
- }
-
- /**
- * Initializes an array of checkboxes with column names of the table as
titles and
- * sets each checkbox checked/unchecked corresponding to the Boolean
values in which track hidden columns.
- * The checkboxes allows user to check/uncheck a particular column.
- *
- */
- @SuppressWarnings("unchecked")
- public void initCheckBoxArray(CyTable myCyTable, CyTable cytable){
-
- this.myCyTable = myCyTable;
- this.table = new JTable(new MyTableModel(cytable));
- this.tableColumnModel = table.getColumnModel();
- this.columnCount = table.getColumnCount();
-
- this.columnNamesList = new ArrayList<String>();
- this.checkBoxState = new ArrayList<Boolean>();
- checkBoxState = myCyTable.getAllRows().get(0).getList("States",
Boolean.class);
- 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));
- checkBoxArray[i].setSelected(checkBoxState.get(i));
-
- final int j=i;
-
- /*
- * A listener is add to each checkbox so that when the
corresponding
- * checkbox is clicked, the hideColumn and showColumn methods
can be
- * invoked.
- */
- checkBoxArray[i].addItemListener(new ItemListener() {
-
- @Override
- public void itemStateChanged(ItemEvent arg0) {
- if(!checkBoxArray[j].isSelected()){
-
hideColumn(checkBoxArray[j].getText());
- }else{
-
showColumn(checkBoxArray[j].getText());
- }
- }
- });
- }
-
- //hide all the columns that the user intends to hide in the JTable
- for(int i=0;i<columnCount;i++){
- if(!checkBoxState.get(i)) {
- TableColumn column =
tableColumnModel.getColumn(tableColumnModel.getColumnIndex(checkBoxArray[i].getText()));
- tableColumnModel.removeColumn(column);
- }
- }
-
- //initialize the JComboBox which selects the type of chart to be
displayed
- //every time it is changed, the graph changes as well
- if(chartTypeComboBox==null) {
- chartTypeComboBox = new JComboBox(chartTypes.values());
- chartTypeComboBox.setSelectedItem("Bar Chart"); //by default
-
- chartTypeComboBox.addActionListener(new ActionListener () {
- public void actionPerformed(ActionEvent e) {
- String chartType = ((JComboBox)
e.getSource()).getSelectedItem().toString();
- myCytoPanel.setChartPanel(chartType);
- updateChartType(chartType);
- }
- });
-
- } else {
-
chartTypeComboBox.getModel().setSelectedItem(myCyTable.getAllRows().get(0).get("ChartType",
String.class));
- }
- }
-
- /**
- * Hides the column from the table view by removing it from the table
column model.
- *
- * @param columnName Name of the column that has to be hidden.
- */
- public void hideColumn(String columnName) {
-
- int columnIndex = tableColumnModel.getColumnIndex(columnName);
- TableColumn column = tableColumnModel.getColumn(columnIndex);
-
- columnIndex = columnNamesList.indexOf(columnName);
- checkBoxState.set(columnIndex, false);
- myCyTable.getAllRows().get(0).set("States", checkBoxState);
-
- tableColumnModel.removeColumn(column);
-
- }
-
- /**
- * Makes a column visible in the JTable.
- *
- * @param columnName Name of the column that has to be made visible.
- */
- public void showColumn(String columnName) {
-
- int columnIndex = columnNamesList.indexOf(columnName);
- ((MyTableModel) table.getModel()).fireTableStructureChanged();
-
- checkBoxState.set(columnIndex, true);
-
- /* after calling fireTableStructureChanged(), the entire JTable
is refreshed. This is done because
- * table.getAutoCreateColumnsFromModel() is true. So now, all
columns corresponding to unchecked
- * checkboxes need to be hidden.
- */
- for(int i=0;i<columnCount;i++) {
- if(!checkBoxState.get(i)) {
- hideColumn(columnNamesList.get(i));
- }
- }
- }
-
- /**
- *
- * @param chartType
- */
- public void updateChartType(String chartType) {
- myCyTable.getAllRows().get(0).set("ChartType", chartType);
- this.chartType = chartType;
- }
-
- /**
- *
- * @return The modified checkbox array after the user has
selected/deselected
- * some checkboxes.
- */
- public JCheckBox[] getCheckBoxArray(){
- return this.checkBoxArray;
- }
-
- /**
- *
- * @return The modified checkbox array after the user has
selected/deselected
- * some checkboxes.
- */
- public JComboBox getComboBox(){
- return this.chartTypeComboBox;
- }
-
- /**
- *
- * @return The initial column count of the table.
- */
- public int getTableColumnCount(){
- return this.columnCount;
- }
-
- /**
- *
- * @return The modified JTable after some rows have been made invisible.
- */
- public JTable getTable(){
- return this.table;
- }
-
- /**
- *
- * @return The Chart type string.
- */
- public String getChartType(){
- return this.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.