Author: ruschein
Date: 2010-12-29 15:18:48 -0800 (Wed, 29 Dec 2010)
New Revision: 23277
Added:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/DeletionDialog.java
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MultiLineTableCellEditor.java
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/AttributeBrowserToolBar.java
Log:
Added deletion of attributes.
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
2010-12-29 22:11:28 UTC (rev 23276)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
2010-12-29 23:18:48 UTC (rev 23277)
@@ -146,8 +146,7 @@
if (raw == null)
return null;
- final Map<String, Class<?>> columnNameToTypeMap =
attrs.getColumnTypeMap();
- final Object cooked = row.get(columnName,
columnNameToTypeMap.get(columnName));
+ final Object cooked = getColumnValue(row, columnName);
if (cooked != null)
return new ValidatedObjectAndEditString(cooked,
raw.toString());
@@ -155,6 +154,15 @@
return new ValidatedObjectAndEditString(cooked, raw.toString(),
lastInternalError);
}
+ private static Object getColumnValue(final CyRow row, final String
columnName) {
+ final Class<?> columnType =
row.getDataTable().getType(columnName);
+ if (columnType == List.class) {
+ final Class<?> listElementType =
row.getDataTable().getListElementType(columnName);
+ return row.getList(columnName, listElementType);
+ } else
+ return row.get(columnName, columnType);
+ }
+
@Override
public void handleEvent(final ColumnCreatedEvent e) {
fireTableStructureChanged();
@@ -369,7 +377,6 @@
try {
reader.mark(0);
ch = reader.read();
-System.err.println("************** at the top of the for-loop, ch="+(char)ch);
} catch (final IOException e) {
throw new IllegalStateException("We should
*never* get here!");
}
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MultiLineTableCellEditor.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MultiLineTableCellEditor.java
2010-12-29 22:11:28 UTC (rev 23276)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MultiLineTableCellEditor.java
2010-12-29 23:18:48 UTC (rev 23277)
@@ -73,10 +73,8 @@
public Component getTableCellEditorComponent(final JTable table, final
Object value, final boolean isSelected,
final int row, final int
column)
{
-//System.err.println("********************* getTableCellEditorComponent(),
column="+column+", value="+value);
final String text = (value != null) ?
((ValidatedObjectAndEditString)value).getEditString() : "";
textArea.setTable(table);
-System.err.println("********************* text="+text);
textArea.setText(text);
return textArea;
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2010-12-29 22:11:28 UTC (rev 23276)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2010-12-29 23:18:48 UTC (rev 23277)
@@ -39,7 +39,6 @@
TableBrowser(final CyTableManager tableManager, final
CyServiceRegistrar serviceRegistrar,
final CyEventHelper eventHelper, final EqnCompiler
compiler)
{
-System.err.println("*******************************************************************************************
Entering TableBrowser constructor!");
this.tableManager = tableManager;
this.serviceRegistrar = serviceRegistrar;
this.eventHelper = eventHelper;
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/AttributeBrowserToolBar.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/AttributeBrowserToolBar.java
2010-12-29 22:11:28 UTC (rev 23276)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/AttributeBrowserToolBar.java
2010-12-29 23:18:48 UTC (rev 23277)
@@ -39,6 +39,7 @@
import javax.swing.ImageIcon;
import javax.swing.JButton;
+import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
@@ -115,6 +116,7 @@
public void setAttrs(final CyTable attrs) {
this.attrs = attrs;
createNewAttributeButton.setEnabled(attrs != null);
+ deleteAttributeButton.setEnabled(attrs != null);
}
private void initializeGUI() {
@@ -416,10 +418,11 @@
.addPreferredGap(ComponentPlacement.RELATED)
/*
.add(getSelectAllButton())
.addPreferredGap(ComponentPlacement.RELATED)
-
.addComponent(getUnselectAllButton())
+*/
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(getDeleteButton())
+/*
.addPreferredGap(ComponentPlacement.RELATED,
28,
Short.MAX_VALUE)
@@ -460,10 +463,12 @@
javax.swing.GroupLayout.Alignment.CENTER,
javax.swing.GroupLayout.DEFAULT_SIZE,
27,
Short.MAX_VALUE)
+*/
.addComponent(deleteAttributeButton,
javax.swing.GroupLayout.Alignment.CENTER,
javax.swing.GroupLayout.DEFAULT_SIZE,
27,
Short.MAX_VALUE)
+/*
.addGroup(buttonBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(matrixButton,
javax.swing.GroupLayout.PREFERRED_SIZE,
@@ -636,14 +641,14 @@
ImportExpressionMatrixAction matrixAction = new
ImportExpressionMatrixAction();
matrixAction.actionPerformed(null);
}
+*/
private JButton getDeleteButton() {
if (deleteAttributeButton == null) {
deleteAttributeButton = new JButton();
deleteAttributeButton.setBorder(null);
deleteAttributeButton.setMargin(new java.awt.Insets(0,
0, 0, 0));
- deleteAttributeButton.setIcon(new
javax.swing.ImageIcon(AttributeBrowser.class
-
.getClass().getClassLoader().getResource("images/stock_delete.png")));
+ deleteAttributeButton.setIcon(new
ImageIcon(getClass().getClassLoader().getResource("images/stock_delete.png")));
deleteAttributeButton.setToolTipText("Delete
Attributes...");
// Create pop-up window for deletion
@@ -652,11 +657,11 @@
removeAttribute(e);
}
});
+ deleteAttributeButton.setEnabled(false);
}
return deleteAttributeButton;
}
-*/
/*
private JButton getSelectAllButton() {
@@ -710,33 +715,16 @@
return unselectAllAttributesButton;
}
-/*
private void removeAttribute(final MouseEvent e) {
final String[] attrArray = getAttributeArray();
- final DeletionDialog dDialog = new
DeletionDialog(Cytoscape.getDesktop(), true, attrArray,
-
attributeType, tableModel);
+ final JFrame frame = (JFrame)SwingUtilities.getRoot(this);
+ final DeletionDialog dDialog = new DeletionDialog(frame, attrs);
dDialog.pack();
dDialog.setLocationRelativeTo(browserToolBar);
dDialog.setVisible(true);
-
- final List<String> atNames = new ArrayList<String>();
- for (String attName:
CyAttributesUtils.getVisibleAttributeNames(attrs))
- atNames.add(attName);
- final List<String> toBeRemoved = new ArrayList<String>();
- for (String colName: orderedCol) {
- if (atNames.contains(colName) == false)
- toBeRemoved.add(colName);
- }
-
- for (String rem: toBeRemoved)
- orderedCol.remove(rem);
-
- tableModel.setTableData(null, orderedCol);
-
AttributeBrowser.firePropertyChange(AttributeBrowser.RESTORE_COLUMN, null,
objectType);
}
-*/
/*
private JList getSelectedAttributeList() {
Copied:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/DeletionDialog.java
(from rev 21699,
coreplugins/trunk/browser/src/main/java/browser/ui/DeletionDialog.java)
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/DeletionDialog.java
(rev 0)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/ui/DeletionDialog.java
2010-12-29 23:18:48 UTC (rev 23277)
@@ -0,0 +1,135 @@
+package org.cytoscape.browser.ui;
+
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import java.util.Arrays;
+import java.util.Set;
+
+import javax.swing.AbstractListModel;
+import javax.swing.GroupLayout;
+import javax.swing.GroupLayout.Alignment;
+import javax.swing.JDialog;
+import javax.swing.LayoutStyle;
+import javax.swing.LayoutStyle.ComponentPlacement;
+
+
+import org.cytoscape.browser.internal.BrowserTableModel;
+import org.cytoscape.model.CyTable;
+
+
+public class DeletionDialog extends JDialog {
+ private CyTable attributes;
+
+ /** Creates new form DeletionDialog */
+ protected DeletionDialog(final Frame parent, final CyTable attributes) {
+ super(parent, "Delete Attributes", /* modal = */ true);
+
+ this.attributes = attributes;
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the
form.
+ * WARNING: Do NOT modify this code. The content of this method is
always
+ * regenerated by the Form Editor.
+ */
+
+ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
+ private void initComponents() {
+ deletionPane = new javax.swing.JScrollPane();
+ attributeList = new javax.swing.JList();
+ deleteButton = new javax.swing.JButton();
+ cancelButton = new javax.swing.JButton();
+ descriptionLabel = new javax.swing.JLabel();
+
+
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+ attributeList.setModel(new AbstractListModel() {
+ public int getSize() {
+ return
attributes.getColumnTypeMap().size();
+ }
+
+ public Object getElementAt(int i) {
+ final Set<String> columnNames =
attributes.getColumnTypeMap().keySet();
+ final String[] sortedColumnNames = new
String[columnNames.size()];
+ columnNames.toArray(sortedColumnNames);
+ Arrays.sort(sortedColumnNames);
+ return sortedColumnNames[i];
+ }
+ });
+ deletionPane.setViewportView(attributeList);
+
+ deleteButton.setText("Delete");
+ deleteButton.addActionListener(new ActionListener() {
+ public void
actionPerformed(java.awt.event.ActionEvent evt) {
+ deleteButtonActionPerformed(evt);
+ }
+ });
+
+ cancelButton.setText("Cancel");
+ cancelButton.addActionListener(new ActionListener() {
+ public void
actionPerformed(java.awt.event.ActionEvent evt) {
+ cancelButtonActionPerformed(evt);
+ ;
+ }
+ });
+
+ descriptionLabel.setText("Please select attributes to be
deleted:");
+
+ final GroupLayout layout = new GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+
layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING)
+
.addGroup(layout.createSequentialGroup().addContainerGap()
+
.addGroup(layout.createParallelGroup(Alignment.LEADING)
+
.addGroup(Alignment.TRAILING,
+
layout.createSequentialGroup()
+
.addComponent(deleteButton)
+
.addPreferredGap(ComponentPlacement.RELATED)
+
.addComponent(cancelButton)
+
.addContainerGap())
+
.addGroup(Alignment.TRAILING,
+
layout.createSequentialGroup()
+
.addComponent(deletionPane,
+
GroupLayout.DEFAULT_SIZE,
+
229, Short.MAX_VALUE)
+
.addGap(12, 12, 12))
+
.addGroup(layout.createSequentialGroup()
+
.addComponent(descriptionLabel)
+
.addContainerGap(26,
+
Short.MAX_VALUE)))));
+
layout.setVerticalGroup(layout.createParallelGroup(Alignment.LEADING)
+ .addGroup(Alignment.TRAILING,
+
layout.createSequentialGroup().addContainerGap()
+
.addComponent(descriptionLabel).addGap(12, 12, 12)
+
.addComponent(deletionPane,
+
GroupLayout.DEFAULT_SIZE,
+ 200,
Short.MAX_VALUE)
+
.addPreferredGap(ComponentPlacement.RELATED)
+
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
+
.addComponent(deleteButton).addComponent(cancelButton))
+ .addContainerGap()));
+ pack();
+ } // </editor-fold>
+
+ private void deleteButtonActionPerformed(ActionEvent evt) {
+ final Object[] selected = attributeList.getSelectedValues();
+ for (int i = 0; i < selected.length; i++)
+ attributes.deleteColumn(selected[i].toString());
+ dispose();
+ }
+
+ private void cancelButtonActionPerformed(ActionEvent evt) {
+ dispose();
+ }
+
+ // Variables declaration - do not modify
+ private javax.swing.JList attributeList;
+ private javax.swing.JButton cancelButton;
+ private javax.swing.JButton deleteButton;
+ private javax.swing.JScrollPane deletionPane;
+ private javax.swing.JLabel descriptionLabel;
+
+ // End of variables declaration
+}
--
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.