Author: clopes
Date: 2012-05-28 16:09:44 -0700 (Mon, 28 May 2012)
New Revision: 29377

Modified:
   
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
Log:
Fixes #1020 : After destroying a network, network tables are not removed 
(columns stay) and the network attribute is not removed.

Modified: 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
--- 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-05-28 22:35:17 UTC (rev 29376)
+++ 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-05-28 23:09:44 UTC (rev 29377)
@@ -468,5 +468,8 @@
                
                // Clear undo stack
                undo.reset();
+               
+               // Reset current table
+               appMgr.setCurrentTable(null);
        }
 }

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2012-05-28 22:35:17 UTC (rev 29376)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2012-05-28 23:09:44 UTC (rev 29377)
@@ -70,11 +70,17 @@
        private JScrollPane currentScrollPane;
        
        AbstractTableBrowser(final String tabTitle,
-                       final CyTableManager tableManager, final 
CyNetworkTableManager networkTableManager,
-                       final CyServiceRegistrar serviceRegistrar, final 
EquationCompiler compiler, final OpenBrowser openBrowser,
-                       final CyNetworkManager networkManager, final 
TableTaskFactory deleteTableTaskFactoryService,
-                       final DialogTaskManager guiTaskManagerServiceRef, final 
PopupMenuHelper popupMenuHelper,
-                       final CyApplicationManager applicationManager, final 
CyEventHelper eventHelper) {
+                                                final CyTableManager 
tableManager,
+                                                final CyNetworkTableManager 
networkTableManager,
+                                                final CyServiceRegistrar 
serviceRegistrar,
+                                                final EquationCompiler 
compiler,
+                                                final OpenBrowser openBrowser,
+                                                final CyNetworkManager 
networkManager,
+                                                final TableTaskFactory 
deleteTableTaskFactoryService,
+                                                final DialogTaskManager 
guiTaskManagerServiceRef,
+                                                final PopupMenuHelper 
popupMenuHelper,
+                                                final CyApplicationManager 
applicationManager,
+                                                final CyEventHelper 
eventHelper) {
                this.tableManager = tableManager;
                this.serviceRegistrar = serviceRegistrar;
                this.compiler = compiler;
@@ -87,7 +93,6 @@
 
                this.scrollPanes = new HashMap<BrowserTableModel,JScrollPane>();
                this.browserTableModels = new 
HashMap<CyTable,BrowserTableModel>();
-               this.currentScrollPane = null;
                
                this.setLayout(new BorderLayout());
                this.setPreferredSize(PANEL_SIZE);
@@ -124,52 +129,57 @@
        public Icon getIcon() { return null; }
        
        // Delete the given table from the JTable
-       public void DeleteTable(CyTable cyTable){
-               
-               if (this.currentTable != cyTable){
-                       return;
+       public void deleteTable(CyTable cyTable){
+               if (currentTable == cyTable) {
+                       
browserTableModels.get(cyTable).getBrowserTable().setModel(new 
DefaultTableModel());                            
+                       browserTableModels.remove(cyTable);
+                       currentTable = null;
                }
-
-               browserTableModels.get(cyTable).getBrowserTable().setModel(new 
DefaultTableModel());                            
-               this.browserTableModels.remove(cyTable);
        }
        
-       
        synchronized void showSelectedTable() {
-               final BrowserTableModel currentBrowserTableModel = 
getCurrentBrowserTableModel();
-               final JScrollPane newScrollPane = 
getScrollPane(currentBrowserTableModel);
-
                if (currentScrollPane != null)
                        remove(currentScrollPane);
 
-               add(newScrollPane, BorderLayout.CENTER);
+               final BrowserTableModel currentBrowserTableModel = 
getCurrentBrowserTableModel();
+               final JScrollPane newScrollPane = 
getScrollPane(currentBrowserTableModel);
+               
+               if (newScrollPane != null)
+                       add(newScrollPane, BorderLayout.CENTER);
+               else
+                       repaint();
 
                currentScrollPane = newScrollPane;
                applicationManager.setCurrentTable(currentTable);
                
attributeBrowserToolBar.setBrowserTableModel(currentBrowserTableModel);
                
                // Resize column
-               
ColumnResizer.adjustColumnPreferredWidths(currentBrowserTableModel.getTable());
+               if (currentBrowserTableModel != null)
+                       
ColumnResizer.adjustColumnPreferredWidths(currentBrowserTableModel.getTable());
        }
 
        private JScrollPane getScrollPane(final BrowserTableModel 
browserTableModel) {
-               JScrollPane scrollPane = scrollPanes.get(browserTableModel);
+               JScrollPane scrollPane = null;
                
-               if (scrollPane == null) {
-                       final BrowserTable browserTable = 
browserTableModel.getBrowserTable(); 
-                       serviceRegistrar.registerAllServices(browserTableModel, 
new Properties());
-                       browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-                       
browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
-                       browserTable.setUpdateComparators(false);
-                       browserTable.setModel(browserTableModel);
+               if (browserTableModel != null) {
+                       scrollPane = scrollPanes.get(browserTableModel);
                        
-                       final TableRowSorter<BrowserTableModel> rowSorter = new 
TableRowSorter<BrowserTableModel>(browserTableModel);
-                       browserTable.setRowSorter(rowSorter);
-                       updateColumnComparators(rowSorter, browserTableModel);
-                       browserTable.setUpdateComparators(true);
-                       
-                       scrollPane = new JScrollPane(browserTable);
-                       scrollPanes.put(browserTableModel,scrollPane);
+                       if (scrollPane == null) {
+                               final BrowserTable browserTable = 
browserTableModel.getBrowserTable(); 
+                               
serviceRegistrar.registerAllServices(browserTableModel, new Properties());
+                               
browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+                               
browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
+                               browserTable.setUpdateComparators(false);
+                               browserTable.setModel(browserTableModel);
+                               
+                               final TableRowSorter<BrowserTableModel> 
rowSorter = new TableRowSorter<BrowserTableModel>(browserTableModel);
+                               browserTable.setRowSorter(rowSorter);
+                               updateColumnComparators(rowSorter, 
browserTableModel);
+                               browserTable.setUpdateComparators(true);
+                               
+                               scrollPane = new JScrollPane(browserTable);
+                               scrollPanes.put(browserTableModel, scrollPane);
+                       }
                }
 
                return scrollPane;
@@ -178,7 +188,7 @@
        protected BrowserTableModel getCurrentBrowserTableModel() {
                BrowserTableModel btm = browserTableModels.get(currentTable);
                
-               if (btm == null) {
+               if (btm == null && currentTable != null) {
                        final BrowserTable browserTable = new 
BrowserTable(openBrowser, compiler, popupMenuHelper,
                                        applicationManager, eventHelper, 
tableManager);
                        

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
       2012-05-28 22:35:17 UTC (rev 29376)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
       2012-05-28 23:09:44 UTC (rev 29377)
@@ -30,20 +30,29 @@
 
 import java.awt.BorderLayout;
 import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 
 import javax.swing.GroupLayout;
+import javax.swing.GroupLayout.Alignment;
+import javax.swing.GroupLayout.ParallelGroup;
+import javax.swing.GroupLayout.SequentialGroup;
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JComboBox;
+import javax.swing.JComponent;
 import javax.swing.JFrame;
 import javax.swing.JList;
 import javax.swing.JMenu;
@@ -57,6 +66,7 @@
 import javax.swing.JToolBar;
 import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
 import javax.swing.SwingUtilities;
 import javax.swing.event.PopupMenuEvent;
 import javax.swing.event.PopupMenuListener;
@@ -73,9 +83,7 @@
 import org.cytoscape.model.subnetwork.CyRootNetwork;
 import org.cytoscape.model.subnetwork.CySubNetwork;
 import org.cytoscape.service.util.CyServiceRegistrar;
-import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.task.destroy.DeleteTableTaskFactory;
-import org.cytoscape.task.edit.MapGlobalToLocalTableTaskFactory;
 import org.cytoscape.util.swing.CheckBoxJList;
 import org.cytoscape.work.swing.DialogTaskManager;
 
@@ -88,67 +96,78 @@
        
        private static final long serialVersionUID = -508393701912596399L;
 
-       private BrowserTableModel browserTableModel = null;
+       private BrowserTableModel browserTableModel;
        
        private static final Dimension TOOLBAR_SIZE = new Dimension(500, 38);
 
-       /**
-        *  GUI components
-        */
-       private JPopupMenu attributeSelectionPopupMenu = null;
-       private JScrollPane jScrollPane = null;
-       private JPopupMenu createColumnMenu = null;
+       /* GUI components */
+       private JPopupMenu attributeSelectionPopupMenu;
+       private JScrollPane jScrollPane;
+       private JPopupMenu createColumnMenu;
 
-       private JToolBar browserToolBar = null;
-       private JButton selectButton = null;
-       private CheckBoxJList attributeList = null;
-       private JList attrDeletionList = null;
+       private JToolBar toolBar;
+       private SequentialGroup hToolBarGroup;
+       private ParallelGroup vToolBarGroup;
        
-       private JButton createNewAttributeButton = null;
-       private JButton deleteAttributeButton = null;
-       private JButton deleteTableButton = null;
-       private JButton selectAllAttributesButton = null;
-       private JButton unselectAllAttributesButton = null;
+       private JButton selectButton;
+       private CheckBoxJList attributeList;
+       private JList attrDeletionList;
        
-//     private JButton mapGlobalTableButton = null;
+       private JButton createNewAttributeButton;
+       private JButton deleteAttributeButton;
+       private JButton deleteTableButton;
+       private JButton selectAllAttributesButton;
+       private JButton unselectAllAttributesButton;
+       private JButton formulaBuilderButton;
+       
+//     private JButton mapGlobalTableButton;
 //     private final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService;
        
        private final JComboBox tableChooser;
 
        private AttributeListModel attrListModel;
        private final EquationCompiler compiler;
-       private final DeleteTableTaskFactory deleteTableTaskFactoryService;
-       private final DialogTaskManager guiTaskManagerServiceRef;
+       private final DeleteTableTaskFactory deleteTableTaskFactory;
+       private final DialogTaskManager guiTaskMgr;
        
        private final JToggleButton selectionModeButton;
        
+       private final List<JComponent> components;
+       
        private final Class<? extends CyIdentifiable> objType;
        
-       private final CyApplicationManager appManager;
+       private final CyApplicationManager appMgr;
+
        
-       public AttributeBrowserToolBar(final CyServiceRegistrar 
serviceRegistrar, final EquationCompiler compiler,
-                       final DeleteTableTaskFactory 
deleteTableTaskFactoryService, DialogTaskManager guiTaskManagerServiceRef,
-                       final JComboBox tableChooser, final Class<? extends 
CyIdentifiable> objType,
-                       final CyApplicationManager appManager){//,
-                       //final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
-               
-               this(serviceRegistrar, compiler, deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, tableChooser,
-                               new JToggleButton(), objType, appManager);//, 
mapGlobalTableTaskFactoryService);
+       public AttributeBrowserToolBar(final CyServiceRegistrar 
serviceRegistrar,
+                                                                  final 
EquationCompiler compiler,
+                                                                  final 
DeleteTableTaskFactory deleteTableTaskFactory,
+                                                                  final 
DialogTaskManager guiTaskMgr,
+                                                                  final 
JComboBox tableChooser,
+                                                                  final 
Class<? extends CyIdentifiable> objType,
+                                                                  final 
CyApplicationManager appMgr) {//, final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
+               this(serviceRegistrar, compiler, deleteTableTaskFactory, 
guiTaskMgr, tableChooser,
+                               new JToggleButton(), objType, appMgr);//, 
mapGlobalTableTaskFactoryService);
        }
        
-       public AttributeBrowserToolBar(final CyServiceRegistrar 
serviceRegistrar, final EquationCompiler compiler,
-                       final DeleteTableTaskFactory 
deleteTableTaskFactoryService, DialogTaskManager guiTaskManagerServiceRef,
-                       final JComboBox tableChooser, final JToggleButton 
selectionModeButton,
-                       Class<? extends CyIdentifiable> objType, final 
CyApplicationManager appManager){//,
-               //      final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
+       public AttributeBrowserToolBar(final CyServiceRegistrar 
serviceRegistrar,
+                                                                  final 
EquationCompiler compiler,
+                                                                  final 
DeleteTableTaskFactory deleteTableTaskFactory,
+                                                                  final 
DialogTaskManager guiTaskMgr,
+                                                                  final 
JComboBox tableChooser,
+                                                                  final 
JToggleButton selectionModeButton,
+                                                                  final 
Class<? extends CyIdentifiable> objType,
+                                                                  final 
CyApplicationManager appMgr) {// , final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
                this.compiler = compiler;
                this.selectionModeButton = selectionModeButton;
-               this.appManager = appManager;
+               this.appMgr = appMgr;
 //             this.mapGlobalTableTaskFactoryService = 
mapGlobalTableTaskFactoryService;
                
+               this.components = new ArrayList<JComponent>();
+               
                this.tableChooser = tableChooser;
-               this.deleteTableTaskFactoryService = 
deleteTableTaskFactoryService;
-               this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
+               this.deleteTableTaskFactory = deleteTableTaskFactory;
+               this.guiTaskMgr = guiTaskMgr;
                this.attrListModel = new AttributeListModel(null);
                this.objType = objType;
                
@@ -160,33 +179,76 @@
 
        public void setBrowserTableModel(final BrowserTableModel 
browserTableModel) {
                this.browserTableModel = browserTableModel;
-               
                attrListModel.setBrowserTableModel(browserTableModel);
-               selectButton.setEnabled(browserTableModel != null);
-               selectAllAttributesButton.setEnabled(browserTableModel != null);
-               unselectAllAttributesButton.setEnabled(browserTableModel != 
null);
-               createNewAttributeButton.setEnabled(browserTableModel != null);
-               deleteAttributeButton.setEnabled(browserTableModel != null);
-               
-               if(browserTableModel != null && objType != null) {
-                       deleteTableButton.setEnabled(false);
-//                     mapGlobalTableButton.setEnabled(false);
-               } else {
-                       deleteTableButton.setEnabled(browserTableModel != null);
-//                     mapGlobalTableButton.setEnabled(browserTableModel != 
null);
+               updateEnableState();
+       }
+
+       @Override
+       public void popupMenuCanceled(PopupMenuEvent e) {
+               // TODO Auto-generated method stub
+       }
+       
+       @Override
+       public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
+               // Update actual table
+               try {
+                       if (attributeList != null) {
+                               final Object[] selectedValues = 
attributeList.getSelectedValues();
+                               final Set<String> visibleAttributes = new 
HashSet<String>();
+                               for (final Object selectedValue : 
selectedValues)
+                                       
visibleAttributes.add((String)selectedValue);
+
+                               
browserTableModel.setVisibleAttributeNames(visibleAttributes);
+                       }
+               } catch (Exception ex) {
+                       attributeList.clearSelection();
                }
-               
-               formulaBuilderButton.setEnabled(browserTableModel != null);
-               selectionModeButton.setEnabled(browserTableModel != null);
        }
 
+       @Override
+       public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
+               // Do nothing
+       }
+
+       public void updateEnableState() {
+               for (final JComponent comp : components) {
+                       boolean enabled = browserTableModel != null;
+                       
+                       if (comp == deleteTableButton /*|| comp == 
mapGlobalTableButton*/)
+                               enabled &= objType == null;
+                       
+                       comp.setEnabled(enabled);
+               }
+       }
+       
+       protected void addComponent(final JComponent component, final 
ComponentPlacement placement) {
+               
hToolBarGroup.addPreferredGap(placement).addComponent(component);
+               vToolBarGroup.addComponent(component, Alignment.CENTER, 
GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE);
+               components.add(component);
+       }
+       
        private void initializeGUI() {
-               this.setLayout(new BorderLayout());
+               setLayout(new BorderLayout());
+               add(getToolBar(), BorderLayout.CENTER);
 
-               this.add(getJToolBar(), java.awt.BorderLayout.CENTER);
-
                getAttributeSelectionPopupMenu();
                getJPopupMenu();
+               
+               // Add buttons
+               if (selectionModeButton != null)
+                       addComponent(selectionModeButton, 
ComponentPlacement.RELATED);
+               
+               addComponent(getSelectButton(), ComponentPlacement.UNRELATED);
+               addComponent(getSelectAllButton(), ComponentPlacement.RELATED);
+               addComponent(getUnselectAllButton(), 
ComponentPlacement.RELATED);
+               addComponent(getNewButton(), ComponentPlacement.UNRELATED);
+               addComponent(getDeleteButton(), ComponentPlacement.RELATED);
+               addComponent(getDeleteTableButton(), 
ComponentPlacement.RELATED);
+               addComponent(getFunctionBuilderButton(), 
ComponentPlacement.UNRELATED);
+//             addComponent(getMapGlobalTableButton(). 
ComponentPlacement.UNRELATED);
+               
+               if (tableChooser != null)
+                       addComponent(tableChooser, 
ComponentPlacement.UNRELATED);
        }
 
        
@@ -254,7 +316,7 @@
                        createColumnMenu.add(column);
                        
                        // This is not valid for Global Table.
-                       if(objType != null) {
+                       if (objType != null) {
                                final JMenu shared = new JMenu("New Shared 
Column");
                                
                                final JMenu sharedRegular = new JMenu("Single");
@@ -290,8 +352,8 @@
 
                final JMenuItem jMenuItemStringAttribute = new JMenuItem();
                jMenuItemStringAttribute.setText("String Column");
-               jMenuItemStringAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemStringAttribute.addActionListener(new ActionListener() 
{
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("String", isShared);
                        }
                });
@@ -307,8 +369,8 @@
        private JMenuItem getJMenuItemIntegerAttribute(final boolean isShared) {
                final JMenuItem jMenuItemIntegerAttribute = new JMenuItem();
                jMenuItemIntegerAttribute.setText("Integer Column");
-               jMenuItemIntegerAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemIntegerAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Integer", isShared);
                        }
                });
@@ -324,8 +386,8 @@
        private JMenuItem getJMenuItemLongIntegerAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemLongIntegerAttribute = new JMenuItem();
                jMenuItemLongIntegerAttribute.setText("Long Integer Column");
-               jMenuItemLongIntegerAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemLongIntegerAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Long Integer", isShared);
                        }
                });
@@ -340,8 +402,8 @@
        private JMenuItem getJMenuItemFloatingPointAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemFloatingPointAttribute = new 
JMenuItem();
                jMenuItemFloatingPointAttribute.setText("Floating Point 
Column");
-               jMenuItemFloatingPointAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemFloatingPointAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Floating Point", isShared);
                        }
                });
@@ -357,8 +419,8 @@
        private JMenuItem getJMenuItemBooleanAttribute(final boolean isShared) {
                final JMenuItem jMenuItemBooleanAttribute = new JMenuItem();
                jMenuItemBooleanAttribute.setText("Boolean Column");
-               jMenuItemBooleanAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemBooleanAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Boolean", isShared);
                        }
                });
@@ -374,8 +436,8 @@
        private JMenuItem getJMenuItemStringListAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemStringListAttribute = new JMenuItem();
                jMenuItemStringListAttribute.setText("String List Column");
-               jMenuItemStringListAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemStringListAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("String List", isShared);
                        }
                });
@@ -391,8 +453,8 @@
        private JMenuItem getJMenuItemIntegerListAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemIntegerListAttribute = new JMenuItem();
                jMenuItemIntegerListAttribute.setText("Integer List Column");
-               jMenuItemIntegerListAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemIntegerListAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Integer List", isShared);
                        }
                });
@@ -408,8 +470,8 @@
        private JMenuItem getJMenuItemLongIntegerListAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemLongIntegerListAttribute = new 
JMenuItem();
                jMenuItemLongIntegerListAttribute.setText("Long Integer List 
Column");
-               jMenuItemLongIntegerListAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemLongIntegerListAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Integer List", isShared);
                        }
                });
@@ -425,8 +487,8 @@
        private JMenuItem getJMenuItemFloatingPointListAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemFloatingPointListAttribute = new 
JMenuItem();
                jMenuItemFloatingPointListAttribute.setText("Floating Point 
List Column");
-               jMenuItemFloatingPointListAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemFloatingPointListAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Floating Point List", 
isShared);
                        }
                });
@@ -442,8 +504,8 @@
        private JMenuItem getJMenuItemBooleanListAttribute(final boolean 
isShared) {
                final JMenuItem jMenuItemBooleanListAttribute = new JMenuItem();
                jMenuItemBooleanListAttribute.setText("Boolean List Column");
-               jMenuItemBooleanListAttribute.addActionListener(new 
java.awt.event.ActionListener() {
-                       public void actionPerformed(java.awt.event.ActionEvent 
e) {
+               jMenuItemBooleanListAttribute.addActionListener(new 
ActionListener() {
+                       public void actionPerformed(ActionEvent e) {
                                createNewAttribute("Boolean List", isShared);
                        }
                });
@@ -452,88 +514,32 @@
        }
 
        /**
-        * This method initializes jToolBar
+        * This method initializes  the toolBar
         *
         * @return javax.swing.JToolBar
         */
-       private JToolBar getJToolBar() {
-               if (browserToolBar == null) {
-                       browserToolBar = new JToolBar();
-                       browserToolBar.setMargin(new java.awt.Insets(0, 0, 3, 
0));
-                       browserToolBar.setPreferredSize(TOOLBAR_SIZE);
-                       browserToolBar.setSize(TOOLBAR_SIZE);
-                       browserToolBar.setFloatable(false);
-                       browserToolBar.setOrientation(JToolBar.HORIZONTAL);
+       private JToolBar getToolBar() {
+               if (toolBar == null) {
+                       toolBar = new JToolBar();
+                       toolBar.setMargin(new Insets(0, 0, 3, 0));
+                       toolBar.setPreferredSize(TOOLBAR_SIZE);
+                       toolBar.setSize(TOOLBAR_SIZE);
+                       toolBar.setFloatable(false);
+                       toolBar.setOrientation(JToolBar.HORIZONTAL);
 
-                       final GroupLayout buttonBarLayout = new 
GroupLayout(browserToolBar);
-                       browserToolBar.setLayout(buttonBarLayout);
-
+                       final GroupLayout buttonBarLayout = new 
GroupLayout(toolBar);
+                       toolBar.setLayout(buttonBarLayout);
+                       hToolBarGroup = buttonBarLayout.createSequentialGroup();
+                       vToolBarGroup = 
buttonBarLayout.createParallelGroup(GroupLayout.Alignment.LEADING);
+                       
                        // Layout information.
                        
buttonBarLayout.setHorizontalGroup(buttonBarLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
-                                                          
.addGroup(buttonBarLayout.createSequentialGroup()
-                                                               
.addPreferredGap(ComponentPlacement.RELATED)
-                                                               
.addComponent(selectionModeButton)
-                                                               
.addPreferredGap(ComponentPlacement.UNRELATED)
-                                                               
.addComponent(getSelectButton())
-                                                               
.addPreferredGap(ComponentPlacement.RELATED)
-                                                               
.addComponent(getSelectAllButton())
-                                                               
.addPreferredGap(ComponentPlacement.RELATED)
-                                                               
.addComponent(getUnselectAllButton())
-                                                               
.addPreferredGap(ComponentPlacement.UNRELATED)
-                                                               
.addComponent(getNewButton())
-                                                               
.addPreferredGap(ComponentPlacement.RELATED)
-                                                               
.addComponent(getDeleteButton())
-                                                               
.addPreferredGap(ComponentPlacement.RELATED)
-                                                               
.addComponent(getDeleteTableButton())
-                                                               
.addPreferredGap(ComponentPlacement.UNRELATED)
-                                                               
.addComponent(getFunctionBuilderButton())
-                                                               
.addPreferredGap(ComponentPlacement.UNRELATED)
-//                                                             
.addComponent(getMapGlobalTableButton())
-//                                                             
.addPreferredGap(ComponentPlacement.UNRELATED)
-                                                               
.addComponent(this.tableChooser)));
-                       
buttonBarLayout.setVerticalGroup(buttonBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                                                       
.addComponent(selectionModeButton, javax.swing.GroupLayout.Alignment.CENTER,
-                                                                       
javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE)
-                                                       
.addComponent(selectButton,
-                                                                      
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.PREFERRED_SIZE,
-                                                                      27,
-                                                                      
Short.MAX_VALUE)
-                                                        
.addComponent(selectAllAttributesButton,
-                                                                      
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.DEFAULT_SIZE,
-                                                                      27, 
Short.MAX_VALUE)
-                                                        
.addComponent(unselectAllAttributesButton,
-                                                                      
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.DEFAULT_SIZE,
-                                                                      27, 
Short.MAX_VALUE)
-                                                       
.addComponent(createNewAttributeButton,
-                                                                      
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)
-                                                        
.addComponent(deleteTableButton,
-                                                                      
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.DEFAULT_SIZE,
-                                                                      27, 
Short.MAX_VALUE)
-                                                       
.addComponent(formulaBuilderButton,
-                                                                       
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.DEFAULT_SIZE,
-                                                                      27, 
Short.MAX_VALUE)
-//                                                     
.addComponent(mapGlobalTableButton,
-//                                                                     
javax.swing.GroupLayout.Alignment.CENTER,
-//                                                                    
javax.swing.GroupLayout.DEFAULT_SIZE,
-//                                                                    27, 
Short.MAX_VALUE)
-                                                       
.addComponent(tableChooser,
-                                                                       
javax.swing.GroupLayout.Alignment.CENTER,
-                                                                      
javax.swing.GroupLayout.DEFAULT_SIZE,
-                                                                      27, 
Short.MAX_VALUE));
+                                                               
.addGroup(hToolBarGroup));
+                       buttonBarLayout.setVerticalGroup(vToolBarGroup);
+
                }
 
-               return browserToolBar;
+               return toolBar;
        }
 
        /**
@@ -545,86 +551,76 @@
                if (selectButton == null) {
                        selectButton = new JButton();
                        selectButton.setBorder(null);
-                       selectButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
+                       selectButton.setMargin(new Insets(0, 0, 0, 0));
                        selectButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/stock_select-row.png")));
                        selectButton.setToolTipText("Select Column");
                        selectButton.setBorder(null);
+                       selectButton.setEnabled(false);
 
                        selectButton.addMouseListener(new MouseAdapter() {
-                                       public void mouseClicked(MouseEvent e) {
-                                               if (browserTableModel == null)
-                                                       return;
-                                               
attributeList.setSelectedItems(browserTableModel.getVisibleAttributeNames());
-                                               
attributeSelectionPopupMenu.show(e.getComponent(), e.getX(), e.getY());
-                                       }
-                               });
+                               public void mouseClicked(MouseEvent e) {
+                                       if (browserTableModel == null)
+                                               return;
+                                       
attributeList.setSelectedItems(browserTableModel.getVisibleAttributeNames());
+                                       
attributeSelectionPopupMenu.show(e.getComponent(), e.getX(), e.getY());
+                               }
+                       });
                }
-               selectButton.setEnabled(false);
-
+               
                return selectButton;
        }
 
-       private JButton formulaBuilderButton = null;
-
        private JButton getFunctionBuilderButton() {
                if (formulaBuilderButton == null) {
                        formulaBuilderButton = new JButton();
                        formulaBuilderButton.setBorder(null);
                        formulaBuilderButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/fx.png")));
                        formulaBuilderButton.setToolTipText("Function Builder");
-                       formulaBuilderButton.setMargin(new java.awt.Insets(1, 
1, 1, 1));
+                       formulaBuilderButton.setMargin(new Insets(1, 1, 1, 1));
                        formulaBuilderButton.setBorder(null);
+                       formulaBuilderButton.setEnabled(false);
 
-                       final JFrame rootFrame = 
(JFrame)SwingUtilities.getRoot(this);
+                       final JFrame rootFrame = (JFrame) 
SwingUtilities.getRoot(this);
 
-                       formulaBuilderButton.addMouseListener(new 
java.awt.event.MouseAdapter() {
-                                       public void 
mouseClicked(java.awt.event.MouseEvent e) {
-                                               if (browserTableModel == null)
-                                                       return;
-                                               
-                                               final JTable table = 
browserTableModel.getTable();
+                       formulaBuilderButton.addMouseListener(new 
MouseAdapter() {
+                               public void mouseClicked(MouseEvent e) {
+                                       if (browserTableModel == null)
+                                               return;
 
-                                               // Do not allow opening of the 
formula builder dialog
-                                               // while a cell is being edited!
-                                               if (table.getCellEditor() != 
null)
-                                                       return;
+                                       final JTable table = 
browserTableModel.getTable();
 
-                                               final int cellRow = 
table.getSelectedRow();
-                                               final int cellColumn = 
table.getSelectedColumn();
-                                               if (cellRow == -1 || cellColumn 
== -1
-                                                   || 
!browserTableModel.isCellEditable(cellRow, cellColumn))
-                                                       
JOptionPane.showMessageDialog(
-                                                               rootFrame,
-                                                               "Can't enter a 
formula w/o a selected cell!",
-                                                               "Information", 
JOptionPane.INFORMATION_MESSAGE);
-                                               else {
-                                                       final String attrName = 
getAttribName(cellRow, cellColumn);
-                                                       final Map<String, 
Class<?>> attribNameToTypeMap
-                                                               = new 
HashMap<String, Class<?>>();
-                                                       final CyTable attrs =
-                                                               
browserTableModel.getAttributes();
-                                                       
initAttribNameToTypeMap(attrs, attrName, attribNameToTypeMap);
-                                                       final 
FormulaBuilderDialog formulaBuilderDialog =
-                                                               new 
FormulaBuilderDialog(compiler, browserTableModel,
-                                                                               
         rootFrame, attrName);
-                                                       
formulaBuilderDialog.setLocationRelativeTo(rootFrame);
-                                                       
formulaBuilderDialog.setVisible(true);
-                                               }
-                                       }
+                                       // Do not allow opening of the formula 
builder dialog
+                                       // while a cell is being edited!
+                                       if (table.getCellEditor() != null)
+                                               return;
 
-                                       private void initAttribNameToTypeMap(
-                                               final CyTable attrs, final 
String attrName,
-                                               final Map<String, Class<?>> 
attribNameToTypeMap)
-                                       {
-                                               for (final CyColumn column : 
attrs.getColumns())
-                                                       
attribNameToTypeMap.put(column.getName(),
-                                                                               
column.getType());
-                                               
attribNameToTypeMap.remove(attrName);
+                                       final int cellRow = 
table.getSelectedRow();
+                                       final int cellColumn = 
table.getSelectedColumn();
+
+                                       if (cellRow == -1 || cellColumn == -1 
|| !browserTableModel.isCellEditable(cellRow, cellColumn)) {
+                                               
JOptionPane.showMessageDialog(rootFrame, "Can't enter a formula w/o a selected 
cell!",
+                                                               "Information", 
JOptionPane.INFORMATION_MESSAGE);
+                                       } else {
+                                               final String attrName = 
getAttribName(cellRow, cellColumn);
+                                               final Map<String, Class<?>> 
attribNameToTypeMap = new HashMap<String, Class<?>>();
+                                               final CyTable attrs = 
browserTableModel.getAttributes();
+                                               initAttribNameToTypeMap(attrs, 
attrName, attribNameToTypeMap);
+                                               final FormulaBuilderDialog 
formulaBuilderDialog = new FormulaBuilderDialog(compiler,
+                                                               
browserTableModel, rootFrame, attrName);
+                                               
formulaBuilderDialog.setLocationRelativeTo(rootFrame);
+                                               
formulaBuilderDialog.setVisible(true);
                                        }
-                               });
-               }
-               formulaBuilderButton.setEnabled(false);
+                               }
 
+                               private void initAttribNameToTypeMap(final 
CyTable attrs, final String attrName,
+                                               final Map<String, Class<?>> 
attribNameToTypeMap) {
+                                       for (final CyColumn column : 
attrs.getColumns())
+                                               
attribNameToTypeMap.put(column.getName(), column.getType());
+                                       attribNameToTypeMap.remove(attrName);
+                               }
+                       });
+               }
+               
                return formulaBuilderButton;
        }
 
@@ -636,41 +632,38 @@
                if (deleteAttributeButton == null) {
                        deleteAttributeButton = new JButton();
                        deleteAttributeButton.setBorder(null);
-                       deleteAttributeButton.setMargin(new java.awt.Insets(0, 
0, 0, 0));
+                       deleteAttributeButton.setMargin(new Insets(0, 0, 0, 0));
                        deleteAttributeButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/stock_delete.png")));
                        deleteAttributeButton.setToolTipText("Delete 
Column...");
                        deleteAttributeButton.setBorder(null);
-
                        // Create pop-up window for deletion
-                       deleteAttributeButton.addMouseListener(new 
java.awt.event.MouseAdapter() {
-                                       public void 
mouseClicked(java.awt.event.MouseEvent e) {
-                                               if 
(deleteAttributeButton.isEnabled())
-                                                       removeAttribute(e);
-                                       }
-                               });
+                       deleteAttributeButton.addMouseListener(new 
MouseAdapter() {
+                               public void mouseClicked(MouseEvent e) {
+                                       if (deleteAttributeButton.isEnabled())
+                                               removeAttribute(e);
+                               }
+                       });
                        deleteAttributeButton.setEnabled(false);
                }
 
                return deleteAttributeButton;
        }
 
-
        private JButton getDeleteTableButton() {
                if (deleteTableButton == null) {
                        deleteTableButton = new JButton();
                        deleteTableButton.setBorder(null);
-                       deleteTableButton.setMargin(new java.awt.Insets(0, 0, 
0, 0));
+                       deleteTableButton.setMargin(new Insets(0, 0, 0, 0));
                        deleteTableButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/table_delete.png")));
                        deleteTableButton.setToolTipText("Delete Table...");
                        deleteTableButton.setBorder(null);
-                       
                        // Create pop-up window for deletion
-                       deleteTableButton.addMouseListener(new 
java.awt.event.MouseAdapter() {
-                                       public void 
mouseClicked(java.awt.event.MouseEvent e) {
-                                               if 
(deleteTableButton.isEnabled())
-                                                       removeTable(e);
-                                       }
-                               });
+                       deleteTableButton.addMouseListener(new MouseAdapter() {
+                               public void mouseClicked(MouseEvent e) {
+                                       if (deleteTableButton.isEnabled())
+                                               removeTable(e);
+                               }
+                       });
                        deleteTableButton.setEnabled(false);
                }
 
@@ -682,29 +675,29 @@
                if (selectAllAttributesButton == null) {
                        selectAllAttributesButton = new JButton();
                        selectAllAttributesButton.setBorder(null);
-                       selectAllAttributesButton.setMargin(new 
java.awt.Insets(0, 0, 0, 0));
-                       selectAllAttributesButton.setIcon(new 
javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/select_all.png")));
+                       selectAllAttributesButton.setMargin(new Insets(0, 0, 0, 
0));
+                       selectAllAttributesButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/select_all.png")));
                        selectAllAttributesButton.setToolTipText("Select All 
Columns");
                        selectAllAttributesButton.setBorder(null);
+                       selectAllAttributesButton.setEnabled(false);
 
-                       selectAllAttributesButton.addMouseListener(new 
java.awt.event.MouseAdapter() {
-                                       public void 
mouseClicked(java.awt.event.MouseEvent e) {
-                                               try {
-                                                       final CyTable table = 
browserTableModel.getAttributes();
-                                                       final Set<String> 
allAttrNames = new HashSet<String>();
-                                                       for (final CyColumn 
column : table.getColumns())
-                                                               
allAttrNames.add(column.getName());
-                                                       
browserTableModel.setVisibleAttributeNames(allAttrNames);
-                                                       
-                                                       // Resize column
-                                                       
ColumnResizer.adjustColumnPreferredWidths(browserTableModel.getTable());
-                                               } catch (Exception ex) {
-                                                       
attributeList.clearSelection();
-                                               }
+                       selectAllAttributesButton.addMouseListener(new 
MouseAdapter() {
+                               public void mouseClicked(MouseEvent e) {
+                                       try {
+                                               final CyTable table = 
browserTableModel.getAttributes();
+                                               final Set<String> allAttrNames 
= new HashSet<String>();
+                                               for (final CyColumn column : 
table.getColumns())
+                                                       
allAttrNames.add(column.getName());
+                                               
browserTableModel.setVisibleAttributeNames(allAttrNames);
+
+                                               // Resize column
+                                               
ColumnResizer.adjustColumnPreferredWidths(browserTableModel.getTable());
+                                       } catch (Exception ex) {
+                                               attributeList.clearSelection();
                                        }
-                               });
+                               }
+                       });
                }
-               selectAllAttributesButton.setEnabled(false);
 
                return selectAllAttributesButton;
        }
@@ -713,22 +706,22 @@
                if (unselectAllAttributesButton == null) {
                        unselectAllAttributesButton = new JButton();
                        unselectAllAttributesButton.setBorder(null);
-                       unselectAllAttributesButton.setMargin(new 
java.awt.Insets(0, 0, 0, 0));
-                       unselectAllAttributesButton.setIcon(new 
javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/unselect_all.png")));
+                       unselectAllAttributesButton.setMargin(new Insets(0, 0, 
0, 0));
+                       unselectAllAttributesButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/unselect_all.png")));
                        unselectAllAttributesButton.setToolTipText("Unselect 
All Columns");
                        unselectAllAttributesButton.setBorder(null);
+                       unselectAllAttributesButton.setEnabled(false);
 
-                       unselectAllAttributesButton.addMouseListener(new 
java.awt.event.MouseAdapter() {
-                                       public void 
mouseClicked(java.awt.event.MouseEvent e) {
-                                               try {
-                                                       
browserTableModel.setVisibleAttributeNames(new HashSet<String>());
-                                               } catch (Exception ex) {
-                                                       
attributeList.clearSelection();
-                                               }
+                       unselectAllAttributesButton.addMouseListener(new 
MouseAdapter() {
+                               public void mouseClicked(MouseEvent e) {
+                                       try {
+                                               
browserTableModel.setVisibleAttributeNames(new HashSet<String>());
+                                       } catch (Exception ex) {
+                                               attributeList.clearSelection();
                                        }
-                               });
+                               }
+                       });
                }
-               unselectAllAttributesButton.setEnabled(false);
 
                return unselectAllAttributesButton;
        }
@@ -740,7 +733,7 @@
                final DeletionDialog dDialog = new DeletionDialog(frame, 
browserTableModel.getAttributes());
 
                dDialog.pack();
-               dDialog.setLocationRelativeTo(browserToolBar);
+               dDialog.setLocationRelativeTo(toolBar);
                dDialog.setVisible(true);
        }
 
@@ -755,7 +748,7 @@
 
                        // if user selects yes delete the table
                        if (_confirmValue == JOptionPane.OK_OPTION)
-                               
guiTaskManagerServiceRef.execute(deleteTableTaskFactoryService.createTaskIterator(table));
+                               
guiTaskMgr.execute(deleteTableTaskFactory.createTaskIterator(table));
                } else if (table.getMutability() == 
CyTable.Mutability.PERMANENTLY_IMMUTABLE) {
                        String title = "Error";
                        String msg = "Can not delete this table, it is 
PERMANENTLY_IMMUTABLE";
@@ -774,12 +767,12 @@
                        attributeList.setModel(attrListModel);
                        
attributeList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
                        attributeList.addMouseListener(new MouseAdapter() {
-                                       public void mouseClicked(MouseEvent e) {
-                                               if 
(SwingUtilities.isRightMouseButton(e)) {
-                                                       
attributeSelectionPopupMenu.setVisible(false);
-                                               }
+                               public void mouseClicked(MouseEvent e) {
+                                       if 
(SwingUtilities.isRightMouseButton(e)) {
+                                               
attributeSelectionPopupMenu.setVisible(false);
                                        }
-                               });
+                               }
+                       });
                }
 
                return attributeList;
@@ -810,20 +803,20 @@
                        createNewAttributeButton.setBorder(null);
 
                        createNewAttributeButton.setFont(new 
java.awt.Font("Dialog", java.awt.Font.PLAIN, 12));
-                       
createNewAttributeButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
-                       createNewAttributeButton.setMargin(new 
java.awt.Insets(0, 0, 0, 0));
+                       
createNewAttributeButton.setHorizontalTextPosition(SwingConstants.CENTER);
+                       createNewAttributeButton.setMargin(new Insets(0, 0, 0, 
0));
                        createNewAttributeButton.setToolTipText("Create New 
Column");
-                       createNewAttributeButton.setIcon(new 
javax.swing.ImageIcon(getClass().getClassLoader().getResource("images/stock_new.png")));
+                       createNewAttributeButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/stock_new.png")));
                        createNewAttributeButton.setBorder(null);
                        
                        createNewAttributeButton.addMouseListener(new 
MouseAdapter() {
-                               
-                                       @Override
-                                       public void mouseClicked(MouseEvent e) {
-                                               if (browserTableModel != null)
-                                                       
createColumnMenu.show(e.getComponent(), e.getX(), e.getY());
-                                       }
-                               });
+                               @Override
+                               public void mouseClicked(MouseEvent e) {
+                                       if (browserTableModel != null)
+                                               
createColumnMenu.show(e.getComponent(), e.getX(), e.getY());
+                               }
+                       });
+                       
                        createNewAttributeButton.setEnabled(false);
                }
 
@@ -835,7 +828,7 @@
                if (mapGlobalTableButton == null) {
                        mapGlobalTableButton = new JButton();
                        mapGlobalTableButton.setBorder(null);
-                       mapGlobalTableButton.setMargin(new java.awt.Insets(0, 
0, 0, 0));
+                       mapGlobalTableButton.setMargin(new Insets(0, 0, 0, 0));
                        mapGlobalTableButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/table_map.png")));
                        mapGlobalTableButton.setToolTipText("Link Table to 
Attributes");
                        mapGlobalTableButton.setBorder(null);
@@ -851,7 +844,8 @@
 
                return mapGlobalTableButton;
        }
-        */
+       */
+       
        private void createNewAttribute(final String type, boolean isShared) {
                
                final String[] existingAttrs = getAttributeArray();
@@ -873,7 +867,7 @@
 
                final CyTable attrs;
                if(isShared) {
-                       final CyNetwork network = 
appManager.getCurrentNetwork();
+                       final CyNetwork network = appMgr.getCurrentNetwork();
                                                
                        if(network instanceof CySubNetwork) {
                                final CyRootNetwork rootNetwork = 
((CySubNetwork) network).getRootNetwork();
@@ -919,32 +913,4 @@
                else
                        throw new IllegalArgumentException("unknown column type 
\"" + type + "\"!");
        }
-
-       @Override
-       public void popupMenuCanceled(PopupMenuEvent e) {
-               // TODO Auto-generated method stub
-       }
-
-       
-       @Override
-       public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
-               // Update actual table
-               try {
-                       if (attributeList != null) {
-                               final Object[] selectedValues = 
attributeList.getSelectedValues();
-                               final Set<String> visibleAttributes = new 
HashSet<String>();
-                               for (final Object selectedValue : 
selectedValues)
-                                       
visibleAttributes.add((String)selectedValue);
-
-                               
browserTableModel.setVisibleAttributeNames(visibleAttributes);
-                       }
-               } catch (Exception ex) {
-                       attributeList.clearSelection();
-               }
-       }
-
-       @Override
-       public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
-               // Do nothing
-       }
 }

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2012-05-28 22:35:17 UTC (rev 29376)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2012-05-28 23:09:44 UTC (rev 29377)
@@ -57,13 +57,22 @@
        private boolean ignoreSetCurrentNetwork = true;
        
 
-       public DefaultTableBrowser(String tabTitle, Class<? extends 
CyIdentifiable> objType, CyTableManager tableManager,
-                       CyNetworkTableManager networkTableManager, 
CyServiceRegistrar serviceRegistrar, EquationCompiler compiler,
-                       OpenBrowser openBrowser, CyNetworkManager 
networkManager, DeleteTableTaskFactory deleteTableTaskFactoryService,
-                       DialogTaskManager guiTaskManagerServiceRef, 
PopupMenuHelper popupMenuHelper,
-                       CyApplicationManager applicationManager, final 
CyEventHelper eventHelper){//, final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
+       public DefaultTableBrowser(String tabTitle,
+                                                          Class<? extends 
CyIdentifiable> objType,
+                                                          CyTableManager 
tableManager,
+                                                          
CyNetworkTableManager networkTableManager,
+                                                          CyServiceRegistrar 
serviceRegistrar,
+                                                          EquationCompiler 
compiler,
+                                                          OpenBrowser 
openBrowser,
+                                                          CyNetworkManager 
networkManager,
+                                                          
DeleteTableTaskFactory deleteTableTaskFactoryService,
+                                                          DialogTaskManager 
guiTaskManagerServiceRef,
+                                                          PopupMenuHelper 
popupMenuHelper,
+                                                          CyApplicationManager 
applicationManager,
+                                                          final CyEventHelper 
eventHelper) {//, final MapGlobalToLocalTableTaskFactory 
mapGlobalTableTaskFactoryService) {
                super(tabTitle, tableManager, networkTableManager, 
serviceRegistrar, compiler, openBrowser, networkManager,
-                               deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, popupMenuHelper, applicationManager, eventHelper);
+                               deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, popupMenuHelper, applicationManager,
+                               eventHelper);
 
                this.objType = objType;
 
@@ -83,16 +92,15 @@
                selectionModeButton.setMargin(new Insets(0, 0, 0, 0));
                selectionModeButton.setIcon(new 
ImageIcon(getClass().getClassLoader().getResource("images/table_selection_mode.png")));
                selectionModeButton.setToolTipText("Change Selection Mode");
-
                selectionModeButton.addMouseListener(new MouseAdapter() {
-                               public void mouseClicked(MouseEvent e) {
-                                       changeSelectionMode();
-                               }
-                       });
+                       public void mouseClicked(MouseEvent e) {
+                               changeSelectionMode();
+                       }
+               });
                
-               this.attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
-                               deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, networkChooser, selectionModeButton, objType, 
applicationManager);//, mapGlobalTableTaskFactoryService);
-
+               attributeBrowserToolBar = new 
AttributeBrowserToolBar(serviceRegistrar, compiler,
+                               deleteTableTaskFactoryService, 
guiTaskManagerServiceRef, networkChooser, selectionModeButton, objType,
+                               applicationManager);// , 
mapGlobalTableTaskFactoryService);
                add(attributeBrowserToolBar, BorderLayout.NORTH);
        }
        
@@ -104,14 +112,13 @@
        
        @Override
        public void actionPerformed(final ActionEvent e) {
-               if (ignoreSetCurrentNetwork)
-                       return;
+               if (!ignoreSetCurrentNetwork) {
+                       final CyNetwork network = (CyNetwork) 
networkChooser.getSelectedItem();
+                       final CyNetwork currentNetwork = 
applicationManager.getCurrentNetwork();
                        
-               final CyNetwork currentNetwork = 
this.applicationManager.getCurrentNetwork();
-               final CyNetwork network = (CyNetwork) 
networkChooser.getSelectedItem();
-               
-               if (network != null && !network.equals(currentNetwork) && 
networkManager.networkExists(network.getSUID())) {
-                       applicationManager.setCurrentNetwork(network);
+                       if (network != null && !network.equals(currentNetwork) 
&& networkManager.networkExists(network.getSUID())) {
+                               applicationManager.setCurrentNetwork(network);
+                       }
                }
        }
 
@@ -127,20 +134,28 @@
                        } else {
                                currentTable = 
currentNetwork.getDefaultNetworkTable();
                        }
+               } else {
+                       currentTable = null;
                }
                
-               getCurrentBrowserTableModel().setShowAll(rowSelectionMode);
+               final BrowserTableModel currentBrowserTableModel = 
getCurrentBrowserTableModel();
+               
+               if (currentBrowserTableModel != null)
+                       currentBrowserTableModel.setShowAll(rowSelectionMode);
+               
                showSelectedTable();
                
                SwingUtilities.invokeLater(new Runnable() {
                        public void run() {
                                final CyNetwork selectedNetwork = (CyNetwork) 
networkChooser.getSelectedItem();
-                               if(selectedNetwork!= null)
+                               
+                               if (selectedNetwork != null) {
                                        if ((currentNetwork == null && 
selectedNetwork != null) || !currentNetwork.equals(selectedNetwork)) {
                                                ignoreSetCurrentNetwork = true;
                                                
networkChooser.setSelectedItem(currentNetwork);
                                                ignoreSetCurrentNetwork = false;
                                        }
+                               }
                        }
                });
        }
@@ -185,14 +200,12 @@
                });
        }
        
-       
        @Override
        public void handleEvent(final TableAboutToBeDeletedEvent e) {
                final CyTable cyTable = e.getTable();
-               DeleteTable(cyTable);
+               deleteTable(cyTable);
        }
        
-       
        private static final class NetworkChooserCustomRenderer extends JLabel 
implements ListCellRenderer {
 
                private static final long serialVersionUID = 
7103666112352192698L;

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
    2012-05-28 22:35:17 UTC (rev 29376)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
    2012-05-28 23:09:44 UTC (rev 29377)
@@ -81,7 +81,7 @@
                        if (comboBoxModel.getSize() == 0) {
                                tableChooser.setEnabled(false);
                                // The last table is deleted, refresh the 
browser table (this is a special case)
-                               this.DeleteTable(cyTable);
+                               deleteTable(cyTable);
                        }
                }
        }

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