4 package eu
.etaxonomy
.taxeditor
.ui
.element
;
6 import org
.eclipse
.swt
.SWT
;
7 import org
.eclipse
.swt
.events
.ModifyEvent
;
8 import org
.eclipse
.swt
.events
.ModifyListener
;
9 import org
.eclipse
.swt
.events
.SelectionListener
;
10 import org
.eclipse
.swt
.graphics
.Color
;
11 import org
.eclipse
.swt
.widgets
.Button
;
12 import org
.eclipse
.swt
.widgets
.Composite
;
13 import org
.eclipse
.swt
.widgets
.Label
;
14 import org
.eclipse
.swt
.widgets
.Text
;
16 import eu
.etaxonomy
.cdm
.common
.CdmUtils
;
19 * <p>TextActionElement class.</p>
24 public class TextActionElement
extends AbstractCdmFormElement
implements ModifyListener
, ISelectable
{
28 private Button button
;
29 private Composite box
;
32 * <p>Constructor for TextActionElement.</p>
35 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
36 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
37 * @param labelString a {@link java.lang.String} object.
38 * @param buttonLabel a {@link java.lang.String} object.
39 * @param initialText a {@link java.lang.String} object.
41 protected TextActionElement(CdmFormFactory toolkit
, ICdmFormElement parentElement
, String labelString
, String buttonLabel
, String initialText
, int style
) {
42 super(toolkit
, parentElement
);
44 label
= toolkit
.createLabel(getLayoutComposite(), labelString
, SWT
.WRAP
);
47 box
= formFactory
.createComposite(getLayoutComposite());
48 box
.setLayout(CdmFormFactory
.LAYOUT(2, false));
49 box
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
52 text
= toolkit
.createText(box
, "", style
);
54 text
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY());
56 setText(CdmUtils
.Nz(initialText
));
58 button
= toolkit
.createButton(box
, buttonLabel
, SWT
.PUSH
);
63 * <p>Setter for the field <code>text</code>.</p>
65 * @param string a {@link java.lang.String} object.
67 public void setText(String string
) {
68 text
.setText(CdmUtils
.Nz(string
));
72 * <p>Getter for the field <code>text</code>.</p>
76 public String
getText() {
77 return text
.getText();
81 * <p>addSelectionListener</p>
83 * @param listener a {@link org.eclipse.swt.events.SelectionListener} object.
85 public void addSelectionListener(SelectionListener listener
){
86 button
.addSelectionListener(listener
);
90 * <p>removeSelectionListener</p>
92 * @param listener a {@link org.eclipse.swt.events.SelectionListener} object.
94 public void removeSelectionListener(SelectionListener listener
){
95 button
.removeSelectionListener(listener
);
99 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
102 public void modifyText(ModifyEvent e
) {
103 propertyChange(null);
107 * <p>addModifyListener</p>
109 * @param listener a {@link org.eclipse.swt.events.ModifyListener} object.
111 public void addModifyListener(ModifyListener listener
){
112 text
.addModifyListener(listener
);
116 * <p>removeModifyListener</p>
118 * @param listener a {@link org.eclipse.swt.events.ModifyListener} object.
120 public void removeModifyListener(ModifyListener listener
){
121 text
.removeModifyListener(listener
);
126 public void setBackground(Color color
) {
127 label
.setBackground(color
);
131 public void setSelected(boolean selected
) {
132 setBackground(selected ? SELECTED
: getPersistentBackground());