annotate jface/snippets/window/Snippet020CustomizedControlTooltips.d @ 146:7c4b76583cb8

Added new JFace snippets
author Frank Benoit <benoit@tionex.de>
date Mon, 11 Aug 2008 11:17:37 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
146
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2006 Tom Schindl and others.
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * Tom Schindl - initial API and implementation
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 *******************************************************************************/
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 module dwtx.jface.snippets.window.Snippet020CustomizedControlTooltips;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwtx.jface.resource.ImageDescriptor;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwtx.jface.resource.JFaceResources;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 import dwtx.jface.util.Policy;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwtx.jface.window.DefaultToolTip;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 import dwtx.jface.window.ToolTip;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.DWT;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwt.events.MouseAdapter;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.events.MouseEvent;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.events.SelectionAdapter;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.events.SelectionEvent;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwt.events.SelectionListener;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwt.graphics.Point;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwt.graphics.RGB;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 import dwt.layout.FillLayout;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 import dwt.layout.GridData;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 import dwt.layout.GridLayout;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 import dwt.layout.RowLayout;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 import dwt.widgets.Button;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 import dwt.widgets.Composite;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 import dwt.widgets.Control;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 import dwt.widgets.Display;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 import dwt.widgets.Event;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 import dwt.widgets.Label;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 import dwt.widgets.Link;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 import dwt.widgets.MessageBox;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 import dwt.widgets.Shell;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 import dwt.widgets.Text;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 import dwt.dwthelper.utils;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 version(JIVE) import jive.stacktrace;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 /**
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * Demonstrate usage of custom toolstips for controls
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 *
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * @author Tom Schindl
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 *
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 */
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 public class Snippet020CustomizedControlTooltips {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 protected class MyToolTip : ToolTip {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 private Shell parentShell;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 private String headerText = "ToolTip-Header";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 public static const String HEADER_BG_COLOR = Policy.JFACE ~ ".TOOLTIP_HEAD_BG_COLOR";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 public static const String HEADER_FG_COLOR = Policy.JFACE ~ ".TOOLTIP_HEAD_FG_COLOR";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 public static const String HEADER_FONT = Policy.JFACE ~ ".TOOLTIP_HEAD_FONT";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 public static const String HEADER_CLOSE_ICON = Policy.JFACE ~ ".TOOLTIP_CLOSE_ICON";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 public static const String HEADER_HELP_ICON = Policy.JFACE ~ ".TOOLTIP_HELP_ICON";
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 public this(Control control) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 super(control);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 this.parentShell = control.getShell();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 protected Composite createToolTipContentArea(Event event,
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 Composite parent) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 Composite comp = new Composite(parent,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 GridLayout gl = new GridLayout(1,false);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 gl.marginBottom=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 gl.marginTop=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 gl.marginHeight=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 gl.marginWidth=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 gl.marginLeft=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 gl.marginRight=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 gl.verticalSpacing=1;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 comp.setLayout(gl);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 Composite topArea = new Composite(comp,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 GridData data = new GridData(DWT.FILL,DWT.FILL,true,false);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 data.widthHint=200;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 topArea.setLayoutData(data);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 topArea.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 gl = new GridLayout(2,false);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 gl.marginBottom=2;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 gl.marginTop=2;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 gl.marginHeight=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 gl.marginWidth=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 gl.marginLeft=5;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 gl.marginRight=2;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 topArea.setLayout(gl);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 Label l = new Label(topArea,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 l.setText(headerText);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 l.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 l.setFont(JFaceResources.getFontRegistry().get(HEADER_FONT));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 l.setForeground(JFaceResources.getColorRegistry().get(HEADER_FG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 l.setLayoutData(new GridData(GridData.FILL_BOTH));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 Composite iconComp = new Composite(topArea,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 iconComp.setLayoutData(new GridData());
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 iconComp.setLayout(new GridLayout(2,false));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 iconComp.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 gl = new GridLayout(2,false);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 gl.marginBottom=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 gl.marginTop=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 gl.marginHeight=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 gl.marginWidth=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 gl.marginLeft=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 gl.marginRight=0;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 iconComp.setLayout(gl);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 Label helpIcon = new Label(iconComp,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 helpIcon.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 helpIcon.setImage(JFaceResources.getImage(HEADER_HELP_ICON));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 helpIcon.addMouseListener(new class MouseAdapter {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 public void mouseDown(MouseEvent e) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 hide();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 openHelp();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 });
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 Label closeIcon = new Label(iconComp,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 closeIcon.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 closeIcon.setImage(JFaceResources.getImage(HEADER_CLOSE_ICON));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 closeIcon.addMouseListener(new class MouseAdapter {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 public void mouseDown(MouseEvent e) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 parentShell.setFocus();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 hide();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 });
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 createContentArea(comp).setLayoutData(new GridData(GridData.FILL_BOTH));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 return comp;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 protected Composite createContentArea(Composite parent) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 return new Composite(parent,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 protected void openHelp() {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 parentShell.setFocus();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 class MyToolTip2 : MyToolTip {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 public this(Control control) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 super(control);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 protected Composite createContentArea(Composite parent) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 Composite comp = super.createContentArea(parent);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 comp.setBackground(parent.getDisplay().getSystemColor(DWT.COLOR_INFO_BACKGROUND));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 FillLayout layout = new FillLayout();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 layout.marginWidth=5;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 comp.setLayout(layout);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 Link l = new Link(comp,DWT.NONE);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 l.setText("This a custom tooltip you can: \n- pop up any control you want\n- define delays\n - ... \nGo and get Eclipse M4 from <a>http://www.eclipse.org</a>");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 l.setBackground(parent.getDisplay().getSystemColor(DWT.COLOR_INFO_BACKGROUND));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 l.addSelectionListener(new class SelectionAdapter {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 public void widgetSelected(SelectionEvent e) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 openURL();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 });
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 return comp;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 protected void openURL() {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 MessageBox box = new MessageBox(parent,DWT.ICON_INFORMATION);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 box.setText("Eclipse.org");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 box.setMessage("Here is where we'd open the URL.");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 box.open();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 protected void openHelp() {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 MessageBox box = new MessageBox(parent,DWT.ICON_INFORMATION);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 box.setText("Info");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 box.setMessage("Here is where we'd show some information.");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 box.open();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 };
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 Shell parent;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 DefaultToolTip toolTipDelayed;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 public this(Shell parent_) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 this.parent = parent_;
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 JFaceResources.getColorRegistry().put(MyToolTip.HEADER_BG_COLOR, new RGB(255,255,255));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 JFaceResources.getFontRegistry().put(MyToolTip.HEADER_FONT, JFaceResources.getFontRegistry().getBold(JFaceResources.getDefaultFont().getFontData()[0].getName()).getFontData());
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 JFaceResources.getImageRegistry().put(MyToolTip.HEADER_CLOSE_ICON,ImageDescriptor.createFromFile(getImportData!("jface.snippets.showerr_tsk.gif")));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 JFaceResources.getImageRegistry().put(MyToolTip.HEADER_HELP_ICON,ImageDescriptor.createFromFile(getImportData!("jface.snippets.linkto_help.gif")));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 Text text = new Text(parent,DWT.BORDER);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 text.setText("Hello World");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212 MyToolTip myTooltipLabel = new MyToolTip2(text);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 myTooltipLabel.setShift(new Point(-5, -5));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 myTooltipLabel.setHideOnMouseDown(false);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 myTooltipLabel.activate();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 text = new Text(parent,DWT.BORDER);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 text.setText("Hello World");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 DefaultToolTip toolTip = new DefaultToolTip(text);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 toolTip.setText("Hello World\nHello World");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 toolTip.setBackgroundColor(parent.getDisplay().getSystemColor(DWT.COLOR_RED));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 Button b = new Button(parent,DWT.PUSH);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 b.setText("Popup on press");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 toolTipDelayed = new DefaultToolTip(b,ToolTip.RECREATE,true);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 toolTipDelayed.setText("Hello World\nHello World");
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 toolTipDelayed.setBackgroundColor(parent.getDisplay().getSystemColor(DWT.COLOR_RED));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 toolTipDelayed.setHideDelay(2000);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 b.addSelectionListener(new class SelectionAdapter {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 public void widgetSelected(SelectionEvent e) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 toolTipDelayed.show(new Point(0,0));
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 });
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 public static void main(String[] args) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241 Display display = new Display();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 Shell shell = new Shell(display);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 shell.setLayout(new RowLayout());
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 new Snippet020CustomizedControlTooltips(shell);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 shell.open();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 while (!shell.isDisposed()) {
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 if (!display.readAndDispatch())
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 display.sleep();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 display.dispose();
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 void main(){
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 Snippet020CustomizedControlTooltips.main(null);
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 }
7c4b76583cb8 Added new JFace snippets
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261