Mercurial > projects > dwt-mac
annotate dwt/custom/CBanner.d @ 156:969e7de37c3d default tip
Fixes to get dwt to work with dmd and ldc
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Wed, 08 Jul 2009 21:56:44 +0200 |
parents | 6337764516f1 |
children |
rev | line source |
---|---|
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
1 /******************************************************************************* |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
2 * Copyright (c) 2000, 2008 IBM Corporation and others. |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
7 * |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
8 * Contributors: |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
13
f565d3a95c0a
Ported dwt.internal
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
10 * Port to the D programming language: |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
11 * Frank Benoit <benoit@tionex.de> |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
12 *******************************************************************************/ |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
13 module dwt.custom.CBanner; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
14 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
15 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
16 |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
17 import dwt.DWT; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
18 import dwt.DWTException; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
19 import dwt.graphics.Color; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
20 import dwt.graphics.Cursor; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
21 import dwt.graphics.GC; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
22 import dwt.graphics.Point; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
23 import dwt.graphics.RGB; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
24 import dwt.graphics.Rectangle; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
25 import dwt.widgets.Composite; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
26 import dwt.widgets.Control; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
27 import dwt.widgets.Event; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
28 import dwt.widgets.Layout; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
29 import dwt.widgets.Listener; |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
30 import dwt.custom.CBannerLayout; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
31 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
32 import Math = tango.math.Math; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
33 |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
34 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
35 /** |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
36 * Instances of this class implement a Composite that lays out its |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
37 * children and allows programmatic control of the layout. It draws |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
38 * a separator between the left and right children which can be dragged |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
39 * to resize the right control. |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
40 * CBanner is used in the workbench to layout the toolbar area and |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
41 * perspective switching toolbar. |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
42 * <p> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
43 * Note that although this class is a subclass of <code>Composite</code>, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
44 * it does not make sense to set a layout on it. |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
45 * </p><p> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
46 * <dl> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
47 * <dt><b>Styles:</b></dt> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
48 * <dd>NONE</dd> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
49 * <dt><b>Events:</b></dt> |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
50 * <dd>(None)</dd> |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
51 * </dl> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
52 * <p> |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
53 * IMPORTANT: This class is <em>not</em> intended to be subclassed. |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
54 * </p> |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
55 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
56 * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
57 * |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
58 * @since 3.0 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
59 */ |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
60 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
61 public class CBanner : Composite { |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
62 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
63 Control left; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
64 Control right; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
65 Control bottom; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
66 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
67 bool simple = true; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
68 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
69 int[] curve; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
70 int curveStart = 0; |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
71 Rectangle curveRect; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
72 int curve_width = 5; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
73 int curve_indent = -2; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
74 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
75 int rightWidth = DWT.DEFAULT; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
76 int rightMinWidth = 0; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
77 int rightMinHeight = 0; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
78 Cursor resizeCursor; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
79 bool dragging = false; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
80 int rightDragDisplacement = 0; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
81 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
82 static const int OFFSCREEN = -200; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
83 static const int BORDER_BOTTOM = 2; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
84 static const int BORDER_TOP = 3; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
85 static const int BORDER_STRIPE = 1; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
86 static const int CURVE_TAIL = 200; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
87 static const int BEZIER_RIGHT = 30; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
88 static const int BEZIER_LEFT = 30; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
89 static const int MIN_LEFT = 10; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
90 static int BORDER1 = DWT.COLOR_WIDGET_HIGHLIGHT_SHADOW; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
91 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
92 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
93 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
94 * Constructs a new instance of this class given its parent |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
95 * and a style value describing its behavior and appearance. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
96 * <p> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
97 * The style value is either one of the style constants defined in |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
98 * class <code>DWT</code> which is applicable to instances of this |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
99 * class, or must be built by <em>bitwise OR</em>'ing together |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
100 * (that is, using the <code>int</code> "|" operator) two or more |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
101 * of those <code>DWT</code> style constants. The class description |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
102 * lists the style constants that are applicable to the class. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
103 * Style bits are also inherited from superclasses. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
104 * </p> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
105 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
106 * @param parent a widget which will be the parent of the new instance (cannot be null) |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
107 * @param style the style of widget to construct |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
108 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
109 * @exception IllegalArgumentException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
110 * <li>ERROR_NULL_ARGUMENT - if the parent is null</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
111 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
112 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
113 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
114 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
115 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
116 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
117 public this(Composite parent, int style) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
118 curveRect = new Rectangle(0, 0, 0, 0); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
119 super(parent, checkStyle(style)); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
120 super.setLayout(new CBannerLayout()); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
121 resizeCursor = new Cursor(getDisplay(), DWT.CURSOR_SIZEWE); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
122 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
123 Listener listener = new class() Listener { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
124 public void handleEvent(Event e) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
125 switch (e.type) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
126 case DWT.Dispose: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
127 onDispose(); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
128 case DWT.MouseDown: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
129 onMouseDown (e.x, e.y); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
130 case DWT.MouseExit: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
131 onMouseExit(); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
132 case DWT.MouseMove: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
133 onMouseMove(e.x, e.y); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
134 case DWT.MouseUp: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
135 onMouseUp(); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
136 case DWT.Paint: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
137 onPaint(e.gc); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
138 case DWT.Resize: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
139 onResize(); break; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
140 default: |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
141 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
142 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
143 }; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
144 int[] events = [DWT.Dispose, DWT.MouseDown, DWT.MouseExit, DWT.MouseMove, DWT.MouseUp, DWT.Paint, DWT.Resize]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
145 for (int i = 0; i < events.length; i++) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
146 addListener(events[i], listener); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
147 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
148 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
149 static int[] bezier(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, int count) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
150 // The parametric equations for a Bezier curve for x[t] and y[t] where 0 <= t <=1 are: |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
151 // x[t] = x0+3(x1-x0)t+3(x0+x2-2x1)t^2+(x3-x0+3x1-3x2)t^3 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
152 // y[t] = y0+3(y1-y0)t+3(y0+y2-2y1)t^2+(y3-y0+3y1-3y2)t^3 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
153 double a0 = x0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
154 double a1 = 3*(x1 - x0); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
155 double a2 = 3*(x0 + x2 - 2*x1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
156 double a3 = x3 - x0 + 3*x1 - 3*x2; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
157 double b0 = y0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
158 double b1 = 3*(y1 - y0); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
159 double b2 = 3*(y0 + y2 - 2*y1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
160 double b3 = y3 - y0 + 3*y1 - 3*y2; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
161 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
162 int[] polygon = new int[2*count + 2]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
163 for (int i = 0; i <= count; i++) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
164 double t = cast(double)i / cast(double)count; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
165 polygon[2*i] = cast(int)(a0 + a1*t + a2*t*t + a3*t*t*t); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
166 polygon[2*i + 1] = cast(int)(b0 + b1*t + b2*t*t + b3*t*t*t); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
167 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
168 return polygon; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
169 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
170 static int checkStyle (int style) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
171 return DWT.NONE; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
172 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
173 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
174 * Returns the Control that appears on the bottom side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
175 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
176 * @return the control that appears on the bottom side of the banner or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
177 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
178 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
179 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
180 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
181 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
182 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
183 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
184 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
185 public Control getBottom() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
186 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
187 return bottom; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
188 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
189 public override Rectangle getClientArea() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
190 return new Rectangle(0, 0, 0, 0); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
191 } |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
192 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
193 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
194 * Returns the Control that appears on the left side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
195 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
196 * @return the control that appears on the left side of the banner or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
197 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
198 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
199 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
200 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
201 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
202 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
203 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
204 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
205 public Control getLeft() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
206 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
207 return left; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
208 } |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
209 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
210 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
211 * Returns the Control that appears on the right side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
212 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
213 * @return the control that appears on the right side of the banner or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
214 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
215 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
216 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
217 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
218 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
219 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
220 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
221 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
222 public Control getRight() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
223 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
224 return right; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
225 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
226 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
227 * Returns the minimum size of the control that appears on the right of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
228 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
229 * @return the minimum size of the control that appears on the right of the banner |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
230 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
231 * @since 3.1 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
232 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
233 public Point getRightMinimumSize() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
234 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
235 return new Point(rightMinWidth, rightMinHeight); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
236 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
237 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
238 * Returns the width of the control that appears on the right of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
239 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
240 * @return the width of the control that appears on the right of the banner |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
241 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
242 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
243 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
244 public int getRightWidth() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
245 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
246 if (right is null) return 0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
247 if (rightWidth is DWT.DEFAULT) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
248 Point size = right.computeSize(DWT.DEFAULT, DWT.DEFAULT, false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
249 return size.x; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
250 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
251 return rightWidth; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
252 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
253 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
254 * Returns <code>true</code> if the CBanner is rendered |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
255 * with a simple, traditional shape. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
256 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
257 * @return <code>true</code> if the CBanner is rendered with a simple shape |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
258 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
259 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
260 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
261 public bool getSimple() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
262 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
263 return simple; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
264 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
265 void onDispose() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
266 if (resizeCursor !is null) resizeCursor.dispose(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
267 resizeCursor = null; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
268 left = null; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
269 right = null; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
270 bottom = null; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
271 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
272 void onMouseDown (int x, int y) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
273 if (curveRect.contains(x, y)) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
274 dragging = true; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
275 rightDragDisplacement = curveStart - x + curve_width - curve_indent; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
276 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
277 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
278 void onMouseExit() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
279 if (!dragging) setCursor(null); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
280 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
281 void onMouseMove(int x, int y) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
282 if (dragging) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
283 Point size = getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
284 if (!(0 < x && x < size.x)) return; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
285 rightWidth = Math.max(0, size.x - x - rightDragDisplacement); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
286 if (rightMinWidth is DWT.DEFAULT) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
287 Point minSize = right.computeSize(rightMinWidth, rightMinHeight); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
288 rightWidth = Math.max(minSize.x, rightWidth); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
289 } else { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
290 rightWidth = Math.max(rightMinWidth, rightWidth); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
291 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
292 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
293 return; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
294 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
295 if (curveRect.contains(x, y)) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
296 setCursor(resizeCursor); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
297 } else { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
298 setCursor(null); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
299 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
300 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
301 void onMouseUp () { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
302 dragging = false; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
303 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
304 void onPaint(GC gc) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
305 // Useful for debugging paint problems |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
306 // { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
307 // Point size = getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
308 // gc.setBackground(getDisplay().getSystemColor(DWT.COLOR_GREEN)); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
309 // gc.fillRectangle(-10, -10, size.x+20, size.y+20); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
310 // } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
311 if (left is null && right is null) return; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
312 Point size = getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
313 Color border1 = getDisplay().getSystemColor(BORDER1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
314 if (bottom !is null) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
315 int y = bottom.getBounds().y - BORDER_STRIPE - 1; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
316 gc.setForeground(border1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
317 gc.drawLine(0, y, size.x, y); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
318 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
319 if (left is null || right is null) return; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
320 int[] line1 = new int[curve.length+6]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
321 int index = 0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
322 int x = curveStart; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
323 line1[index++] = x + 1; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
324 line1[index++] = size.y - BORDER_STRIPE; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
325 for (int i = 0; i < curve.length/2; i++) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
326 line1[index++]=x+curve[2*i]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
327 line1[index++]=curve[2*i+1]; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
328 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
329 line1[index++] = x + curve_width; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
330 line1[index++] = 0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
331 line1[index++] = size.x; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
332 line1[index++] = 0; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
333 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
334 Color background = getBackground(); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
335 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
336 if (getDisplay().getDepth() >= 15) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
337 // Anti- aliasing |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
338 int[] line2 = new int[line1.length]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
339 index = 0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
340 for (int i = 0; i < line1.length/2; i++) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
341 line2[index] = line1[index++] - 1; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
342 line2[index] = line1[index++]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
343 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
344 int[] line3 = new int[line1.length]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
345 index = 0; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
346 for (int i = 0; i < line1.length/2; i++) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
347 line3[index] = line1[index++] + 1; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
348 line3[index] = line1[index++]; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
349 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
350 RGB from = border1.getRGB(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
351 RGB to = background.getRGB(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
352 int red = from.red + 3*(to.red - from.red)/4; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
353 int green = from.green + 3*(to.green - from.green)/4; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
354 int blue = from.blue + 3*(to.blue - from.blue)/4; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
355 Color color = new Color(getDisplay(), red, green, blue); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
356 gc.setForeground(color); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
357 gc.drawPolyline(line2); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
358 gc.drawPolyline(line3); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
359 color.dispose(); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
360 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
361 // draw tail fading to background |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
362 int x1 = Math.max(0, curveStart - CURVE_TAIL); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
363 gc.setForeground(background); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
364 gc.setBackground(border1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
365 gc.fillGradientRectangle(x1, size.y - BORDER_STRIPE, curveStart-x1+1, 1, false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
366 } else { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
367 // draw solid tail |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
368 int x1 = Math.max(0, curveStart - CURVE_TAIL); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
369 gc.setForeground(border1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
370 gc.drawLine(x1, size.y - BORDER_STRIPE, curveStart+1, size.y - BORDER_STRIPE); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
371 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
372 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
373 // draw border |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
374 gc.setForeground(border1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
375 gc.drawPolyline(line1); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
376 } |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
377 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
378 void onResize() { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
379 updateCurve(getSize().y); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
380 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
381 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
382 * Set the control that appears on the bottom side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
383 * The bottom control is optional. Setting the bottom control to null will remove it from |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
384 * the banner - however, the creator of the control must dispose of the control. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
385 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
386 * @param control the control to be displayed on the bottom or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
387 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
388 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
389 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
390 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
391 * <li>ERROR_INVALID_ARGUMENT - if the bottom control was not created as a child of the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
392 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
393 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
394 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
395 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
396 public void setBottom(Control control) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
397 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
398 if (control !is null && control.getParent() !is this) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
399 DWT.error(DWT.ERROR_INVALID_ARGUMENT); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
400 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
401 if (bottom !is null && !bottom.isDisposed()) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
402 Point size = bottom.getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
403 bottom.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
404 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
405 bottom = control; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
406 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
407 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
408 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
409 * Sets the layout which is associated with the receiver to be |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
410 * the argument which may be null. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
411 * <p> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
412 * Note: No Layout can be set on this Control because it already |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
413 * manages the size and position of its children. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
414 * </p> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
415 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
416 * @param layout the receiver's new layout or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
417 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
418 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
419 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
420 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
421 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
422 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
423 public override void setLayout (Layout layout) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
424 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
425 return; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
426 } |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
427 |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
428 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
429 * Set the control that appears on the left side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
430 * The left control is optional. Setting the left control to null will remove it from |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
431 * the banner - however, the creator of the control must dispose of the control. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
432 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
433 * @param control the control to be displayed on the left or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
434 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
435 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
436 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
437 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
438 * <li>ERROR_INVALID_ARGUMENT - if the left control was not created as a child of the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
439 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
440 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
441 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
442 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
443 public void setLeft(Control control) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
444 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
445 if (control !is null && control.getParent() !is this) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
446 DWT.error(DWT.ERROR_INVALID_ARGUMENT); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
447 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
448 if (left !is null && !left.isDisposed()) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
449 Point size = left.getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
450 left.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
451 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
452 left = control; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
453 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
454 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
455 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
456 * Set the control that appears on the right side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
457 * The right control is optional. Setting the right control to null will remove it from |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
458 * the banner - however, the creator of the control must dispose of the control. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
459 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
460 * @param control the control to be displayed on the right or null |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
461 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
462 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
463 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
464 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
465 * <li>ERROR_INVALID_ARGUMENT - if the right control was not created as a child of the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
466 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
467 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
468 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
469 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
470 public void setRight(Control control) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
471 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
472 if (control !is null && control.getParent() !is this) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
473 DWT.error(DWT.ERROR_INVALID_ARGUMENT); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
474 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
475 if (right !is null && !right.isDisposed()) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
476 Point size = right.getSize(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
477 right.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
478 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
479 right = control; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
480 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
481 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
482 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
483 * Set the minimum height of the control that appears on the right side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
484 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
485 * @param size the minimum size of the control on the right |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
486 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
487 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
488 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
489 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
490 * <li>ERROR_INVALID_ARGUMENT - if the size is null or the values of size are less than DWT.DEFAULT</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
491 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
492 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
493 * @since 3.1 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
494 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
495 public void setRightMinimumSize(Point size) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
496 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
497 if (size is null || size.x < DWT.DEFAULT || size.y < DWT.DEFAULT) DWT.error(DWT.ERROR_INVALID_ARGUMENT); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
498 rightMinWidth = size.x; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
499 rightMinHeight = size.y; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
500 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
501 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
502 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
503 * Set the width of the control that appears on the right side of the banner. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
504 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
505 * @param width the width of the control on the right |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
506 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
507 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
508 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
509 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
510 * <li>ERROR_INVALID_ARGUMENT - if width is less than DWT.DEFAULT</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
511 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
512 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
513 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
514 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
515 public void setRightWidth(int width) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
516 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
517 if (width < DWT.DEFAULT) DWT.error(DWT.ERROR_INVALID_ARGUMENT); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
518 rightWidth = width; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
519 layout(false); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
520 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
521 /** |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
522 * Sets the shape that the CBanner will use to render itself. |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
523 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
524 * @param simple <code>true</code> if the CBanner should render itself in a simple, traditional style |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
525 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
526 * @exception DWTException <ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
527 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
528 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
529 * </ul> |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
530 * |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
531 * @since 3.0 |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
532 */ |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
533 public void setSimple(bool simple) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
534 checkWidget(); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
535 if (this.simple !is simple) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
536 this.simple = simple; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
537 if (simple) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
538 curve_width = 5; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
539 curve_indent = -2; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
540 } else { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
541 curve_width = 50; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
542 curve_indent = 5; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
543 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
544 updateCurve(getSize().y); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
545 layout(false); |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
546 redraw(); |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
547 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
548 } |
41
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
549 void updateCurve(int height) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
550 int h = height - BORDER_STRIPE; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
551 if (simple) { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
552 curve = [0,h, 1,h, 2,h-1, 3,h-2, |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
553 3,2, 4,1, 5,0]; |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
554 } else { |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
555 curve = bezier(0, h+1, BEZIER_LEFT, h+1, |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
556 curve_width-BEZIER_RIGHT, 0, curve_width, 0, |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
557 curve_width); |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
558 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
559 } |
6337764516f1
Sync dwt/custom with dwt-linux (took copy of complete folder)
Frank Benoit <benoit@tionex.de>
parents:
17
diff
changeset
|
560 } |