diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPerformanceIndicator.java b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPerformanceIndicator.java
index dcbb0d76f7..1188b8f8a4 100644
--- a/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPerformanceIndicator.java
+++ b/zkwebui/WEB-INF/src/org/adempiere/webui/apps/graph/WPerformanceIndicator.java
@@ -1,3 +1,16 @@
+/******************************************************************************
+ * Copyright (C) 2008 Low Heng Sin *
+ * Copyright (C) 2008 Idalica Corporation *
+ * 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. *
+ *****************************************************************************/
package org.adempiere.webui.apps.graph;
import java.awt.BasicStroke;
@@ -32,14 +45,13 @@ import org.zkoss.zul.Menupopup;
/**
* Performance Indicator
- *
- * @author Jorg Janke
- * @version $Id: PerformanceIndicator.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
+ *
+ * @author hengsin
*/
public class WPerformanceIndicator extends Panel implements EventListener
{
/**
- *
+ *
*/
private static final long serialVersionUID = 3580494126343850939L;
@@ -50,43 +62,29 @@ public class WPerformanceIndicator extends Panel implements EventListener
public WPerformanceIndicator(MGoal goal)
{
super();
-
+
m_goal = goal;
-// setName(m_goal.getName());
-
+
init();
mRefresh.addEventListener(Events.ON_CLICK, this);
popupMenu.appendChild(mRefresh);
-
+
addEventListener(Events.ON_DOUBLE_CLICK, this);
addEventListener(Events.ON_CLICK, this);
} // 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;
+ /** Performance Line */
+
/** Integer Number Format */
private static DecimalFormat s_format = DisplayType.getNumberFormat(DisplayType.Integer);
Menupopup popupMenu = new Menupopup();
private Menuitem mRefresh = new Menuitem(Msg.getMsg(Env.getCtx(), "Refresh"), "/images/Refresh16.png");
-
- //Insert Pie Graph Kinamo (pelgrim)
-// private static Color colorOK = Color.magenta;
-// private static Color colorNotOK = Color.lightGray;
-// private static Dimension indicatordimension = new Dimension(170,120);
-// private static Dimension paneldimension = new Dimension(180, 150);
+
ChartPanel chartPanel;
- //private static Dimension
/**
* Get Goal
@@ -96,18 +94,18 @@ public class WPerformanceIndicator extends Panel implements EventListener
{
return m_goal;
} // getGoal
-
+
private JFreeChart createChart()
{
JFreeChart chart = null;
-
+
// 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()));
-
+
m_text = text.toString();
// ToolTip
@@ -120,21 +118,10 @@ public class WPerformanceIndicator extends Panel implements EventListener
.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();
-
-
-// String title = m_text;
DefaultValueDataset data = new DefaultValueDataset((float)m_goal.getPercent());
MeterPlot plot = new MeterPlot(data);
- MColorSchema colorSchema = m_goal.getColorSchema();
+ MColorSchema colorSchema = m_goal.getColorSchema();
int rangeLo = 0; int rangeHi=0;
for (int i=1; i<=4; i++){
switch (i) {
@@ -150,50 +137,50 @@ public class WPerformanceIndicator extends Panel implements EventListener
new Range(rangeLo, rangeHi), //range
colorSchema.getColor(rangeHi),
new BasicStroke(7.0f),
- //Color.lightGray
new Color(-13091716)
- //Color.gray
));
rangeLo = rangeHi;
}
}
plot.setRange(new Range(0,rangeLo));
-
- plot.setDialBackgroundPaint(new Color(-13091716));//Color.GRAY);
- plot.setUnits(m_goal.getName());
- plot.setDialShape(DialShape.CHORD);//CIRCLE);
- //plot.setDialBackgroundPaint(new GradientPaint(0, 0, m_goal.getColor(), 0, 1000, Color.black));
- plot.setNeedlePaint(Color.white);
- plot.setTickSize(2000);
- plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 11));
- plot.setValueFont(new Font("SansSerif", Font.BOLD, 11));
- plot.setNoDataMessageFont(new Font("SansSerif", Font.BOLD, 11));
- plot.setTickLabelPaint(Color.white);
- plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
- chart = new JFreeChart( m_text, new Font("SansSerif", Font.BOLD, 11), plot,false);
-
+ plot.setDialBackgroundPaint(new Color(-13091716));
+ plot.setUnits("");
+ plot.setDialShape(DialShape.CHORD);//CIRCLE);
+ plot.setNeedlePaint(Color.white);
+ plot.setTickSize(2000);
+ plot.setTickLabelFont(new Font("SansSerif", Font.BOLD, 8));
+ plot.setValueFont(new Font("SansSerif", Font.BOLD, 8));
+ plot.setNoDataMessageFont(new Font("SansSerif", Font.BOLD, 8));
+ plot.setTickLabelPaint(Color.white);
+ plot.setInsets(new RectangleInsets(1.0, 2.0, 3.0, 4.0));
+
+ chart = new JFreeChart( m_text, new Font("SansSerif", Font.BOLD, 9), plot,false);
+
return chart;
}
-
+
/**
* Init Graph Display
* Kinamo (pelgrim)
*/
- private void init()
+ private void init()
{
JFreeChart chart = createChart();
-
- BufferedImage bi = chart.createBufferedImage(200, 120, BufferedImage.TRANSLUCENT , null);
+ chart.setBackgroundPaint(Color.WHITE);
+ chart.setBorderVisible(true);
+ chart.setBorderPaint(Color.LIGHT_GRAY);
+ chart.setAntiAlias(true);
+ BufferedImage bi = chart.createBufferedImage(200, 120, BufferedImage.TRANSLUCENT , null);
try {
byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);
-
+
AImage image = new AImage("", bytes);
Image myImage = new Image();
myImage.setContent(image);
appendChild(myImage);
- }
- catch (Exception e)
+ }
+ catch (Exception e)
{
// TODO: handle exception
}
@@ -210,119 +197,8 @@ public class WPerformanceIndicator extends Panel implements EventListener
chartPanel.setChart(createChart());
invalidate();
} // updateData
-
- /**************************************************************************
- * 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 ActionListener
s added
- * to this indicator with addActionListener().
- *
- * @return all of the ActionListener
s 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
- public void mousePressed (MouseEvent e)
+ public void onEvent(Event event) throws Exception
{
}
-
- public void mouseReleased (MouseEvent e)
- {
- }
-
- public void mouseEntered (MouseEvent e)
- {
- }
-
- public void mouseExited (MouseEvent e)
- {
- }
-*/
- /**
- * Action Listener.
- * Update Display
- * @param e event
- */
-/* public void actionPerformed (ActionEvent e)
- {
- if (e.getSource() == mRefresh)
- {
- m_goal.updateGoal(true);
- updateDisplay();
- //
- Container parent = getParent();
- if (parent != null)
- parent.invalidate();
- invalidate();
- if (parent != null)
- parent.repaint();
- else
- repaint();
- }
- } // actionPerformed
-*/
- public void onEvent(Event event) throws Exception
- {
-// Component comp = event.getTarget();
-// String eventName = event.getName();
- }
}