Lines 14-39
Link Here
|
14 |
import org.eclipse.ecf.internal.presence.ui.Activator; |
14 |
import org.eclipse.ecf.internal.presence.ui.Activator; |
15 |
import org.eclipse.ecf.internal.presence.ui.Messages; |
15 |
import org.eclipse.ecf.internal.presence.ui.Messages; |
16 |
import org.eclipse.jface.preference.BooleanFieldEditor; |
16 |
import org.eclipse.jface.preference.BooleanFieldEditor; |
|
|
17 |
import org.eclipse.jface.preference.FieldEditor; |
17 |
import org.eclipse.jface.preference.FieldEditorPreferencePage; |
18 |
import org.eclipse.jface.preference.FieldEditorPreferencePage; |
|
|
19 |
import org.eclipse.jface.preference.StringFieldEditor; |
20 |
import org.eclipse.jface.util.PropertyChangeEvent; |
21 |
import org.eclipse.osgi.util.NLS; |
22 |
import org.eclipse.swt.SWT; |
23 |
import org.eclipse.swt.layout.GridData; |
24 |
import org.eclipse.swt.layout.GridLayout; |
25 |
import org.eclipse.swt.widgets.Group; |
18 |
import org.eclipse.ui.IWorkbench; |
26 |
import org.eclipse.ui.IWorkbench; |
19 |
import org.eclipse.ui.IWorkbenchPreferencePage; |
27 |
import org.eclipse.ui.IWorkbenchPreferencePage; |
20 |
|
28 |
|
21 |
public class ChatRoomPreferencePage extends FieldEditorPreferencePage implements |
29 |
public class ChatRoomPreferencePage extends FieldEditorPreferencePage implements |
22 |
IWorkbenchPreferencePage { |
30 |
IWorkbenchPreferencePage { |
23 |
|
31 |
|
|
|
32 |
public static final String BUG_NUMBER = "<bug#>"; |
33 |
|
34 |
private StringFieldEditor bugUrl; |
35 |
|
24 |
public ChatRoomPreferencePage() { |
36 |
public ChatRoomPreferencePage() { |
25 |
super(GRID); |
37 |
super(GRID); |
26 |
setPreferenceStore(Activator.getDefault().getPreferenceStore()); |
38 |
setPreferenceStore(Activator.getDefault().getPreferenceStore()); |
27 |
} |
39 |
} |
28 |
|
40 |
|
29 |
/* (non-Javadoc) |
41 |
/* |
|
|
42 |
* (non-Javadoc) |
43 |
* |
30 |
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors() |
44 |
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors() |
31 |
*/ |
45 |
*/ |
32 |
public void createFieldEditors() { |
46 |
public void createFieldEditors() { |
|
|
47 |
Group messageGroup = new Group(getFieldEditorParent(),SWT.NONE); |
48 |
messageGroup.setText("Chat Room Messages"); |
49 |
|
33 |
addField(new BooleanFieldEditor( |
50 |
addField(new BooleanFieldEditor( |
34 |
PreferenceConstants.CHATROOM_SHOW_USER_PRESENCE, |
51 |
PreferenceConstants.CHATROOM_SHOW_USER_PRESENCE, |
35 |
Messages.ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT, |
52 |
Messages.ChatRoomPreferencePage_CHATROOM_SHOW_USER_PRESENCE_TEXT, |
36 |
getFieldEditorParent())); |
53 |
messageGroup)); |
|
|
54 |
|
55 |
GridLayout messageGroupLayout = new GridLayout(); |
56 |
messageGroup.setLayout(messageGroupLayout); |
57 |
GridData messageGroupGridData = new GridData(GridData.FILL_HORIZONTAL); |
58 |
messageGroupGridData.horizontalSpan = 2; |
59 |
messageGroup.setLayoutData(messageGroupGridData); |
60 |
|
61 |
Group hyperlinkGroup = new Group(getFieldEditorParent(),SWT.NONE); |
62 |
hyperlinkGroup.setText("Hyperlinks"); |
63 |
|
64 |
bugUrl = new StringFieldEditor( |
65 |
PreferenceConstants.CHATROOM_HYPERLINK_BUG_URL, |
66 |
Messages.ChatRoomPreferencePage_CHATROOM_HYPERLINK_BUG_URL, |
67 |
hyperlinkGroup); |
68 |
addField(bugUrl); |
69 |
|
70 |
GridLayout hyperlinkGroupLayout = new GridLayout(); |
71 |
hyperlinkGroup.setLayout(hyperlinkGroupLayout); |
72 |
GridData hyperlinkGroupGridData = new GridData(GridData.FILL_HORIZONTAL); |
73 |
hyperlinkGroupGridData.horizontalSpan = 2; |
74 |
hyperlinkGroup.setLayoutData(hyperlinkGroupGridData); |
37 |
} |
75 |
} |
38 |
|
76 |
|
39 |
/* |
77 |
/* |
Lines 42-45
Link Here
|
42 |
public void init(IWorkbench workbench) { |
80 |
public void init(IWorkbench workbench) { |
43 |
} |
81 |
} |
44 |
|
82 |
|
|
|
83 |
/* |
84 |
* (non-Javadoc) |
85 |
* |
86 |
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#checkState() |
87 |
*/ |
88 |
protected void checkState() { |
89 |
super.checkState(); |
90 |
|
91 |
if (!isValid()) |
92 |
return; |
93 |
if (bugUrl.getStringValue().indexOf(BUG_NUMBER) < 0) { |
94 |
setErrorMessage(NLS |
95 |
.bind( |
96 |
Messages.ChatRoomPreferencePage_CHATROOM_HYPERLINK_BUG_URL_ERROR, |
97 |
BUG_NUMBER)); |
98 |
setValid(false); |
99 |
} else { |
100 |
setErrorMessage(null); |
101 |
setValid(true); |
102 |
} |
103 |
} |
104 |
|
105 |
/* |
106 |
* (non-Javadoc) |
107 |
* |
108 |
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) |
109 |
*/ |
110 |
public void propertyChange(PropertyChangeEvent event) { |
111 |
super.propertyChange(event); |
112 |
|
113 |
if (event.getProperty().equals(FieldEditor.VALUE)) { |
114 |
if (event.getSource() == bugUrl) |
115 |
checkState(); |
116 |
} |
117 |
} |
118 |
|
45 |
} |
119 |
} |