Merge sources from S-Core's RSA git (release)
[sdk/ide/common-eplugin.git] / org.tizen.common.externals / src / org / mihalis / opal / promptSupport / TextFocusControlListener.java
1 /*******************************************************************************\r
2  * Copyright (c) 2011 Laurent CARON.\r
3  * All rights reserved. This program and the accompanying materials\r
4  * are made available under the terms of the Eclipse Public License v1.0\r
5  * which accompanies this distribution, and is available at\r
6  * http://www.eclipse.org/legal/epl-v10.html\r
7  *\r
8  * Contributors:\r
9  *     Peter Weishapl - Inspiration\r
10  *     Laurent CARON (laurent.caron@gmail.com) - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.mihalis.opal.promptSupport;\r
13 \r
14 import org.eclipse.swt.widgets.Text;\r
15 \r
16 /**\r
17  * Focus/Control listener for a Text widget\r
18  */\r
19 class TextFocusControlListener extends BaseFocusControlListener {\r
20 \r
21         /**\r
22          * Constructor\r
23          * \r
24          * @param control control on which this listener will be attached\r
25          */\r
26         public TextFocusControlListener(final Text control) {\r
27                 super(control);\r
28         }\r
29 \r
30         /**\r
31          * @see org.mihalis.opal.promptSupport.BaseFocusControlListener#hidePrompt()\r
32          */\r
33         @Override\r
34         protected void hidePrompt() {\r
35                 ((Text) this.control).setText("");\r
36         }\r
37 \r
38         /**\r
39          * @see org.mihalis.opal.promptSupport.BaseFocusControlListener#highLightPrompt()\r
40          */\r
41         @Override\r
42         protected void highLightPrompt() {\r
43                 // If we do a select all directly, it's not working !\r
44                 this.control.getDisplay().asyncExec(new Runnable() {\r
45                         @Override\r
46                         public void run() {\r
47                                 ((Text) TextFocusControlListener.this.control).selectAll();\r
48                         }\r
49                 });\r
50         }\r
51 \r
52         /**\r
53          * @see org.mihalis.opal.promptSupport.BaseFocusControlListener#fillPromptText()\r
54          */\r
55         @Override\r
56         protected void fillPromptText() {\r
57                 final String promptText = PromptSupport.getPrompt(this.control);\r
58                 if (promptText != null) {\r
59                         ((Text) this.control).setText(promptText);\r
60                 }\r
61         }\r
62 \r
63         /**\r
64          * @see org.mihalis.opal.promptSupport.BaseFocusControlListener#isFilled()\r
65          */\r
66         @Override\r
67         protected boolean isFilled() {\r
68                 final String promptText = PromptSupport.getPrompt(this.control);\r
69                 if (promptText != null && promptText.equals(((Text) this.control).getText().trim())) {\r
70                         return false;\r
71                 }\r
72                 return !"".equals(((Text) this.control).getText().trim());\r
73         }\r
74 \r
75 }\r