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.