diff --git a/client/src/org/compiere/apps/graph/PAPanel.java b/client/src/org/compiere/apps/graph/PAPanel.java
index a532f61c2c..4cddc1195a 100644
--- a/client/src/org/compiere/apps/graph/PAPanel.java
+++ b/client/src/org/compiere/apps/graph/PAPanel.java
@@ -1,96 +1,166 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
- * This program is free software; you can redistribute it and/or modify it *
- * under the terms version 2 of the GNU General Public License as published *
- * by the Free Software Foundation. This program is distributed in the hope *
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
- * See the GNU General Public License for more details. *
- * You should have received a copy of the GNU General Public License along *
- * with this program; if not, write to the Free Software Foundation, Inc., *
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
- * For the text or an alternative of this public license, you may reach us *
- * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
- * or via info@compiere.org or http://www.compiere.org/license.html *
- *****************************************************************************/
+/**********************************************************************
+ * This file is part of Adempiere ERP Bazaar *
+ * http://www.adempiere.org *
+ * *
+ * Copyright (C) 1999 - 2006 Compiere Inc. *
+ * Copyright (C) Contributors *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License *
+ * as published by the Free Software Foundation; either version 2 *
+ * of the License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
+ * MA 02110-1301, USA. *
+ * *
+ * Contributors: *
+ * - Bahman Movaqar (bmovaqar@users.sf.net) *
+ **********************************************************************/
package org.compiere.apps.graph;
-import java.awt.event.*;
-import javax.swing.*;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
-import org.compiere.model.*;
-import org.compiere.swing.*;
-import org.compiere.util.*;
+import javax.swing.JPopupMenu;
+import javax.swing.SwingUtilities;
+
+import org.compiere.model.MGoal;
+import org.compiere.swing.CMenuItem;
+import org.compiere.swing.CPanel;
+import org.compiere.util.CLogger;
+import org.compiere.util.Env;
/**
- * Performance Analysis Panel.
- * Key Performace Indicators
- *
- * @author Jorg Janke
- * @version $Id: PAPanel.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
+ * Performance Analysis Panel. Key Performace Indicators
+ *
+ * @author Jorg Janke
+ * @version $Id: PAPanel.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
*/
-public class PAPanel extends CPanel implements ActionListener
-{
+public class PAPanel extends CPanel implements MouseListener, ActionListener {
/**
- * Get Panel if User has Perfpormance Goals
- * @return panel pr null
+ * Serial version UID
*/
- public static PAPanel get()
- {
+ private static final long serialVersionUID = 900002328486L;
+
+ /**
+ * Get Panel if User has Perfpormance Goals
+ *
+ * @return panel pr null
+ */
+ public static PAPanel get() {
int AD_User_ID = Env.getAD_User_ID(Env.getCtx());
MGoal[] goals = MGoal.getUserGoals(Env.getCtx(), AD_User_ID);
if (goals.length == 0)
return null;
return new PAPanel(goals);
- } // get
-
-
- /**************************************************************************
- * Constructor
- * @param goals
+ } // get
+
+ /***************************************************************************
+ * Constructor
+ *
+ * @param goals
*/
- private PAPanel (MGoal[] goals)
- {
- super ();
+ private PAPanel(MGoal[] goals) {
+ super();
m_goals = goals;
init();
- } // PAPanel
-
- /** Goals */
- private MGoal[] m_goals = null;
-
- /** Logger */
- private static CLogger log = CLogger.getCLogger (PAPanel.class);
-
- /**
- * Static/Dynamic Init
- */
- private void init()
- {
- BoxLayout layout = new BoxLayout(this, BoxLayout.PAGE_AXIS);
- for (int i = 0; i < m_goals.length; i++)
- {
- PerformanceIndicator pi = new PerformanceIndicator(m_goals[i]);
- pi.addActionListener(this);
- add (pi);
- }
- } // init
+ } // PAPanel
+
+ /** Goals */
+ private MGoal[] m_goals = null;
+
+ /** Logger */
+ private static CLogger log = CLogger.getCLogger(PAPanel.class);
+
+ /** Popup menu */
+ JPopupMenu pmenu = new JPopupMenu();
+
+ /** Update menu item */
+ CMenuItem menuUpdate = new CMenuItem();
/**
- * Action Listener for Drill Down
- * @param e event
+ * Static/Dynamic Init
*/
- public void actionPerformed (ActionEvent e)
- {
- if (e.getSource() instanceof PerformanceIndicator)
- {
- PerformanceIndicator pi = (PerformanceIndicator)e.getSource();
+ private void init() {
+ for (int i = 0; i < m_goals.length; i++) {
+ PerformanceIndicator pi = new PerformanceIndicator(m_goals[i]);
+ pi.addActionListener(this);
+ add(pi);
+ }
+ // Setup the popup menu
+ menuUpdate.setText("Update Indicators");
+ menuUpdate.setActionCommand("update");
+ menuUpdate.addActionListener(this);
+ pmenu.setLightWeightPopupEnabled(false);
+ pmenu.add(menuUpdate);
+
+ this.addMouseListener(this);
+ } // init
+
+ /**
+ * Action Listener for Drill Down
+ *
+ * @param e
+ * event
+ */
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() instanceof PerformanceIndicator) {
+ PerformanceIndicator pi = (PerformanceIndicator) e.getSource();
log.info(pi.getName());
MGoal goal = pi.getGoal();
if (goal.getMeasure() != null)
new PerformanceDetail(goal);
- }
- } // actionPerformed
+ } else if (e.getActionCommand().equals("update"))
+ updateInidcators();
+ } // actionPerformed
-} // PAPanel
+ /**
+ * Updates indicators.
+ */
+ private void updateInidcators() {
+ for (int i = 0; i < m_goals.length; i++) {
+ log.info("Updating indicator \"" + m_goals[i].getName() + "\"...");
+ remove(i);
+ PerformanceIndicator pi = new PerformanceIndicator(m_goals[i]);
+ pi.addActionListener(this);
+ add(pi, i);
+ log.info("done.");
+ }
+ } // updateIndicators
+
+ public void mouseClicked(MouseEvent e) {
+ if (SwingUtilities.isRightMouseButton(e))
+ pmenu.show((Component) e.getSource(), e.getX(), e.getY());
+ }
+
+ public void mouseEntered(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void mouseExited(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void mousePressed(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+} // PAPanel
diff --git a/client/src/org/compiere/apps/graph/PerformanceIndicator.java b/client/src/org/compiere/apps/graph/PerformanceIndicator.java
index c0d74f01cc..7560dab7dc 100644
--- a/client/src/org/compiere/apps/graph/PerformanceIndicator.java
+++ b/client/src/org/compiere/apps/graph/PerformanceIndicator.java
@@ -1,446 +1,444 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
- * This program is free software; you can redistribute it and/or modify it *
- * under the terms version 2 of the GNU General Public License as published *
- * by the Free Software Foundation. This program is distributed in the hope *
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
- * See the GNU General Public License for more details. *
- * You should have received a copy of the GNU General Public License along *
- * with this program; if not, write to the Free Software Foundation, Inc., *
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
- * For the text or an alternative of this public license, you may reach us *
- * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
- * or via info@compiere.org or http://www.compiere.org/license.html *
- *****************************************************************************/
+/**********************************************************************
+ * This file is part of Adempiere ERP Bazaar *
+ * http://www.adempiere.org *
+ * *
+ * Copyright (C) 1999 - 2006 Compiere Inc. *
+ * Copyright (C) Contributors *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License *
+ * as published by the Free Software Foundation; either version 2 *
+ * of the License, or (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
+ * MA 02110-1301, USA. *
+ * *
+ * Contributors: *
+ * - Bahman Movaqar (bmovaqar@users.sf.net) *
+ **********************************************************************/
package org.compiere.apps.graph;
-import java.awt.*;
-import java.awt.event.*;
-import java.text.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
-
-//vpj-cd e-evolution
+import java.awt.BorderLayout;
import java.awt.Color;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.awt.Font;
-//import java.awt.R`;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.text.DecimalFormat;
+
+import javax.swing.BorderFactory;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.SwingUtilities;
+import javax.swing.border.BevelBorder;
+import javax.swing.event.EventListenerList;
+
+import org.compiere.model.MGoal;
+import org.compiere.swing.CMenuItem;
+import org.compiere.util.DisplayType;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.*;
-import org.jfree.data.general.*;
+import org.jfree.chart.plot.DialShape;
+import org.jfree.chart.plot.MeterInterval;
+import org.jfree.chart.plot.MeterPlot;
import org.jfree.data.Range;
+import org.jfree.data.general.DefaultValueDataset;
import org.jfree.ui.RectangleInsets;
-//vpj-cd e-evolution
-
-import org.compiere.model.*;
-import org.compiere.swing.*;
-import org.compiere.util.*;
/**
- * Performance Indicator
- *
- * @author Jorg Janke
- * @version $Id: PerformanceIndicator.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
+ * Performance Indicator
+ *
+ * @author Jorg Janke
+ * @version $Id: PerformanceIndicator.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
*/
-//vpj-cd e-evolution public class PerformanceIndicator extends JComponent
-public class PerformanceIndicator extends JPanel
- implements MouseListener, ActionListener
-{
+// vpj-cd e-evolution public class PerformanceIndicator extends JComponent
+public class PerformanceIndicator extends JPanel implements MouseListener,
+ ActionListener {
/**
- * Constructor
- * @param goal goal model
+ * Serial version UID
*/
- public PerformanceIndicator(MGoal goal)
- {
+ private static final long serialVersionUID = -3988387418888L;
+
+ /**
+ * Constructor
+ *
+ * @param goal
+ * goal model
+ */
+ public PerformanceIndicator(MGoal goal) {
super();
m_goal = goal;
setName(m_goal.getName());
- //vpj-cd e-evolution getPreferredSize(); // calculate size
- init();
+ // vpj-cd e-evolution getPreferredSize(); // calculate size
+ init();
//
setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
setOpaque(true);
- //vpj-cd e-evolution updateDisplay();
+ // vpj-cd e-evolution updateDisplay();
//
mRefresh.addActionListener(this);
popupMenu.add(mRefresh);
//
addMouseListener(this);
- } // PerformanceIndicator
+ } // PerformanceIndicator
- private MGoal m_goal = null;
- /** The Performance Name */
- private String m_text = null;
- /** Performance Line */
- private double m_line = 0;
-
- /** Height */
- private static double s_height = 45;
- /** 100% width */
- private static double s_width100 = 150;
- /** Max width */
- private static double s_widthMax = 250;
- /** Integer Number Format */
- private static DecimalFormat s_format = DisplayType.getNumberFormat(DisplayType.Integer);
+ private MGoal m_goal = null;
- JPopupMenu popupMenu = new JPopupMenu();
- private CMenuItem mRefresh = new CMenuItem(Msg.getMsg(Env.getCtx(), "Refresh"), Env.getImageIcon("Refresh16.gif"));
-
- //Insert Pie Graph Kinamo (pelgrim)
- private static Color colorOK = Color.magenta;
- private static Color colorNotOK = Color.lightGray;
- //private static Dimension indicatordimension = new Dimension(150, 150);
- private static Dimension indicatordimension = new Dimension(190,130);
- private static Dimension paneldimension = new Dimension(200, 200);
- //private static Dimension
+ /** The Performance Name */
+ private String m_text = null;
+
+ /** Performance Line */
+ private double m_line = 0;
+
+ /** Height */
+ private static double s_height = 45;
+
+ /** 100% width */
+ private static double s_width100 = 150;
+
+ /** Max width */
+ private static double s_widthMax = 250;
+
+ /** Integer Number Format */
+ private static DecimalFormat s_format = DisplayType
+ .getNumberFormat(DisplayType.Integer);
+
+ JPopupMenu popupMenu = new JPopupMenu();
+
+ private CMenuItem mRefresh = new CMenuItem(Msg.getMsg(Env.getCtx(),
+ "Refresh"), Env.getImageIcon("Refresh16.gif"));
+
+ // Insert Pie Graph Kinamo (pelgrim)
+ private static Color colorOK = Color.magenta;
+
+ private static Color colorNotOK = Color.lightGray;
+
+ // private static Dimension indicatordimension = new Dimension(150, 150);
+ private static Dimension indicatordimension = new Dimension(190, 130);
+
+ private static Dimension paneldimension = new Dimension(200, 200);
+
+ // private static Dimension
/**
- * Get Goal
- * @return goal
+ * Get Goal
+ *
+ * @return goal
*/
- public MGoal getGoal()
- {
+ public MGoal getGoal() {
return m_goal;
- } // getGoal
-
- /**
- * Init Graph Display
- * Kinamo (pelgrim)
+ } // getGoal
+
+ /**
+ * Init Graph Display Kinamo (pelgrim)
*/
private void init() {
- // Set Text
+ // Set Text
StringBuffer text = new StringBuffer(m_goal.getName());
if (m_goal.isTarget())
text.append(": ").append(m_goal.getPercent()).append("%");
else
- text.append(": ").append(s_format.format(m_goal.getMeasureActual()));
+ text.append(": ")
+ .append(s_format.format(m_goal.getMeasureActual()));
m_text = text.toString();
- // ToolTip
+ // ToolTip
text = new StringBuffer();
if (m_goal.getDescription() != null)
text.append(m_goal.getDescription()).append(": ");
text.append(s_format.format(m_goal.getMeasureActual()));
if (m_goal.isTarget())
text.append(" ").append(Msg.getMsg(Env.getCtx(), "of")).append(" ")
- .append(s_format.format(m_goal.getMeasureTarget()));
+ .append(s_format.format(m_goal.getMeasureTarget()));
setToolTipText(text.toString());
//
setBackground(m_goal.getColor());
setForeground(GraphUtil.getForeground(getBackground()));
- // Performance Line
+ // Performance Line
int percent = m_goal.getPercent();
- if (percent > 100) // draw 100% line
+ if (percent > 100) // draw 100% line
m_line = s_width100;
- else // draw Performance Line
+ else
+ // draw Performance Line
m_line = s_width100 * m_goal.getGoalPerformanceDouble();
-
- //vpj-cd e-evolution Plot Meter -----------------------------------
- JFreeChart chart = null;
- String title = m_text;
- DefaultValueDataset data = new DefaultValueDataset((float)m_goal.getPercent());
- MeterPlot plot = new MeterPlot(data);
- plot.addInterval(new MeterInterval("Normal", new Range(0.0, 100.0)));
+ // vpj-cd e-evolution Plot Meter -----------------------------------
+ JFreeChart chart = null;
- plot.setUnits(m_goal.getName());
- plot.setRange(new Range(0, 100));
- plot.setDialShape(DialShape.CIRCLE);
- plot.setDialBackgroundPaint(m_goal.getColor());
- plot.setNeedlePaint(Color.white);
- plot.setTickSize(10);
- plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 8));
- plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
+ String title = m_text;
+ DefaultValueDataset data = new DefaultValueDataset((float) m_goal
+ .getPercent());
+ MeterPlot plot = new MeterPlot(data);
+ plot.addInterval(new MeterInterval("Normal", new Range(0.0, 100.0)));
+ plot.setUnits(m_goal.getName());
+ plot.setRange(new Range(0, 100));
+ plot.setDialShape(DialShape.CIRCLE);
+ plot.setDialBackgroundPaint(m_goal.getColor());
+ plot.setNeedlePaint(Color.white);
+ plot.setTickSize(10);
+ plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 8));
+ plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
- chart = new JFreeChart( m_text, new Font("SansSerif", Font.BOLD, 12), plot,false);
- //chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.ORANGE));
- ChartPanel chartPanel = new ChartPanel(chart);
- chartPanel.setPreferredSize(indicatordimension);
+ chart = new JFreeChart(m_text, new Font("SansSerif", Font.BOLD, 12),
+ plot, false);
+ // chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0,
+ // 1000, Color.ORANGE));
+ ChartPanel chartPanel = new ChartPanel(chart);
+ chartPanel.setPreferredSize(indicatordimension);
- chartPanel.addChartMouseListener( new org.jfree.chart.ChartMouseListener()
- {
- public void chartMouseClicked(org.jfree.chart.ChartMouseEvent e)
- {
- //plot p = (MeterPlot) e.getSource();
- MouseEvent me = e.getTrigger();
+ chartPanel
+ .addChartMouseListener(new org.jfree.chart.ChartMouseListener() {
+ public void chartMouseClicked(
+ org.jfree.chart.ChartMouseEvent e) {
+ // plot p = (MeterPlot) e.getSource();
+ MouseEvent me = e.getTrigger();
- if (SwingUtilities.isLeftMouseButton(me) && me.getClickCount() > 1)
- fireActionPerformed(me);
- if (SwingUtilities.isRightMouseButton(me))
- popupMenu.show((Component)me.getSource(), me.getX(), me.getY());
- }
- public void chartMouseMoved(org.jfree.chart.ChartMouseEvent e)
- {
+ if (SwingUtilities.isLeftMouseButton(me)
+ && me.getClickCount() > 1)
+ fireActionPerformed(me);
+ // if (SwingUtilities.isRightMouseButton(me))
+ // popupMenu.show((Component)me.getSource(), me.getX(),
+ // me.getY());
+ }
- }
+ public void chartMouseMoved(
+ org.jfree.chart.ChartMouseEvent e) {
- });
-
- this.add(chartPanel, BorderLayout.NORTH);
- //---------------------------------------------
-
- invalidate();
+ }
+
+ });
+
+ this.add(chartPanel, BorderLayout.NORTH);
+ // ---------------------------------------------
+
+ invalidate();
}
-
/**
- * Update Display Data
+ * Update Display Data
*/
- protected void updateDisplay()
- {
- // Set Text
- /*begin vpj-cd e-evolution
- StringBuffer text = new StringBuffer(m_goal.getName());
- if (m_goal.isTarget())
- text.append(": ").append(m_goal.getPercent()).append("%");
- else
- text.append(": ").append(s_format.format(m_goal.getMeasureActual()));
- m_text = text.toString();
- // ToolTip
- text = new StringBuffer();
- if (m_goal.getDescription() != null)
- text.append(m_goal.getDescription()).append(": ");
- text.append(s_format.format(m_goal.getMeasureActual()));
- if (m_goal.isTarget())
- text.append(" ").append(Msg.getMsg(Env.getCtx(), "of")).append(" ")
- .append(s_format.format(m_goal.getMeasureTarget()));
- setToolTipText(text.toString());
- //
- setBackground(m_goal.getColor());
- setForeground(GraphUtil.getForeground(getBackground()));
- // Performance Line
- int percent = m_goal.getPercent();
- if (percent > 100) // draw 100% line
- m_line = s_width100;
- else // draw Performance Line
- m_line = s_width100 * m_goal.getGoalPerformanceDouble();
- */
- JFreeChart chart = null;
+ protected void updateDisplay() {
+ // Set Text
+ /*
+ * begin vpj-cd e-evolution StringBuffer text = new
+ * StringBuffer(m_goal.getName()); if (m_goal.isTarget()) text.append(":
+ * ").append(m_goal.getPercent()).append("%"); else text.append(":
+ * ").append(s_format.format(m_goal.getMeasureActual())); m_text =
+ * text.toString(); // ToolTip text = new StringBuffer(); if
+ * (m_goal.getDescription() != null)
+ * text.append(m_goal.getDescription()).append(": ");
+ * text.append(s_format.format(m_goal.getMeasureActual())); if
+ * (m_goal.isTarget()) text.append(" ").append(Msg.getMsg(Env.getCtx(),
+ * "of")).append(" ")
+ * .append(s_format.format(m_goal.getMeasureTarget()));
+ * setToolTipText(text.toString()); // setBackground(m_goal.getColor());
+ * setForeground(GraphUtil.getForeground(getBackground())); //
+ * Performance Line int percent = m_goal.getPercent(); if (percent >
+ * 100) // draw 100% line m_line = s_width100; else // draw Performance
+ * Line m_line = s_width100 * m_goal.getGoalPerformanceDouble();
+ */
+ JFreeChart chart = null;
- String title = m_text;
- DefaultValueDataset data = new DefaultValueDataset((float)m_goal.getPercent());
- MeterPlot plot = new MeterPlot(data);
- plot.addInterval(new MeterInterval("Normal", new Range(0.0, 100.0)));
+ String title = m_text;
+ DefaultValueDataset data = new DefaultValueDataset((float) m_goal
+ .getPercent());
+ MeterPlot plot = new MeterPlot(data);
+ plot.addInterval(new MeterInterval("Normal", new Range(0.0, 100.0)));
- plot.setUnits(m_goal.getName());
- plot.setRange(new Range(0, 100));
- plot.setDialShape(DialShape.CIRCLE);
- plot.setDialBackgroundPaint(m_goal.getColor());
- plot.setNeedlePaint(Color.white);
- plot.setTickSize(10);
- plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 8));
- plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
+ plot.setUnits(m_goal.getName());
+ plot.setRange(new Range(0, 100));
+ plot.setDialShape(DialShape.CIRCLE);
+ plot.setDialBackgroundPaint(m_goal.getColor());
+ plot.setNeedlePaint(Color.white);
+ plot.setTickSize(10);
+ plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 8));
+ plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
+ chart = new JFreeChart(m_text, new Font("SansSerif", Font.BOLD, 12),
+ plot, false);
+ // chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0,
+ // 1000, Color.ORANGE));
+ ChartPanel chartPanel = new ChartPanel(chart);
+ chartPanel.setPreferredSize(indicatordimension);
- chart = new JFreeChart( m_text, new Font("SansSerif", Font.BOLD, 12), plot,false);
- //chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.ORANGE));
- ChartPanel chartPanel = new ChartPanel(chart);
- chartPanel.setPreferredSize(indicatordimension);
+ chartPanel
+ .addChartMouseListener(new org.jfree.chart.ChartMouseListener() {
+ public void chartMouseClicked(
+ org.jfree.chart.ChartMouseEvent e) {
+ // plot p = (MeterPlot) e.getSource();
+ System.out.println("evento" + e.getSource());
+ System.out.println("evento" + e.getTrigger());
+ System.out.println("evento" + e.getChart().getTitle());
- chartPanel.addChartMouseListener( new org.jfree.chart.ChartMouseListener()
- {
- public void chartMouseClicked(org.jfree.chart.ChartMouseEvent e)
- {
- //plot p = (MeterPlot) e.getSource();
- System.out.println("evento" + e.getSource());
- System.out.println("evento" + e.getTrigger());
- System.out.println("evento" + e.getChart().getTitle());
+ MouseEvent me = e.getTrigger();
- MouseEvent me = e.getTrigger();
+ if (SwingUtilities.isLeftMouseButton(me)
+ && me.getClickCount() > 1)
+ fireActionPerformed(me);
+ if (SwingUtilities.isRightMouseButton(me))
+ popupMenu.show((Component) me.getSource(), me
+ .getX(), me.getY());
+ }
- if (SwingUtilities.isLeftMouseButton(me) && me.getClickCount() > 1)
- fireActionPerformed(me);
- if (SwingUtilities.isRightMouseButton(me))
- popupMenu.show((Component)me.getSource(), me.getX(), me.getY());
- }
- public void chartMouseMoved(org.jfree.chart.ChartMouseEvent e)
- {
+ public void chartMouseMoved(
+ org.jfree.chart.ChartMouseEvent e) {
- }
+ }
- });
-
- this.add(chartPanel, BorderLayout.NORTH);
+ });
+
+ this.add(chartPanel, BorderLayout.NORTH);
// vpj-cd e-evolution getPreferredSize();
invalidate();
- } // updateData
-
-
- /**************************************************************************
- * Get Preferred Size
- * @return size
- */
- /* vpj-cd e-evolution
- public Dimension getPreferredSize()
- {
- if (!isPreferredSizeSet())
- {
- double width = s_width100;
- if (m_goal.getPercent() > 100)
- {
- width = width * m_goal.getGoalPerformanceDouble();
- width = Math.min(width, s_widthMax);
- }
- Dimension size = new Dimension();
- size.setSize(width, s_height);
- setPreferredSize(size);
- setMinimumSize(size);
- setMaximumSize(size);
- }
- return super.getPreferredSize();
- } // getPreferredSize
- // end vpj-cd
-
- /**
- * Paint Component
- * @param g Graphics
- */
- /*vpj-cd e-evolution
- protected void paintComponent (Graphics g)
- {
- Graphics2D g2D = (Graphics2D)g;
- Rectangle bounds = getBounds();
- Insets insets = getInsets();
- // Background
- // g2D.setColor(GraphUtil.darker(getBackground(), 0.85));
- g2D.setColor(getBackground());
- Dimension size = getPreferredSize();
- g2D.fill3DRect(0+insets.right, 0+insets.top,
- size.width-insets.right-insets.left,
- size.height-insets.top-insets.bottom, true);
-
- // Paint Text
- Color color = getForeground();
- g2D.setPaint(color);
- Font font = getFont(); // Bold +1
- font = new Font(font.getName(), Font.BOLD, font.getSize()+1);
- //
- AttributedString aString = new AttributedString(m_text);
- aString.addAttribute(TextAttribute.FONT, font);
- aString.addAttribute(TextAttribute.FOREGROUND, color);
- AttributedCharacterIterator iter = aString.getIterator();
- //
- LineBreakMeasurer measurer = new LineBreakMeasurer(iter, g2D.getFontRenderContext());
- float width = getPreferredSize().width - 8; // 4 pt ;
- float xPos = 4;
- float yPos = 2;
- while (measurer.getPosition() < iter.getEndIndex())
- {
- TextLayout layout = measurer.nextLayout(width);
- yPos += layout.getAscent() + layout.getDescent() + layout.getLeading();
- layout.draw(g2D, xPos, yPos);
- }
-
- // Paint Performance Line
- int x = (int)(m_line);
- int y = (int)(size.height-insets.bottom);
- g2D.setPaint(Color.black);
- g2D.drawLine(x, insets.top, x, y);
- } // paintComponent
- */
- // end vpj-cd e-evolution
- /**************************************************************************
- * Adds an ActionListener to the indicator.
- * @param l the ActionListener to be added
- */
- public void addActionListener(ActionListener l)
- {
- if (l != null)
- listenerList.add(ActionListener.class, l);
- } // addActionListener
-
- /**
- * Removes an ActionListener from the indicator.
- * @param l the listener to be removed
- */
- public void removeActionListener(ActionListener l)
- {
- if (l != null)
- listenerList.remove(ActionListener.class, l);
- } // removeActionListener
-
- /**
- * Returns an array of all the ActionListeners added
- * to this indicator with addActionListener().
- *
- * @return all of the ActionListeners added or an empty
- * array if no listeners have been added
- */
- public ActionListener[] getActionListeners()
- {
- return (ActionListener[])(listenerList.getListeners(ActionListener.class));
- } // getActionListeners
+ } // updateData
- /**
- * Notifies all listeners that have registered interest for
- * notification on this event type. The event instance
- * is lazily created using the event
- * parameter.
- *
- * @param event the ActionEvent object
- * @see EventListenerList
- */
- protected void fireActionPerformed(MouseEvent event)
- {
- // Guaranteed to return a non-null array
- ActionListener[] listeners = getActionListeners();
- ActionEvent e = null;
- // Process the listeners first to last
- for (int i = 0; i < listeners.length; i++)
- {
- // Lazily create the event:
- if (e == null)
- e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
- "pi", event.getWhen(), event.getModifiers());
- listeners[i].actionPerformed(e);
- }
- } // fireActionPerformed
-
-
- /**************************************************************************
- * Mouse Clicked
- * @param e mouse event
- */
- public void mouseClicked (MouseEvent e)
- {
+ /***************************************************************************
+ * Get Preferred Size
+ *
+ * @return size
+ */
+ /*
+ * vpj-cd e-evolution public Dimension getPreferredSize() { if
+ * (!isPreferredSizeSet()) { double width = s_width100; if
+ * (m_goal.getPercent() > 100) { width = width *
+ * m_goal.getGoalPerformanceDouble(); width = Math.min(width, s_widthMax); }
+ * Dimension size = new Dimension(); size.setSize(width, s_height);
+ * setPreferredSize(size); setMinimumSize(size); setMaximumSize(size); }
+ * return super.getPreferredSize(); } // getPreferredSize // end vpj-cd
+ *
+ * /** Paint Component @param g Graphics
+ */
+ /*
+ * vpj-cd e-evolution protected void paintComponent (Graphics g) {
+ * Graphics2D g2D = (Graphics2D)g; Rectangle bounds = getBounds(); Insets
+ * insets = getInsets(); // Background //
+ * g2D.setColor(GraphUtil.darker(getBackground(), 0.85));
+ * g2D.setColor(getBackground()); Dimension size = getPreferredSize();
+ * g2D.fill3DRect(0+insets.right, 0+insets.top,
+ * size.width-insets.right-insets.left,
+ * size.height-insets.top-insets.bottom, true);
+ * // Paint Text Color color = getForeground(); g2D.setPaint(color); Font
+ * font = getFont(); // Bold +1 font = new Font(font.getName(), Font.BOLD,
+ * font.getSize()+1); // AttributedString aString = new
+ * AttributedString(m_text); aString.addAttribute(TextAttribute.FONT, font);
+ * aString.addAttribute(TextAttribute.FOREGROUND, color);
+ * AttributedCharacterIterator iter = aString.getIterator(); //
+ * LineBreakMeasurer measurer = new LineBreakMeasurer(iter,
+ * g2D.getFontRenderContext()); float width = getPreferredSize().width - 8; //
+ * 4 pt ; float xPos = 4; float yPos = 2; while (measurer.getPosition() <
+ * iter.getEndIndex()) { TextLayout layout = measurer.nextLayout(width);
+ * yPos += layout.getAscent() + layout.getDescent() + layout.getLeading();
+ * layout.draw(g2D, xPos, yPos); }
+ * // Paint Performance Line int x = (int)(m_line); int y =
+ * (int)(size.height-insets.bottom); g2D.setPaint(Color.black);
+ * g2D.drawLine(x, insets.top, x, y); } // paintComponent
+ */
+ // end vpj-cd e-evolution
+ /***************************************************************************
+ * Adds an ActionListener to the indicator.
+ *
+ * @param l
+ * the ActionListener to be added
+ */
+ public void addActionListener(ActionListener l) {
+ if (l != null)
+ listenerList.add(ActionListener.class, l);
+ } // addActionListener
+
+ /**
+ * Removes an ActionListener from the indicator.
+ *
+ * @param l
+ * the listener to be removed
+ */
+ public void removeActionListener(ActionListener l) {
+ if (l != null)
+ listenerList.remove(ActionListener.class, l);
+ } // removeActionListener
+
+ /**
+ * Returns an array of all the ActionListeners added to this
+ * indicator with addActionListener().
+ *
+ * @return all of the ActionListeners added or an empty
+ * array if no listeners have been added
+ */
+ public ActionListener[] getActionListeners() {
+ return (ActionListener[]) (listenerList
+ .getListeners(ActionListener.class));
+ } // getActionListeners
+
+ /**
+ * Notifies all listeners that have registered interest for notification on
+ * this event type. The event instance is lazily created using the
+ * event parameter.
+ *
+ * @param event
+ * the ActionEvent object
+ * @see EventListenerList
+ */
+ protected void fireActionPerformed(MouseEvent event) {
+ // Guaranteed to return a non-null array
+ ActionListener[] listeners = getActionListeners();
+ ActionEvent e = null;
+ // Process the listeners first to last
+ for (int i = 0; i < listeners.length; i++) {
+ // Lazily create the event:
+ if (e == null)
+ e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "pi",
+ event.getWhen(), event.getModifiers());
+ listeners[i].actionPerformed(e);
+ }
+ } // fireActionPerformed
+
+ /***************************************************************************
+ * Mouse Clicked
+ *
+ * @param e
+ * mouse event
+ */
+ public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() > 1)
fireActionPerformed(e);
if (SwingUtilities.isRightMouseButton(e))
- popupMenu.show((Component)e.getSource(), e.getX(), e.getY());
- } // mouseClicked
+ popupMenu.show((Component) e.getSource(), e.getX(), e.getY());
+ } // mouseClicked
- public void mousePressed (MouseEvent e)
- {
+ public void mousePressed(MouseEvent e) {
}
- public void mouseReleased (MouseEvent e)
- {
+ public void mouseReleased(MouseEvent e) {
}
- public void mouseEntered (MouseEvent e)
- {
+ public void mouseEntered(MouseEvent e) {
}
- public void mouseExited (MouseEvent e)
- {
+ public void mouseExited(MouseEvent e) {
}
/**
- * Action Listener.
- * Update Display
- * @param e event
+ * Action Listener. Update Display
+ *
+ * @param e
+ * event
*/
- public void actionPerformed (ActionEvent e)
- {
- if (e.getSource() == mRefresh)
- {
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() == mRefresh) {
m_goal.updateGoal(true);
updateDisplay();
//
@@ -453,6 +451,6 @@ public class PerformanceIndicator extends JPanel
else
repaint();
}
- } // actionPerformed
-
-} // PerformanceIndicator
+ } // actionPerformed
+
+} // PerformanceIndicator