annotate dwtx/jface/dialogs/DialogMessageArea.d @ 200:eb3414669eb0 default tip

fix for dmd 1.041 and tango 0.99.8
author Frank Benoit <benoit@tionex.de>
date Sat, 28 Mar 2009 03:09:57 +0100
parents c3583c6ec027
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2004, 2006 IBM Corporation and others.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwtx.jface.dialogs.DialogMessageArea;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwtx.jface.dialogs.Dialog;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwtx.jface.dialogs.IMessageProvider;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwt.DWT;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 import dwt.custom.CLabel;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.graphics.Image;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwt.layout.GridData;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.layout.GridLayout;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.widgets.Composite;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.widgets.Label;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwt.widgets.Text;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwtx.jface.resource.JFaceResources;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 import dwt.dwthelper.utils;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 * The DialogMessageArea is a resusable component for adding an accessible
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 * message area to a dialog.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 * When the message is normal a CLabel is used but an errors replaces the
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * message area with a non editable text that can take focus for use by screen
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * readers.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * @since 3.0
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 public class DialogMessageArea : Object {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 private Text messageText;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 private Label messageImageLabel;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 private Composite messageComposite;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 private String lastMessageText;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 private int lastMessageType;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 private CLabel titleLabel;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * Create a new instance of the receiver.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 public this() {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 //No initial behaviour
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 * Create the contents for the receiver.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 * @param parent
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 * the Composite that the children will be created in
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 public void createContents(Composite parent) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 // Message label
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 titleLabel = new CLabel(parent, DWT.NONE);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 titleLabel.setFont(JFaceResources.getBannerFont());
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 messageComposite = new Composite(parent, DWT.NONE);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 GridLayout messageLayout = new GridLayout();
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 messageLayout.numColumns = 2;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 messageLayout.marginWidth = 0;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 messageLayout.marginHeight = 0;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 messageLayout.makeColumnsEqualWidth = false;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 messageComposite.setLayout(messageLayout);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 messageImageLabel = new Label(messageComposite, DWT.NONE);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 messageImageLabel.setImage(JFaceResources
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 .getImage(Dialog.DLG_IMG_MESSAGE_INFO));
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 messageImageLabel.setLayoutData(new GridData(
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 GridData.VERTICAL_ALIGN_CENTER));
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 messageText = new Text(messageComposite, DWT.NONE);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 messageText.setEditable(false);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 GridData textData = new GridData(GridData.GRAB_HORIZONTAL
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 | GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 messageText.setLayoutData(textData);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 * Set the layoutData for the title area. In most cases this will be a copy
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 * of the layoutData used in setMessageLayoutData.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 * @param layoutData
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 * the layoutData for the title
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * @see #setMessageLayoutData(Object)
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 public void setTitleLayoutData(Object layoutData) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 titleLabel.setLayoutData(layoutData);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 * Set the layoutData for the messageArea. In most cases this will be a copy
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 * of the layoutData used in setTitleLayoutData.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 * @param layoutData
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 * the layoutData for the message area composite.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * @see #setTitleLayoutData(Object)
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 public void setMessageLayoutData(Object layoutData) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 messageComposite.setLayoutData(layoutData);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 * Show the title.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 * @param titleMessage
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 * String for the titke
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 * @param titleImage
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 * Image or <code>null</code>
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 public void showTitle(String titleMessage, Image titleImage) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 titleLabel.setImage(titleImage);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 titleLabel.setText(titleMessage);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 restoreTitle();
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 return;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 * Enable the title and disable the message text and image.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 public void restoreTitle() {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 titleLabel.setVisible(true);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 messageComposite.setVisible(false);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 lastMessageText = null;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 lastMessageType = IMessageProvider.NONE;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 * Show the new message in the message text and update the image. Base the
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 * background color on whether or not there are errors.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 * @param newMessage
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 * The new value for the message
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 * @param newType
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 * One of the IMessageProvider constants. If newType is
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 * IMessageProvider.NONE show the title.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 * @see IMessageProvider
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 public void updateText(String newMessage, int newType) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 Image newImage = null;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 switch (newType) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 case IMessageProvider.NONE:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 if (newMessage is null) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 restoreTitle();
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 } else {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 showTitle(newMessage, null);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 return;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 case IMessageProvider.INFORMATION:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 newImage = JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_INFO);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 break;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 case IMessageProvider.WARNING:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 newImage = JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_WARNING);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 break;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 case IMessageProvider.ERROR:
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 newImage = JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_ERROR);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 break;
192
c3583c6ec027 Added missing default cases for switch statements
Frank Benoit <benoit@tionex.de>
parents: 19
diff changeset
173 default:
19
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 messageComposite.setVisible(true);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 titleLabel.setVisible(false);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 // Any more updates required?
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 // If the message text equals the tooltip (i.e. non-shortened text is the same)
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 // and shortened text is the same (i.e. not a resize)
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180 // and the image is the same then nothing to do
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 String shortText = Dialog.shortenText(newMessage,messageText);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 if (newMessage.equals(messageText.getToolTipText())
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 && newImage is messageImageLabel.getImage()
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 && shortText.equals(messageText.getText())) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 return;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 messageImageLabel.setImage(newImage);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 messageText.setText(Dialog.shortenText(newMessage,messageText));
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 messageText.setToolTipText(newMessage);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 lastMessageText = newMessage;
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 /**
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 * Clear the error message. Restore the previously displayed message if
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 * there is one, if not restore the title label.
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 *
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 */
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 public void clearErrorMessage() {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 if (lastMessageText is null) {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 restoreTitle();
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 } else {
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 updateText(lastMessageText, lastMessageType);
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 }
2b36428a5ce4 DialogSettings
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 }