1 package org.argosfields.wizard;
2
3 import org.argosfields.persistence.Account;
4 import org.argosfields.resource.ResourceManager;
5 import org.eclipse.jface.preference.IPreferenceStore;
6 import org.eclipse.jface.preference.JFacePreferences;
7 import org.eclipse.jface.resource.ImageDescriptor;
8 import org.eclipse.jface.wizard.WizardPage;
9 import org.eclipse.swt.SWT;
10 import org.eclipse.swt.events.ModifyEvent;
11 import org.eclipse.swt.events.ModifyListener;
12 import org.eclipse.swt.layout.FormAttachment;
13 import org.eclipse.swt.layout.FormData;
14 import org.eclipse.swt.layout.FormLayout;
15 import org.eclipse.swt.layout.GridData;
16 import org.eclipse.swt.layout.GridLayout;
17 import org.eclipse.swt.widgets.Composite;
18 import org.eclipse.swt.widgets.Label;
19 import org.eclipse.swt.widgets.Text;
20
21 /***
22 * LoginWizardPage1.java
23 *
24 * @author Xavier Cho
25 * @version $Revision: 1.6 $ $Date: 2004/04/17 18:21:01 $
26 */
27 public class LoginWizardPage1 extends WizardPage {
28 private Text textHost;
29 private Text textUser;
30 private Text textPassword;
31
32 public LoginWizardPage1(final String pageName) {
33 super(pageName);
34 }
35
36 public LoginWizardPage1(
37 final String pageName,
38 final String title,
39 final ImageDescriptor pageImage) {
40 super(pageName, title, pageImage);
41 }
42
43 public void createControl(final Composite parent) {
44 IPreferenceStore preferences = JFacePreferences.getPreferenceStore();
45 ResourceManager resources = ResourceManager.getInstance();
46
47 Composite panel = new Composite(parent, SWT.NONE);
48
49 panel.setLayout(new FormLayout());
50
51 Label label = new Label(panel, SWT.WRAP);
52 label.setText(resources.getString("wizard.login.page1.message"));
53
54 FormData data1 = new FormData();
55 data1.left = new FormAttachment(0, 10);
56 data1.top = new FormAttachment(0, 10);
57
58 label.setLayoutData(data1);
59
60 FormData data2 = new FormData();
61 data2.top = new FormAttachment(label, 20, SWT.BOTTOM);
62 data2.left = new FormAttachment(label, 20, SWT.LEFT);
63 data2.right = new FormAttachment(100);
64
65 Composite panel2 = new Composite(panel, SWT.NONE);
66
67 GridLayout gridLayout = new GridLayout();
68 gridLayout.numColumns = 2;
69 gridLayout.horizontalSpacing = 5;
70 gridLayout.verticalSpacing = 5;
71
72 panel2.setLayout(gridLayout);
73 panel2.setLayoutData(data2);
74
75 Label labelHost = new Label(panel2, SWT.NONE);
76 labelHost.setText(resources.getString("wizard.login.page1.host"));
77
78 GridData data3 =
79 new GridData(
80 GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
81
82 labelHost.setLayoutData(data3);
83
84 this.textHost = new Text(panel2, SWT.BORDER);
85
86 String host = preferences.getString("remote.server.host");
87 int port = preferences.getInt("remote.server.port");
88
89 textHost.setText(host + ":" + port);
90
91 GridData data4 = new GridData(GridData.VERTICAL_ALIGN_CENTER);
92 data4.widthHint = 300;
93 data4.horizontalIndent = 5;
94
95 textHost.setLayoutData(data4);
96
97 Label labelUser = new Label(panel2, SWT.NONE);
98 labelUser.setText(resources.getString("wizard.login.page1.username"));
99
100 GridData data5 =
101 new GridData(
102 GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
103
104 labelUser.setLayoutData(data5);
105
106 this.textUser = new Text(panel2, SWT.BORDER);
107
108 GridData data6 = new GridData(GridData.VERTICAL_ALIGN_CENTER);
109 data6.widthHint = 300;
110 data6.horizontalIndent = 5;
111
112 textUser.setLayoutData(data6);
113
114 Label labelPassword = new Label(panel2, SWT.NONE);
115 labelPassword.setText(
116 resources.getString("wizard.login.page1.password"));
117
118 GridData data7 =
119 new GridData(
120 GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
121
122 labelPassword.setLayoutData(data7);
123
124 this.textPassword = new Text(panel2, SWT.BORDER);
125 textPassword.setEchoChar('*');
126
127 GridData data8 = new GridData(GridData.VERTICAL_ALIGN_CENTER);
128 data8.widthHint = 300;
129 data8.horizontalIndent = 5;
130
131 textPassword.setLayoutData(data8);
132
133 setControl(panel);
134
135 ModifyListener listener = new ModifyListener() {
136 public void modifyText(final ModifyEvent event) {
137 checkInput();
138 }
139 };
140
141 textHost.setTextLimit(40);
142 textHost.addModifyListener(listener);
143
144 textUser.setTextLimit(12);
145 textUser.addModifyListener(listener);
146
147 textPassword.setTextLimit(12);
148 textPassword.addModifyListener(listener);
149
150 textHost.setFocus();
151
152 setPageComplete(false);
153 }
154
155 private void checkInput() {
156 boolean isCompleted = true;
157
158 String message = null;
159
160 if (textHost.getText().trim().length() == 0) {
161 isCompleted = false;
162 } else if (textUser.getText().trim().length() == 0) {
163 isCompleted = false;
164 } else if (
165 textUser.getText().trim().length() < Account.MIN_USERNAME_LENGTH) {
166
167 ResourceManager resources = ResourceManager.getInstance();
168 message = resources.getString("error.username.min.length");
169
170 isCompleted = false;
171 } else if (textPassword.getText().trim().length() == 0) {
172 isCompleted = false;
173 } else if (
174 textPassword.getText().trim().length()
175 < Account.MIN_PASSWORD_LENGTH) {
176
177 ResourceManager resources = ResourceManager.getInstance();
178 message = resources.getString("error.password.min.length");
179
180 isCompleted = false;
181 }
182
183 if (getErrorMessage() == null) {
184 if (message != null) {
185 setErrorMessage(message);
186 }
187 } else if (!getErrorMessage().equals(message)) {
188 setErrorMessage(message);
189 }
190
191 setPageComplete(isCompleted);
192 }
193
194 public String getHostAddress() {
195 return textHost.getText().trim();
196 }
197
198 public String getUserName() {
199 return textUser.getText().trim();
200 }
201
202 public String getPassword() {
203 return textPassword.getText().trim();
204 }
205 }
This page was automatically generated by Maven