Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r4323 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ui/panels

Subject: perfsonar development work

List archive

perfsonar: r4323 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ui/panels


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r4323 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ui/panels
  • Date: Fri, 1 Aug 2008 10:15:20 -0400

Author: nina
Date: 2008-08-01 10:15:20 -0400 (Fri, 01 Aug 2008)
New Revision: 4323

Modified:

branches/perfsonarui/src/org/perfsonar/perfsonarui/ResourceBundle.properties

branches/perfsonarui/src/org/perfsonar/perfsonarui/ui/panels/ResponseChartPanel.java
Log:
Fix for bug 541 https://bugzilla.perfsonar.net/show_bug.cgi?id=541 Add
information about zooming functionality.

Any chart descending from ResponseChartPanel will have additional menu Help
in the popup menu. The Help currently is only about zooming.

Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/ResourceBundle.properties
===================================================================
---
branches/perfsonarui/src/org/perfsonar/perfsonarui/ResourceBundle.properties
2008-08-01 12:15:41 UTC (rev 4322)
+++
branches/perfsonarui/src/org/perfsonar/perfsonarui/ResourceBundle.properties
2008-08-01 14:15:20 UTC (rev 4323)
@@ -1 +1,2 @@
-msg_exit=Are you sure you want to exit?
\ No newline at end of file
+msg_exit=Are you sure you want to exit?
+msg_zoom=To zoom in or out on charts: Drag a rectangle over the area you
want to zoom in. The selected area is highlighted. In order to reset the
zoom, just press the mouse button and move upwards before release it.
\ No newline at end of file

Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/ui/panels/ResponseChartPanel.java
===================================================================
---
branches/perfsonarui/src/org/perfsonar/perfsonarui/ui/panels/ResponseChartPanel.java
2008-08-01 12:15:41 UTC (rev 4322)
+++
branches/perfsonarui/src/org/perfsonar/perfsonarui/ui/panels/ResponseChartPanel.java
2008-08-01 14:15:20 UTC (rev 4323)
@@ -29,11 +29,17 @@
import java.awt.LayoutManager;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.text.BreakIterator;
import java.util.Hashtable;
+import java.util.Locale;
import java.util.Observable;
import java.util.Observer;
+import java.util.ResourceBundle;

+import javax.swing.AbstractAction;
+import javax.swing.JOptionPane;
import javax.swing.JPanel;
+import javax.swing.JPopupMenu;

import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
@@ -129,10 +135,52 @@
chartPanel.setDomainZoomable(true);
chartPanel.setRangeZoomable(false);

+ JPopupMenu popup = chartPanel.getPopupMenu();
+ popup.addSeparator();
+ AbstractAction a = new AbstractAction("Help") {
+ private static final long serialVersionUID =
-7760099321248755441L;
+
+ public void
actionPerformed(java.awt.event.ActionEvent arg0) {
+ try {
+ ResourceBundle b =
ResourceBundle.getBundle("org.perfsonar.perfsonarui.ResourceBundle",Locale.getDefault());
+ showHelp(b.getString("msg_zoom"));
+ } catch (Exception x) {
+ showHelp("N/A");
+ }
+
+ };
+ };
+
+ popup.add(a);
+
setLayout(new BorderLayout());
add(chartPanel, BorderLayout.CENTER);
}
+ protected void showHelp(String message) {
+ JOptionPane.showMessageDialog(this, getWrappedHelp(message,
80),"Help",JOptionPane.INFORMATION_MESSAGE,null);
+ }
+ public static String getWrappedHelp(String source,int maxchars) {

+ BreakIterator boundary = BreakIterator.getWordInstance();
+ boundary.setText(source);
+
+ StringBuffer wrappedHelp = new StringBuffer();
+ wrappedHelp.append("<html><body>");
+ int chars = 0;
+ int start = boundary.first();
+ for (int end = boundary.next();
+ end != BreakIterator.DONE;
+ start = end, end = boundary.next()) {
+ if ((chars >= maxchars) || ((chars + end - start) >
maxchars)) {
+ wrappedHelp.append("<p>");
+ chars = 0;
+ }
+ wrappedHelp.append(source.substring(start,end));
+ chars += (end - start);
+ }
+ wrappedHelp.append("</body></html>");
+ return wrappedHelp.toString();
+ }
protected abstract JFreeChart createChart(IPerfsonarTab
psModel,Hashtable datasets) ;

/*



  • perfsonar: r4323 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ui/panels, svnlog, 08/01/2008

Archive powered by MHonArc 2.6.16.

Top of Page