-package org.simantics.trend;\r
-\r
-import java.awt.BorderLayout;\r
-import java.awt.Dimension;\r
-import java.awt.event.WindowAdapter;\r
-import java.awt.event.WindowEvent;\r
-\r
-import javax.swing.JFrame;\r
-\r
-import org.simantics.g2d.canvas.impl.CanvasContext;\r
-import org.simantics.g2d.chassis.AWTChassis;\r
-import org.simantics.g2d.image.DefaultImages;\r
-import org.simantics.history.HistoryException;\r
-import org.simantics.history.HistoryManager;\r
-import org.simantics.history.util.subscription.SubscriptionItem;\r
-import org.simantics.trend.configuration.Scale;\r
-import org.simantics.trend.configuration.TrendItem;\r
-import org.simantics.trend.configuration.TrendSamplingFormats;\r
-import org.simantics.trend.configuration.TrendSpec;\r
-import org.simantics.trend.configuration.YAxisMode;\r
-import org.simantics.trend.impl.TrendNode;\r
-import org.simantics.trend.impl.TrendParticipant;\r
-import org.simantics.utils.datastructures.hints.IHintContext;\r
-import org.simantics.utils.threads.AWTThread;\r
-import org.simantics.utils.threads.IThreadWorkQueue;\r
-\r
-/**\r
- * In thist\r
- *\r
- * @author toni.kalajainen@semantum.fi\r
- */\r
-public class TestSetTrendConfig {\r
- \r
- public static void main(String[] args) throws Exception {\r
- System.out.println(DefaultImages.HAND);\r
- final TestData data = new TestData();\r
- addSomeHistoryItems( data.historyManager );\r
-\r
- final TrendSpec trendSpec = new TrendSpec();\r
- trendSpec.init();\r
- trendSpec.viewProfile.showMilestones = true;\r
- trendSpec.name = "Multiple Y-Axis DemoTrend";\r
- trendSpec.axisMode = YAxisMode.MultiAxis; \r
-\r
- trendSpec.items.add( new TrendItem( 1, "Sine", data.subscriptionId, "Sine", new Scale.Manual( -1, 1), TrendItem.Renderer.Analog ) );\r
- trendSpec.items.add( new TrendItem( 2, "Ramp", data.subscriptionId,"Ramp", new Scale.Manual(-100,100), TrendItem.Renderer.Binary ) );\r
- trendSpec.items.add( new TrendItem( 3, "Random", data.subscriptionId, "Random", new Scale.Auto(), TrendItem.Renderer.Analog ) );\r
- trendSpec.viewProfile.profileName = "Profile";\r
- trendSpec.viewProfile.timeWindow.timeWindowIncrement = 75.0;\r
-\r
- // JFrame has double buffering enabled by default\r
- JFrame frame = new JFrame("Demo Trend");\r
- // Add a window listener for close button\r
- frame.addWindowListener(new WindowAdapter() {\r
- @Override\r
- public void windowClosing(WindowEvent e) {\r
- data.dispose();\r
- System.exit(0);\r
- }\r
- });\r
-\r
- data.solver.start();\r
- \r
- // This is an empty content area in the frame\r
- AWTChassis chassis = new AWTChassis();\r
-\r
- chassis.setPreferredSize(new Dimension(480, 320));\r
- \r
- frame.getContentPane().add(chassis, BorderLayout.CENTER);\r
- frame.pack();\r
-\r
- frame.setVisible(true);\r
- chassis.requestFocus();\r
-\r
- IThreadWorkQueue thread = AWTThread.getThreadAccess();\r
-\r
- long startTime = System.currentTimeMillis();\r
- CanvasContext ctx = TrendInitializer.createDefaultCanvas(thread, data.historyManager, data.collector, data.solver, trendSpec);\r
- @SuppressWarnings("unused")\r
- TrendNode node = TrendInitializer.getTrendNode( ctx );\r
- long endTime = System.currentTimeMillis();\r
- long elapsedTime = endTime - startTime;\r
- System.out.println( elapsedTime );\r
- \r
- ctx.getAtMostOneItemOfClass(TrendParticipant.class).setHintAsync(TrendParticipant.KEY_TREND_DRAW_INTERVAL, 1000L);\r
- \r
- @SuppressWarnings("unused")\r
- IHintContext hintCtx = ctx.getDefaultHintContext();\r
-\r
- chassis.setCanvasContext(ctx);\r
- }\r
-\r
- static void addSomeHistoryItems(HistoryManager history) throws HistoryException {\r
- String subscriptionId = "abc";\r
- for (int i=0; i<2000; i++) {\r
- SubscriptionItem[] hi = null;\r
- String id = "id"+i;\r
- hi = SubscriptionItem.createItems( id, subscriptionId, TrendSamplingFormats.createAnalogSamplingFormats(0, 0, "") );\r
- history.create(hi);\r
- }\r
- }\r
- \r
- \r
-}\r
+package org.simantics.trend;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import javax.swing.JFrame;
+
+import org.simantics.g2d.canvas.impl.CanvasContext;
+import org.simantics.g2d.chassis.AWTChassis;
+import org.simantics.g2d.image.DefaultImages;
+import org.simantics.history.HistoryException;
+import org.simantics.history.HistoryManager;
+import org.simantics.history.util.subscription.SubscriptionItem;
+import org.simantics.trend.configuration.Scale;
+import org.simantics.trend.configuration.TrendItem;
+import org.simantics.trend.configuration.TrendSamplingFormats;
+import org.simantics.trend.configuration.TrendSpec;
+import org.simantics.trend.configuration.YAxisMode;
+import org.simantics.trend.impl.TrendNode;
+import org.simantics.trend.impl.TrendParticipant;
+import org.simantics.utils.datastructures.hints.IHintContext;
+import org.simantics.utils.threads.AWTThread;
+import org.simantics.utils.threads.IThreadWorkQueue;
+
+/**
+ * In thist
+ *
+ * @author toni.kalajainen@semantum.fi
+ */
+public class TestSetTrendConfig {
+
+ public static void main(String[] args) throws Exception {
+ System.out.println(DefaultImages.HAND);
+ final TestData data = new TestData();
+ addSomeHistoryItems( data.historyManager );
+
+ final TrendSpec trendSpec = new TrendSpec();
+ trendSpec.init();
+ trendSpec.viewProfile.showMilestones = true;
+ trendSpec.name = "Multiple Y-Axis DemoTrend";
+ trendSpec.axisMode = YAxisMode.MultiAxis;
+
+ trendSpec.items.add( new TrendItem( 1, "Sine", data.subscriptionId, "Sine", new Scale.Manual( -1, 1), TrendItem.Renderer.Analog ) );
+ trendSpec.items.add( new TrendItem( 2, "Ramp", data.subscriptionId,"Ramp", new Scale.Manual(-100,100), TrendItem.Renderer.Binary ) );
+ trendSpec.items.add( new TrendItem( 3, "Random", data.subscriptionId, "Random", new Scale.Auto(), TrendItem.Renderer.Analog ) );
+ trendSpec.viewProfile.profileName = "Profile";
+ trendSpec.viewProfile.timeWindow.timeWindowIncrement = 75.0;
+
+ // JFrame has double buffering enabled by default
+ JFrame frame = new JFrame("Demo Trend");
+ // Add a window listener for close button
+ frame.addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent e) {
+ data.dispose();
+ System.exit(0);
+ }
+ });
+
+ data.solver.start();
+
+ // This is an empty content area in the frame
+ AWTChassis chassis = new AWTChassis();
+
+ chassis.setPreferredSize(new Dimension(480, 320));
+
+ frame.getContentPane().add(chassis, BorderLayout.CENTER);
+ frame.pack();
+
+ frame.setVisible(true);
+ chassis.requestFocus();
+
+ IThreadWorkQueue thread = AWTThread.getThreadAccess();
+
+ long startTime = System.currentTimeMillis();
+ CanvasContext ctx = TrendInitializer.createDefaultCanvas(thread, data.historyManager, data.collector, data.solver, trendSpec);
+ @SuppressWarnings("unused")
+ TrendNode node = TrendInitializer.getTrendNode( ctx );
+ long endTime = System.currentTimeMillis();
+ long elapsedTime = endTime - startTime;
+ System.out.println( elapsedTime );
+
+ ctx.getAtMostOneItemOfClass(TrendParticipant.class).setHintAsync(TrendParticipant.KEY_TREND_DRAW_INTERVAL, 1000L);
+
+ @SuppressWarnings("unused")
+ IHintContext hintCtx = ctx.getDefaultHintContext();
+
+ chassis.setCanvasContext(ctx);
+ }
+
+ static void addSomeHistoryItems(HistoryManager history) throws HistoryException {
+ String subscriptionId = "abc";
+ for (int i=0; i<2000; i++) {
+ SubscriptionItem[] hi = null;
+ String id = "id"+i;
+ hi = SubscriptionItem.createItems( id, subscriptionId, TrendSamplingFormats.createAnalogSamplingFormats(0, 0, "") );
+ history.create(hi);
+ }
+ }
+
+
+}