Author: kono
Date: 2012-03-12 18:30:38 -0700 (Mon, 12 Mar 2012)
New Revision: 28512

Added:
   core3/impl/trunk/search-impl/src/main/resources/images/
   core3/impl/trunk/search-impl/src/main/resources/images/icon_license.txt
   core3/impl/trunk/search-impl/src/main/resources/images/search_icon.png
Modified:
   
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/CyActivator.java
   
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
   
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/ui/EnhancedSearchPanel.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeDesktop.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeToolBar.java
Log:
fixes #770, #760 GUI size is optimized and icon added. Also, visual feedback 
had been added for no matching result.

Modified: 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/CyActivator.java
   2012-03-13 00:22:30 UTC (rev 28511)
+++ 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/CyActivator.java
   2012-03-13 01:30:38 UTC (rev 28512)
@@ -30,7 +30,9 @@
                
                EnhancedSearchPlugin enhancedSearchPlugin = new 
EnhancedSearchPlugin(cytoscapeDesktopService,cyApplicationManagerRef,guiTaskManagerServiceRef,cyEventHelperServiceRef,cyNetworkViewManagerServiceRef);
                
-               registerAllServices(bc,enhancedSearchPlugin, new Properties());
+               final Properties searchPluginProps = new Properties();
+               searchPluginProps 
.setProperty("largeIconURL",getClass().getResource("/images/search_icon.png").toString());
+               registerAllServices(bc,enhancedSearchPlugin, searchPluginProps);
        }
 }
 

Modified: 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
===================================================================
--- 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
    2012-03-13 00:22:30 UTC (rev 28511)
+++ 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
    2012-03-13 01:30:38 UTC (rev 28512)
@@ -32,6 +32,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import javax.swing.JOptionPane;
+
 import org.apache.lucene.store.RAMDirectory;
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.model.CyEdge;
@@ -131,6 +133,18 @@
        private void showResults(final EnhancedSearchQuery queryHandler, final 
TaskMonitor taskMonitor) {
                if (network == null || network.getNodeList().size() == 0)
                        return;
+               
+               int nodeHitCount = queryHandler.getNodeHitCount();
+               int edgeHitCount = queryHandler.getEdgeHitCount();
+               if (nodeHitCount == 0 && edgeHitCount == 0) {
+                       taskMonitor.setStatusMessage("Could not find any 
match.");
+                       taskMonitor.setTitle("Search Finished");
+                       taskMonitor.setProgress(1.0);
+                       
+                       JOptionPane
+                                       .showMessageDialog(null, "Could not 
find any matches.", "No Match!", JOptionPane.WARNING_MESSAGE);
+                       return;
+               }
 
                List<CyNode> nodeList = network.getNodeList();
                for (CyNode n : nodeList) {
@@ -141,10 +155,7 @@
                        network.getRow(e).set(CyNetwork.SELECTED, false);
                }
 
-               int nodeHitCount = queryHandler.getNodeHitCount();
-               int edgeHitCount = queryHandler.getEdgeHitCount();
-               if (nodeHitCount == 0 && edgeHitCount == 0)
-                       return;
+               
 
                taskMonitor.setStatusMessage("Selecting " + nodeHitCount + " 
and " + edgeHitCount + " edges");
 

Modified: 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/ui/EnhancedSearchPanel.java
===================================================================
--- 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/ui/EnhancedSearchPanel.java
        2012-03-13 00:22:30 UTC (rev 28511)
+++ 
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/ui/EnhancedSearchPanel.java
        2012-03-13 01:30:38 UTC (rev 28512)
@@ -1,5 +1,16 @@
 package org.cytoscape.search.internal.ui;
 
+import java.awt.Font;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.search.internal.EnhancedSearch;
@@ -9,36 +20,40 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class EnhancedSearchPanel extends javax.swing.JPanel {
+public class EnhancedSearchPanel extends JPanel {
 
        private static final long serialVersionUID = 3748296514173533886L;
        
        private static final Logger logger = 
LoggerFactory.getLogger(EnhancedSearchPanel.class);
        
-       private CyApplicationManager appManager;
-       private EnhancedSearch searchMgr;
-       private DialogTaskManager taskMgr;
+       private Icon searchIcon = new 
ImageIcon(this.getClass().getResource("/images/search_icon.png"));
        
+       private static final Font MESSAGE_FONT = new Font("SansSerif", 
Font.ITALIC, 10);
+       private static final Font REGULAR_FONT = new Font("SansSerif", 
Font.BOLD, 12);
+       
+       private boolean firstSearch = true;
+       
+       private final CyApplicationManager appManager;
+       private final EnhancedSearch searchMgr;
+       private final DialogTaskManager taskMgr;
+       
        private final CyNetworkViewManager viewManager;
+       
+       private JLabel lbSearch;
+       private JTextField tfSearchText;
 
        /** Creates new form NewJPanel */
-       public EnhancedSearchPanel(CyApplicationManager appManager, final 
CyNetworkViewManager viewManager, EnhancedSearch searchMgr,
-                       DialogTaskManager taskMgr) {
-               initComponents();
-
-               // Turn off this for now, we may need this later
-               this.btnSearch.setVisible(false);
-               this.lbSearch.setVisible(true);
-
+       public EnhancedSearchPanel(final CyApplicationManager appManager, final 
CyNetworkViewManager viewManager,
+                       final EnhancedSearch searchMgr, final DialogTaskManager 
taskMgr) {
+               
                this.appManager = appManager;
                this.searchMgr = searchMgr;
                this.taskMgr = taskMgr;
                this.viewManager = viewManager;
+               
+               initComponents();
        }
 
-       private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {
-               doSearching();
-       }
 
        private void tfSearchTextActionPerformed(java.awt.event.ActionEvent 
evt) {
                doSearching();
@@ -47,6 +62,11 @@
        // Do searching based on the query string from user on text-field
        private void doSearching() {
                final String queryStr = this.tfSearchText.getText().trim();
+               
+               // Ignore if the search term is empty
+               if(queryStr == null || queryStr.length() == 0)
+                       return;
+               
                logger.info("Search Start.  Query text = " + queryStr);
 
                final CyNetwork currentNetwork = appManager.getCurrentNetwork();
@@ -69,39 +89,33 @@
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
 
-               lbSearch = new javax.swing.JLabel();
-               tfSearchText = new javax.swing.JTextField();
-               btnSearch = new javax.swing.JButton();
+               lbSearch = new JLabel();
+               tfSearchText = new JTextField();
 
-               lbSearch.setText("Search:");
+               lbSearch.setIcon(searchIcon);
                lbSearch.setName("lbSearch"); // NOI18N
                add(lbSearch);
 
-               tfSearchText.setToolTipText("<html>Enter search 
text<br>e.g.<br> YL* -- search from all attributes<br>name:YL*  -- Search by 
attribute 'name', </html>");
+               tfSearchText.setToolTipText("<html>Example Search 
Query:<br><br> YL* -- search from all attributes<br>name:YL*  -- Search by 
attribute 'name', </html>");
                tfSearchText.setName("tfSearchText"); // NOI18N
-               tfSearchText.setPreferredSize(new java.awt.Dimension(150, 25));
+               tfSearchText.setFont(MESSAGE_FONT);
+               tfSearchText.setText("Enter search term...");
+               tfSearchText.setPreferredSize(new java.awt.Dimension(150, 32));
                tfSearchText.addActionListener(new 
java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent 
evt) {
                                tfSearchTextActionPerformed(evt);
                        }
                });
-               add(tfSearchText);
-
-               btnSearch.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
-               btnSearch.setText("Search");
-               btnSearch.setName("btnSearch"); // NOI18N
-               btnSearch.setPreferredSize(new java.awt.Dimension(70, 23));
-               btnSearch.addActionListener(new java.awt.event.ActionListener() 
{
-                       public void actionPerformed(java.awt.event.ActionEvent 
evt) {
-                               btnSearchActionPerformed(evt);
+               tfSearchText.addMouseListener(new MouseAdapter() {
+                       @Override
+                       public void mouseEntered(MouseEvent arg0) {
+                               if(firstSearch) {
+                                       tfSearchText.setText("");
+                                       tfSearchText.setFont(REGULAR_FONT);
+                                       firstSearch = false;
+                               }
                        }
                });
-               add(btnSearch);
+               add(tfSearchText);
        }// </editor-fold>
-
-       // Variables declaration - do not modify
-       private javax.swing.JButton btnSearch;
-       private javax.swing.JLabel lbSearch;
-       private javax.swing.JTextField tfSearchText;
-       // End of variables declaration
 }

Added: core3/impl/trunk/search-impl/src/main/resources/images/icon_license.txt
===================================================================
--- core3/impl/trunk/search-impl/src/main/resources/images/icon_license.txt     
                        (rev 0)
+++ core3/impl/trunk/search-impl/src/main/resources/images/icon_license.txt     
2012-03-13 01:30:38 UTC (rev 28512)
@@ -0,0 +1,5 @@
+<search_icon.png>
+Artist: Oxygen Team
+Iconset: Oxygen Icons (883 icons)
+License: GNU Lesser General Public License
+URL: 
http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Actions-edit-find-icon.html

Added: core3/impl/trunk/search-impl/src/main/resources/images/search_icon.png
===================================================================
(Binary files differ)


Property changes on: 
core3/impl/trunk/search-impl/src/main/resources/images/search_icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeDesktop.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeDesktop.java
     2012-03-13 00:22:30 UTC (rev 28511)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeDesktop.java
     2012-03-13 01:30:38 UTC (rev 28512)
@@ -82,7 +82,7 @@
        private static final String TITLE_PREFIX_STRING ="Session: ";
        private static final String NEW_SESSION_NAME ="New Session";
        
-       private static final Dimension DEF_DESKTOP_SIZE = new Dimension(1200, 
850);
+       static final Dimension DEF_DESKTOP_SIZE = new Dimension(1300, 850);
        private static final int DEF_DIVIDER_LOATION = 450;
        
        private static final String SMALL_ICON = "/images/c16.png";

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeToolBar.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeToolBar.java
     2012-03-13 00:22:30 UTC (rev 28511)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeToolBar.java
     2012-03-13 01:30:38 UTC (rev 28512)
@@ -36,27 +36,30 @@
 */
 package org.cytoscape.internal.view;
 
-import java.awt.Component;
-import javax.swing.*;
+import java.awt.Dimension;
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
-import java.util.TreeMap;
-import java.util.SortedMap;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collection;
 
+import javax.swing.Action;
+import javax.swing.JButton;
+import javax.swing.JToolBar;
+
 import org.cytoscape.application.swing.CyAction;
 import org.cytoscape.application.swing.ToolBarComponent;
 
 /**
- *
+ * Implementation of Toolbar on the Cytoscape Desktop applicaiton.
  */
 public class CytoscapeToolBar extends JToolBar {
+       
        private final static long serialVersionUID = 1202339868655256L;
-       private Map<CyAction,JButton> actionButtonMap; 
-       private List orderedList;
-       private Map<Object,Float> componentGravity;
+       
+       private Map<CyAction, JButton> actionButtonMap; 
+       private List<Object> orderedList;
+       private Map<Object, Float> componentGravity;
 
        /**
         * Default constructor delegates to the superclass void constructor and 
then
@@ -66,7 +69,7 @@
                super("Cytoscape Tools");
                actionButtonMap = new HashMap<CyAction,JButton>();
                componentGravity = new HashMap<Object,Float>();
-               orderedList = new ArrayList();
+               orderedList = new ArrayList<Object>();
        }
 
        /**
@@ -75,7 +78,6 @@
         * gravity property.
         */
        public boolean addAction(CyAction action) {
-
                if (!action.isInToolBar()) 
                        return false;
 

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