Author: mes
Date: 2010-11-22 16:06:31 -0800 (Mon, 22 Nov 2010)
New Revision: 22989

Added:
   
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBar.java
Removed:
   
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBarImpl.java
   core3/log-swing/trunk/src/main/java/org/cytoscape/log/statusbar/
Modified:
   
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/ConsoleTaskFactory.java
   
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/SimpleLogViewer.java
   
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/StatusBarUpdater.java
   core3/log-swing/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
got status bar working

Modified: 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/ConsoleTaskFactory.java
===================================================================
--- 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/ConsoleTaskFactory.java
      2010-11-23 00:05:58 UTC (rev 22988)
+++ 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/ConsoleTaskFactory.java
      2010-11-23 00:06:31 UTC (rev 22989)
@@ -7,7 +7,6 @@
 import org.cytoscape.work.TaskManager;
 import org.cytoscape.work.TaskMonitor;
 import org.cytoscape.application.swing.CySwingApplication;
-import org.cytoscape.log.statusbar.CytoStatusBar;
 
 import org.ops4j.pax.logging.spi.PaxLoggingEvent;
 

Copied: 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBar.java
 (from rev 22971, 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBarImpl.java)
===================================================================
--- 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBar.java
                           (rev 0)
+++ 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBar.java
   2010-11-23 00:06:31 UTC (rev 22989)
@@ -0,0 +1,165 @@
+package org.cytoscape.log.internal;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+import org.cytoscape.application.swing.CySwingApplication;
+
+/**
+ * @author Pasteur
+ */
+class CytoStatusBar extends JPanel {
+       JPanel          panel;
+       JButton         statusMessage;
+       JProgressBar    memoryAvailable;
+       JButton         performGC;
+       Timer           updateUITimer;
+
+       long            timeSinceLastMessage = 0;
+       String          lastMessage = null;
+       private final int uiUpdateDelay = 500;
+       private final String trashIconPath;
+
+       public CytoStatusBar(CySwingApplication app, String trashIconPath) {
+               super();
+               this.trashIconPath = trashIconPath;
+               initGui();
+               app.getStatusToolBar().add(panel);
+       }
+
+       private void initGui() {
+               panel = new JPanel(new GridBagLayout());
+
+               statusMessage = new JButton();
+               statusMessage.setCursor(new Cursor(Cursor.HAND_CURSOR));
+               setFontSize(statusMessage, 9);
+               statusMessage.setToolTipText("Open Log Console");
+               statusMessage.setBorderPainted(false);
+               //statusMessage.setContentAreaFilled(false);
+               statusMessage.setContentAreaFilled(true);
+               statusMessage.setHorizontalTextPosition(SwingConstants.RIGHT);
+               statusMessage.setHorizontalAlignment(SwingConstants.LEFT);
+
+               memoryAvailable = new JProgressBar();
+               memoryAvailable.setToolTipText("Amount of memory available to 
Cytoscape");
+               memoryAvailable.setStringPainted(true);
+               setFontSize(memoryAvailable, 8);
+               updateMemoryAvailable();
+
+               performGC = new JButton(new 
ImageIcon(getClass().getResource(trashIconPath)));
+               performGC.setToolTipText("Try to get more memory by performing 
garbage collection");
+               performGC.setBorderPainted(false);
+               performGC.setContentAreaFilled(false);
+               performGC.addActionListener(new PerformGCAction());
+
+               updateUITimer = new Timer(uiUpdateDelay, new UpdateUIAction());
+               updateUITimer.start();
+
+               // status
+               JPanel panel1 = new JPanel(new GridBagLayout());
+               panel1.setBorder(new EtchedBorder());
+               panel1.add(statusMessage, new GridBagConstraints(0, 0, 1, 1, 
1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 
0, 0), 0, 0));
+               panel.add(panel1, new GridBagConstraints(0, 0, 1, 1, 1, 1, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(3, 3, 2, 1), 0, 
0));
+
+               // memory
+               JPanel panel2 = new JPanel(new GridBagLayout());
+               panel2.setBorder(new EtchedBorder());
+               JPanel panel3 = new JPanel(new GridBagLayout());
+               panel3.add(memoryAvailable, new GridBagConstraints(0, 0, 1, 1, 
0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 
0), 0, 0));
+               panel3.add(performGC, new GridBagConstraints(1, 0, 1, 1, 0, 0, 
GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 
0));
+               panel2.add(panel3, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 
0));
+               panel.add(panel2, new GridBagConstraints(1, 0, 1, 1, 0, 1, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(3, 1, 2, 2), 0, 
0));
+       }
+
+       static void setFontSize(Component component, int size) {
+               Font font = component.getFont();
+               component.setFont(new Font(font.getFontName(), font.getStyle(), 
size));
+       }
+
+       public void setMessage(String message, Icon icon) {
+               statusMessage.setIcon(icon);
+               lastMessage = message;
+               timeSinceLastMessage = System.currentTimeMillis();
+               updateStatusMessage();
+       }
+
+       public void addActionListener(ActionListener actionListener) {
+               statusMessage.addActionListener(actionListener);
+       }
+
+       class PerformGCAction implements ActionListener {
+               public void actionPerformed(ActionEvent e) {
+                       performGC.setEnabled(false);
+                       for (int i = 0; i < 5; i++) {
+                               System.runFinalization();
+                               System.gc();
+                       }
+                       performGC.setEnabled(true);
+               }
+       }
+
+       static final String[] MEMORY_SUFFIXES = { "b", "kb", "Mb", "Gb" };
+       static final double MEMORY_UNIT = 1024.0;
+       static String formatMemory(long freeMemory, long totalMemory) {
+               double free = (double) freeMemory;
+               double total = (double) totalMemory;
+               int suffix = 0;
+               while ((total >= MEMORY_UNIT) && (suffix < 
MEMORY_SUFFIXES.length - 1)) {
+                       free /= MEMORY_UNIT;
+                       total /= MEMORY_UNIT;
+                       suffix++;
+               }
+               return String.format("%.2f of %.2f %s", free, total, 
MEMORY_SUFFIXES[suffix]);
+       }
+
+       static String formatTime(long totalMilliseconds) {
+               long totalSeconds = totalMilliseconds / 1000;
+               if (totalSeconds < 60)
+                       return formatTimeUnit(totalSeconds, "second");
+
+               long totalMinutes = totalSeconds / 60;
+               if (totalMinutes < 60)
+                       return formatTimeUnit(totalMinutes, "minute");
+
+               long hours = totalMinutes / 60;
+               long minutes = totalMinutes % 60;
+
+               if (minutes == 0)
+                       return formatTimeUnit(hours, "hour");
+               else
+                       return formatTimeUnit(hours, "hour") + ", " + 
formatTimeUnit(minutes, "minute");
+       }
+
+       static String formatTimeUnit(long time, String unit) {
+               if (time == 1)
+                       return String.format("%d %s", time, unit);
+               else
+                       return String.format("%d %ss", time, unit);
+       }
+
+       void updateStatusMessage() {
+               if (lastMessage == null) {
+                       statusMessage.setText("");
+               } else {
+                       long delta = System.currentTimeMillis() - 
timeSinceLastMessage;
+                       statusMessage.setText(String.format("%s (%s ago)", 
lastMessage, formatTime(delta))); 
+               }
+       }
+
+       void updateMemoryAvailable() {
+               long free = Runtime.getRuntime().freeMemory();
+               long total = Runtime.getRuntime().totalMemory();
+
+               memoryAvailable.setValue((int) (free * 100 / total));
+               memoryAvailable.setString(formatMemory(free, total));
+       }
+
+       class UpdateUIAction implements ActionListener {
+               public void actionPerformed(ActionEvent e) {
+                       updateStatusMessage();
+                       updateMemoryAvailable();
+               }
+       }
+}

Deleted: 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBarImpl.java
===================================================================
--- 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBarImpl.java
       2010-11-23 00:05:58 UTC (rev 22988)
+++ 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/CytoStatusBarImpl.java
       2010-11-23 00:06:31 UTC (rev 22989)
@@ -1,177 +0,0 @@
-package org.cytoscape.log.internal;
-
-import java.awt.*;
-import java.awt.event.*;
-import javax.swing.*;
-import javax.swing.border.*;
-
-import org.cytoscape.log.statusbar.CytoStatusBar;
-
-/**
- * FIXME: Move this class to log-swing module.  This is a cause of  
dependency. 
- * 
- * @author Pasteur
- */
-class CytoStatusBarImpl implements CytoStatusBar
-{
-       JPanel          panel;
-       JButton         statusMessage;
-       JProgressBar    memoryAvailable;
-       JButton         performGC;
-       Timer           updateUITimer;
-
-       long            timeSinceLastMessage = 0;
-       String          lastMessage = null;
-
-       public CytoStatusBarImpl(int uiUpdateDelay, String trashIconPath)
-       {
-               statusMessage = new JButton();
-               statusMessage.setCursor(new Cursor(Cursor.HAND_CURSOR));
-               setFontSize(statusMessage, 9);
-               statusMessage.setToolTipText("Open Console");
-               statusMessage.setBorderPainted(false);
-               statusMessage.setContentAreaFilled(false);
-               statusMessage.setHorizontalTextPosition(SwingConstants.RIGHT);
-               statusMessage.setHorizontalAlignment(SwingConstants.LEFT);
-
-               memoryAvailable = new JProgressBar();
-               memoryAvailable.setToolTipText("Amount of memory available to 
Cytoscape");
-               memoryAvailable.setStringPainted(true);
-               setFontSize(memoryAvailable, 8);
-               updateMemoryAvailable();
-
-               performGC = new JButton(new 
ImageIcon(getClass().getResource(trashIconPath)));
-               performGC.setToolTipText("Try to get more memory by performing 
garbage collection");
-               performGC.setBorderPainted(false);
-               performGC.setContentAreaFilled(false);
-               performGC.addActionListener(new PerformGCAction());
-
-               updateUITimer = new Timer(uiUpdateDelay, new UpdateUIAction());
-               updateUITimer.start();
-
-               panel = new JPanel(new GridBagLayout());
-               JPanel panel1 = new JPanel(new GridBagLayout());
-               panel1.setBorder(new EtchedBorder());
-               panel1.add(statusMessage, new GridBagConstraints(0, 0, 1, 1, 
1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 
0, 0), 0, 0));
-               panel.add(panel1, new GridBagConstraints(0, 0, 1, 1, 1, 1, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(3, 3, 2, 1), 0, 
0));
-               JPanel panel2 = new JPanel(new GridBagLayout());
-               panel2.setBorder(new EtchedBorder());
-               JPanel panel3 = new JPanel(new GridBagLayout());
-               panel3.add(memoryAvailable, new GridBagConstraints(0, 0, 1, 1, 
0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 
0), 0, 0));
-               panel3.add(performGC, new GridBagConstraints(1, 0, 1, 1, 0, 0, 
GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 
0));
-               panel2.add(panel3, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 
0));
-               panel.add(panel2, new GridBagConstraints(1, 0, 1, 1, 0, 1, 
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(3, 1, 2, 2), 0, 
0));
-       }
-
-       public JPanel getPanel()
-       {
-               return panel;
-       }
-
-       static void setFontSize(Component component, int size)
-       {
-               Font font = component.getFont();
-               component.setFont(new Font(font.getFontName(), font.getStyle(), 
size));
-       }
-
-       public void setMessage(String message, Icon icon)
-       {
-               statusMessage.setIcon(icon);
-               lastMessage = message;
-               timeSinceLastMessage = System.currentTimeMillis();
-               updateStatusMessage();
-       }
-
-       public void addActionListener(ActionListener actionListener)
-       {
-               statusMessage.addActionListener(actionListener);
-       }
-
-       class PerformGCAction implements ActionListener
-       {
-               public void actionPerformed(ActionEvent e)
-               {
-                       performGC.setEnabled(false);
-                       for (int i = 0; i < 5; i++)
-                       {
-                               System.runFinalization();
-                               System.gc();
-                       }
-                       performGC.setEnabled(true);
-               }
-       }
-
-       static final String[] MEMORY_SUFFIXES = { "b", "kb", "Mb", "Gb" };
-       static final double MEMORY_UNIT = 1024.0;
-       static String formatMemory(long freeMemory, long totalMemory)
-       {
-               double free = (double) freeMemory;
-               double total = (double) totalMemory;
-               int suffix = 0;
-               while ((total >= MEMORY_UNIT) && (suffix < 
MEMORY_SUFFIXES.length - 1))
-               {
-                       free /= MEMORY_UNIT;
-                       total /= MEMORY_UNIT;
-                       suffix++;
-               }
-               return String.format("%.2f of %.2f %s", free, total, 
MEMORY_SUFFIXES[suffix]);
-       }
-
-       static String formatTime(long totalMilliseconds)
-       {
-               long totalSeconds = totalMilliseconds / 1000;
-               if (totalSeconds < 60)
-                       return formatTimeUnit(totalSeconds, "second");
-
-               long totalMinutes = totalSeconds / 60;
-               if (totalMinutes < 60)
-                       return formatTimeUnit(totalMinutes, "minute");
-
-               long hours = totalMinutes / 60;
-               long minutes = totalMinutes % 60;
-
-               if (minutes == 0)
-                       return formatTimeUnit(hours, "hour");
-               else
-                       return formatTimeUnit(hours, "hour") + ", " + 
formatTimeUnit(minutes, "minute");
-       }
-
-       static String formatTimeUnit(long time, String unit)
-       {
-               if (time == 1)
-                       return String.format("%d %s", time, unit);
-               else
-                       return String.format("%d %ss", time, unit);
-       }
-
-       void updateStatusMessage()
-       {
-               if (lastMessage == null)
-               {
-                       statusMessage.setText("");
-               }
-               else
-               {
-                       long delta = System.currentTimeMillis() - 
timeSinceLastMessage;
-                       statusMessage.setText(String.format("%s (%s ago)", 
lastMessage, formatTime(delta))); 
-               }
-       }
-
-       void updateMemoryAvailable()
-       {
-               long free = Runtime.getRuntime().freeMemory();
-               long total = Runtime.getRuntime().totalMemory();
-
-               memoryAvailable.setValue((int) (free * 100 / total));
-               memoryAvailable.setString(formatMemory(free, total));
-       }
-
-       class UpdateUIAction implements ActionListener
-       {
-               public void actionPerformed(ActionEvent e)
-               {
-                       updateStatusMessage();
-                       updateMemoryAvailable();
-               }
-       }
-}

Modified: 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/SimpleLogViewer.java
===================================================================
--- 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/SimpleLogViewer.java
 2010-11-23 00:05:58 UTC (rev 22988)
+++ 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/SimpleLogViewer.java
 2010-11-23 00:06:31 UTC (rev 22989)
@@ -5,8 +5,6 @@
 import java.awt.event.*;
 import javax.swing.*;
 
-import org.cytoscape.log.statusbar.CytoStatusBar;
-
 /**
  * @author Pasteur
  */

Modified: 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/StatusBarUpdater.java
===================================================================
--- 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/StatusBarUpdater.java
        2010-11-23 00:05:58 UTC (rev 22988)
+++ 
core3/log-swing/trunk/src/main/java/org/cytoscape/log/internal/StatusBarUpdater.java
        2010-11-23 00:06:31 UTC (rev 22989)
@@ -1,6 +1,5 @@
 package org.cytoscape.log.internal;
 
-import org.cytoscape.log.statusbar.CytoStatusBar;
 import org.ops4j.pax.logging.spi.PaxLoggingEvent;
 
 import java.util.Map;

Modified: 
core3/log-swing/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- core3/log-swing/trunk/src/main/resources/META-INF/spring/bundle-context.xml 
2010-11-23 00:05:58 UTC (rev 22988)
+++ core3/log-swing/trunk/src/main/resources/META-INF/spring/bundle-context.xml 
2010-11-23 00:06:31 UTC (rev 22989)
@@ -85,8 +85,8 @@
                <constructor-arg ref="statusBarQueue" />
        </bean>
 
-       <bean id="cytoStatusBar" 
class="org.cytoscape.log.internal.CytoStatusBarImpl">
-               <constructor-arg type="int" value="500"/>
+       <bean id="cytoStatusBar" 
class="org.cytoscape.log.internal.CytoStatusBar">
+               <constructor-arg ref="cySwingApplicationRef"/>
                <constructor-arg type="java.lang.String" 
value="/user-trash.png" />
        </bean>
 

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