]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.g2d/src/org/simantics/g2d/example/chassis/ConnectExample.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / example / chassis / ConnectExample.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.g2d.example.chassis;
13
14 import java.awt.BorderLayout;
15 import java.awt.Dimension;
16 import java.awt.event.WindowAdapter;
17 import java.awt.event.WindowEvent;
18
19 import javax.swing.JFrame;
20
21 import org.simantics.g2d.canvas.impl.CanvasContext;
22 import org.simantics.g2d.chassis.AWTChassis;
23 import org.simantics.g2d.diagram.DiagramHints;
24 import org.simantics.g2d.diagram.IDiagram;
25 import org.simantics.g2d.example.TestCanvas;
26 import org.simantics.g2d.image.DefaultImages;
27 import org.simantics.utils.datastructures.hints.IHintContext;
28 import org.simantics.utils.threads.AWTThread;
29 import org.simantics.utils.threads.IThreadWorkQueue;
30
31 /**
32  * Run this example with VM args: -Dsun.java2d.opengl=true
33  * @author Toni Kalajainen
34  */
35 public class ConnectExample {
36
37     public static void main(String[] args) {
38         System.out.println(DefaultImages.HAND);
39
40         // JFrame has double buffering, enabled by default
41         JFrame frame = new JFrame("Hello World");
42         // Add a window listner for close button
43         frame.addWindowListener(new WindowAdapter() {
44             @Override
45             public void windowClosing(WindowEvent e) {
46                 System.exit(0);
47             }
48         });
49         // This is an empty content area in the frame
50         AWTChassis chassis = new AWTChassis();
51
52         chassis.setPreferredSize(new Dimension(480, 320));
53
54         // There is a background painter in canvas context (==it is opaque)
55         chassis.setOpaque(true);
56         frame.getContentPane().add(chassis, BorderLayout.CENTER);
57         frame.pack();
58
59         frame.setVisible(true);
60         chassis.requestFocus();
61
62         IThreadWorkQueue    thread  = AWTThread.getThreadAccess();
63         CanvasContext       ctx     = TestCanvas.createDefaultCanvas(thread);
64 //        ctx.remove( ctx.getAtMostOneItemOfClass(HandPainter.class) );
65         IHintContext        hintCtx = ctx.getDefaultHintContext();
66         IDiagram            diagram = TestCanvas.createConnectTestDiagram();
67
68         hintCtx.setHint(DiagramHints.KEY_DIAGRAM, diagram);
69         chassis.setCanvasContext(ctx);
70     }
71
72 }