]> git.argeo.org Git - gpl/argeo-suite.git/blobdiff - swt/org.argeo.app.swt/src/org/argeo/app/swt/chart/AbstractJsChart.java
Working JavaScript charts
[gpl/argeo-suite.git] / swt / org.argeo.app.swt / src / org / argeo / app / swt / chart / AbstractJsChart.java
diff --git a/swt/org.argeo.app.swt/src/org/argeo/app/swt/chart/AbstractJsChart.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/chart/AbstractJsChart.java
new file mode 100644 (file)
index 0000000..f114621
--- /dev/null
@@ -0,0 +1,27 @@
+package org.argeo.app.swt.chart;
+
+import org.argeo.app.swt.js.SwtBrowserJsPart;
+import org.eclipse.swt.widgets.Composite;
+
+/** Base class for charts. */
+public abstract class AbstractJsChart extends SwtBrowserJsPart {
+       private String chartName;
+
+       protected abstract String getJsImplementation();
+
+       public AbstractJsChart(String chartName, Composite parent, int style) {
+               super(parent, style, "/pkg/org.argeo.app.js/chart.html");
+               this.chartName = chartName;
+       }
+
+       @Override
+       protected void init() {
+               // create chart
+               doExecute(getJsChartVar() + " = new " + getJsImplementation() + "('" + chartName + "');");
+       }
+
+       protected String getJsChartVar() {
+               return getJsVarName(chartName);
+       }
+
+}