home *** CD-ROM | disk | FTP | other *** search
- import corel.webdata.AnalyzerCheckbox;
- import corel.webdata.AnalyzerChoice;
- import corel.webdata.AnalyzerOption;
- import corel.webdata.AnalyzerPanel;
- import corel.webdata.Chart;
- import corel.webdata.HARes;
- import corel.webdata.RangeElement;
- import corel.webdata.View;
- import java.applet.Applet;
- import java.awt.BorderLayout;
- import java.awt.Checkbox;
- import java.awt.Choice;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Frame;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class AnalyzerApplet extends Applet implements Runnable {
- protected boolean isInFrame;
- protected AnalyzerPanel notebook;
- protected AnalyzerPanel chartPage;
- protected AnalyzerPanel viewPage;
- protected Chart chart;
- protected View view;
- protected AnalyzerChoice chartTypeCombo;
- protected AnalyzerCheckbox printValues;
- protected AnalyzerCheckbox grid;
- protected AnalyzerCheckbox stacked;
- protected AnalyzerCheckbox legend;
- protected AnalyzerCheckbox shadow;
- protected AnalyzerCheckbox percentage;
- protected AnalyzerCheckbox absvalues;
- protected AnalyzerCheckbox separate;
- protected AnalyzerCheckbox sepBiggest;
- protected AnalyzerCheckbox marks;
- protected Hashtable attributesSwitches = new Hashtable();
- protected String currentViewData;
- protected String strRange;
- protected boolean rowRange = false;
- protected boolean columnRange = false;
- protected Vector rangeElements = new Vector();
-
- public void init() {
- Object var1 = this;
- ((Component)this).setBackground(Color.lightGray);
- this.strRange = ((Applet)this).getParameter(HARes.HA_PARAM_RANGE);
- this.setRange(this.strRange);
- String var5 = ((Applet)this).getParameter(HARes.HA_PARAM_FRAME);
- this.isInFrame = var5 == null ? false : Boolean.valueOf(var5);
- if (this.isInFrame) {
- var1 = new AnalyzerFrame(this, HARes.HA_APPLET_NAME);
- }
-
- var5 = ((Applet)this).getParameter(HARes.HA_PARAM_WIDTH);
-
- int var2;
- try {
- var2 = var5 == null ? 500 : Integer.valueOf(var5);
- } catch (Exception var8) {
- var2 = 500;
- }
-
- var5 = ((Applet)this).getParameter(HARes.HA_PARAM_HEIGHT);
-
- int var3;
- try {
- var3 = var5 == null ? 300 : Integer.valueOf(var5);
- } catch (Exception var7) {
- var3 = 300;
- }
-
- var5 = ((Applet)this).getParameter(HARes.HA_PARAM_CHARTONLY);
- boolean var4 = var5 == null ? false : Boolean.valueOf(var5);
- ((Container)var1).setLayout(new BorderLayout());
- if (var4) {
- this.chart = new Chart(this);
- this.chart.getAppletParameters(this);
- this.chart.initializeLayout();
- this.chart.setValue(this.chart.getValue());
- ((Container)var1).add("Center", this.chart);
- } else {
- this.notebook = new AnalyzerPanel(this, 3);
- Hashtable var6 = new Hashtable();
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_PAGE_CHART);
- this.chartPage = new AnalyzerPanel(this);
- this.chartPage.translateAttributes(var6);
- this.notebook.addAnalyzerControl(this.chartPage, HARes.HF_CTRL_PAGE, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_PAGE_VIEW);
- this.viewPage = new AnalyzerPanel(this);
- this.viewPage.translateAttributes(var6);
- this.notebook.addAnalyzerControl(this.viewPage, HARes.HF_CTRL_PAGE, var6);
- var6.clear();
- this.chartTypeCombo = new AnalyzerChoice();
- this.chartTypeCombo.addAnalyzerControl(new AnalyzerOption(HARes.HC_TYPE_COLUMN), HARes.HF_CTRL_OPTION, var6);
- this.chartTypeCombo.addAnalyzerControl(new AnalyzerOption(HARes.HC_TYPE_BAR), HARes.HF_CTRL_OPTION, var6);
- this.chartTypeCombo.addAnalyzerControl(new AnalyzerOption(HARes.HC_TYPE_LINE), HARes.HF_CTRL_OPTION, var6);
- this.chartTypeCombo.addAnalyzerControl(new AnalyzerOption(HARes.HC_TYPE_PIE), HARes.HF_CTRL_OPTION, var6);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_WEST);
- this.chartPage.addAnalyzerControl(this.chartTypeCombo, HARes.HF_CTRL_SELECT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_GRID_CAPTION);
- var6.put(HARes.HF_ATTR_Y, "1");
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_WEST);
- this.grid = new AnalyzerCheckbox(false);
- this.grid.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.grid, HARes.HF_CTRL_INPUT, var6);
- this.grid.setState(true);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "2");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_SHOWVALUES_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_WEST);
- this.printValues = new AnalyzerCheckbox(false);
- this.printValues.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.printValues, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "3");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_STACKED_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.stacked = new AnalyzerCheckbox(false);
- this.stacked.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.stacked, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "4");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_LEGEND_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.legend = new AnalyzerCheckbox(false);
- this.legend.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.legend, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "5");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_SHADOW_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.shadow = new AnalyzerCheckbox(false);
- this.shadow.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.shadow, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "6");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_PERCENTAGE_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.percentage = new AnalyzerCheckbox(false);
- this.percentage.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.percentage, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "7");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_ABSOLUTEVALUES_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.absvalues = new AnalyzerCheckbox(false);
- this.absvalues.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.absvalues, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "8");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_SEPARATE_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.separate = new AnalyzerCheckbox(false);
- this.separate.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.separate, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "9");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_SEPARATEBIGGEST_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.sepBiggest = new AnalyzerCheckbox(false);
- this.sepBiggest.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.sepBiggest, HARes.HF_CTRL_INPUT, var6);
- var6.clear();
- var6.put(HARes.HF_ATTR_Y, "10");
- var6.put(HARes.HF_ATTR_CAPTION, HARes.HA_CTRL_MARKS_CAPTION);
- var6.put(HARes.HF_ATTR_ANCHOR, HARes.HF_ATTR_ANCHOR_NORTHWEST);
- this.marks = new AnalyzerCheckbox(false);
- this.marks.translateAttributes(var6);
- this.chartPage.addAnalyzerControl(this.marks, HARes.HF_CTRL_INPUT, var6);
- this.chart = new Chart(this);
- this.chart.getAppletParameters(this);
- this.chart.initializeLayout();
- this.chart.setValue(this.chart.getValue(), this.rowRange, this.columnRange, this.rangeElements);
- var6.clear();
- var6.put(HARes.HF_ATTR_X, "1");
- var6.put(HARes.HF_ATTR_GRIDHEIGHT, "11");
- var6.put(HARes.HF_ATTR_FILL, HARes.HF_ATTR_FILL_BOTH);
- var6.put(HARes.HF_ATTR_WEIGHTX, "1");
- var6.put(HARes.HF_ATTR_WEIGHTY, "1");
- this.chartPage.addAnalyzerControl(this.chart, HARes.HF_CTRL_HOTCHART, var6);
- this.view = new View(this);
- this.view.selectRange(this.rowRange, this.columnRange, this.rangeElements);
- this.viewPage.addAnalyzerControl(this.view, HARes.HF_CTRL_HOTVIEW, var6);
- ((Container)var1).add("Center", this.notebook);
- this.attributesSwitches.put(this.chartTypeCombo, HARes.HC_ATTR_TYPE);
- this.attributesSwitches.put(this.grid, HARes.HC_ATTR_GRID);
- this.attributesSwitches.put(this.printValues, HARes.HC_ATTR_VALUES);
- this.attributesSwitches.put(this.stacked, HARes.HC_ATTR_STACKED);
- this.attributesSwitches.put(this.shadow, HARes.HC_ATTR_SHADOW);
- this.attributesSwitches.put(this.legend, HARes.HC_ATTR_LEGEND);
- this.attributesSwitches.put(this.percentage, HARes.HC_ATTR_SHOWPERCENT);
- this.attributesSwitches.put(this.absvalues, HARes.HC_ATTR_SHOWVALUE);
- this.attributesSwitches.put(this.separate, HARes.HC_ATTR_SEPARATE);
- this.attributesSwitches.put(this.sepBiggest, HARes.HC_ATTR_SEPARATEBIGGEST);
- this.attributesSwitches.put(this.marks, HARes.HC_ATTR_MARKS);
- this.setupSwitches();
- this.currentViewData = this.view.getValue();
- }
-
- if (this.isInFrame) {
- ((Frame)var1).resize(var2, var3);
- ((Frame)var1).show();
- }
-
- }
-
- public void run() {
- }
-
- public boolean action(Event var1, Object var2) {
- if (var1.target == this.notebook && ((String)var2).equals(HARes.HA_PAGE_CHART)) {
- String var3 = this.view.getValue();
- if (!this.currentViewData.equals(var3)) {
- this.currentViewData = var3;
- this.chart.setValue(this.currentViewData);
- }
- }
-
- if (var1.target == this.chartTypeCombo) {
- this.chart.action(var1, this.chartTypeCombo.getSelectedItem().toLowerCase());
- this.setupSwitches();
- return true;
- } else if (this.attributesSwitches.containsKey(var1.target)) {
- this.chart.setAttribute((String)this.attributesSwitches.get(var1.target), new Boolean(((Checkbox)var1.target).getState()));
- return true;
- } else {
- return false;
- }
- }
-
- public void setupSwitches() {
- Enumeration var2 = this.attributesSwitches.keys();
-
- while(var2.hasMoreElements()) {
- Object var3 = var2.nextElement();
- boolean var1 = this.chart.hasAttribute((String)this.attributesSwitches.get(var3));
- if (var3 instanceof Choice) {
- Choice var8 = (Choice)var3;
- ((Component)var8).enable(var1);
- String var5 = (String)this.chart.getAttribute((String)this.attributesSwitches.get(var8));
- if (var5 != null) {
- int var6 = var8.countItems();
-
- for(int var7 = 0; var7 < var6; ++var7) {
- if (var5.equalsIgnoreCase(var8.getItem(var7))) {
- var8.select(var7);
- }
- }
- }
- } else if (var3 instanceof Checkbox) {
- Checkbox var4 = (Checkbox)var3;
- ((Component)var4).enable(var1);
- if (var1) {
- var4.setState((Boolean)this.chart.getAttribute((String)this.attributesSwitches.get(var4)));
- }
- }
- }
-
- }
-
- public String[][] getParameterInfo() {
- String[][] var1 = new String[][]{{HARes.HA_PARAM_FRAME, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_FRAME}, {HARes.HA_PARAM_WIDTH, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_WIDTH}, {HARes.HA_PARAM_HEIGHT, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_HEIGHT}, {HARes.HA_PARAM_DATA, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_DATA}, {HARes.HA_PARAM_VERTGRID, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_VERTGRID}, {HARes.HA_PARAM_3DGRID, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_3DGRID}, {HARes.HA_PARAM_NUMBEROFCOLUMNS, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_NUMBEROFCOLUMNS}, {HARes.HA_PARAM_COL_, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_COL_}, {HARes.HA_PARAM_TYPE_C_, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_TYPE_C_}, {HARes.HA_PARAM_TYPE, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_TYPE}, {HARes.HA_PARAM_LEGEND, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_LEGEND}, {HARes.HA_PARAM_TITLE, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_TITLE}, {HARes.HA_PARAM_CATEGORYTITLE, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_CATEGORYTITLE}, {HARes.HA_PARAM_VALUETITLE, HARes.PARAM_TYPE_STRING, HARes.HA_PARAMDESC_VALUETITLE}, {HARes.HA_PARAM_GRID, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_GRID}, {HARes.HA_PARAM_PRINTVALUES, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_PRINTVALUES}, {HARes.HA_PARAM_SRC, HARes.PARAM_TYPE_URL, HARes.HA_PARAMDESC_SRC}, {HARes.HA_PARAM_BACKGROUND, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_BACKGROUND}, {HARes.HA_PARAM_SHADOW, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_SHADOW}, {HARes.HA_PARAM_SHOWPERCENT, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_SHOWPERCENT}, {HARes.HA_PARAM_SHOWVALUE, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_SHOWVALUE}, {HARes.HA_PARAM_SEPARATE, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_SEPARATE}, {HARes.HA_PARAM_SEPARATEBIGGEST, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_SEPARATEBIGGEST}, {HARes.HA_PARAM_SEPARATIONFACTOR, HARes.PARAM_TYPE_INT, HARes.HA_PARAMDESC_SEPARATIONFACTOR}, {HARes.HA_PARAM_MARKS, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_MARKS}, {HARes.HA_PARAM_STACKED, HARes.PARAM_TYPE_BOOLEAN, HARes.HA_PARAMDESC_STACKED}};
- return var1;
- }
-
- public String getAppletInfo() {
- return HARes.HA_APPLET_INFO;
- }
-
- protected boolean setRange(String var1) {
- if (var1 != null && var1.length() != 0) {
- char var2 = var1.charAt(0);
- switch (var2) {
- case 'c':
- case 'r':
- this.rowRange = var2 == 'r';
- this.columnRange = var2 == 'c';
- StringTokenizer var3 = new StringTokenizer(var1.substring(1), ",");
-
- while(var3.hasMoreTokens()) {
- String var4 = var3.nextToken();
- RangeElement var5 = new RangeElement();
- StringTokenizer var6 = new StringTokenizer(var4, "-");
-
- while(var6.hasMoreTokens()) {
- int var7;
- try {
- var7 = Integer.parseInt(var6.nextToken());
- } catch (NumberFormatException var8) {
- this.rowRange = false;
- this.columnRange = false;
- return false;
- }
-
- if (var7 < 1) {
- this.rowRange = false;
- this.columnRange = false;
- return false;
- }
-
- var5.addNumber(var7);
- }
-
- this.rangeElements.addElement(var5);
- }
-
- if (this.columnRange && this.rangeElements.size() == 1) {
- RangeElement var9 = (RangeElement)this.rangeElements.elementAt(0);
- if (var9.check(1) && !var9.check(2)) {
- this.rowRange = false;
- this.columnRange = false;
- this.rangeElements = null;
- }
- }
-
- return true;
- default:
- this.rowRange = false;
- this.columnRange = false;
- return false;
- }
- } else {
- this.rowRange = false;
- this.columnRange = false;
- return false;
- }
- }
- }
-