]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/far/createui/CreateStepOne.java
1. Wrap text by word when showing a message box
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / far / createui / CreateStepOne.java
1 /** @file
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 **/
13
14 package org.tianocore.frameworkwizard.far.createui;
15
16 import java.awt.event.MouseEvent;
17 import java.awt.event.MouseListener;
18
19 import javax.swing.JButton;
20 import javax.swing.JLabel;
21 import javax.swing.JPanel;
22 import javax.swing.JScrollPane;
23 import javax.swing.JTextArea;
24 import javax.swing.JTextField;
25
26 import org.tianocore.frameworkwizard.common.DataValidation;
27 import org.tianocore.frameworkwizard.common.Log;
28 import org.tianocore.frameworkwizard.common.Tools;
29 import org.tianocore.frameworkwizard.common.ui.IDialog;
30 import org.tianocore.frameworkwizard.common.ui.IFrame;
31 import org.tianocore.frameworkwizard.common.ui.StarLabel;
32 import org.tianocore.frameworkwizard.far.FarHeader;
33
34 public class CreateStepOne extends IDialog implements MouseListener {
35
36 // /
37 // / Define class Serial Version UID
38 // /
39 private static final long serialVersionUID = -8152099582923006900L;
40
41 //
42 // Define class members
43 //
44 private JPanel jContentPane = null;
45
46 private JLabel jLabelBaseName = null;
47
48 private JTextField jTextFieldBaseName = null;
49
50 private JLabel jLabelGuid = null;
51
52 private JTextField jTextFieldGuid = null;
53
54 private JLabel jLabelVersion = null;
55
56 private JTextField jTextFieldVersion = null;
57
58 private JButton jButtonGenerateGuid = null;
59
60 private JLabel jLabelLicense = null;
61
62 private JTextArea jTextAreaLicense = null;
63
64 private JLabel jLabelCopyright = null;
65
66 private JLabel jLabelDescription = null;
67
68 private JTextArea jTextAreaDescription = null;
69
70 private JLabel jLabelSpecification = null;
71
72 private JTextField jTextFieldSpecification = null;
73
74 private JButton jButtonOk = null;
75
76 private JScrollPane jScrollPaneLicense = null;
77
78 private JScrollPane jScrollPaneDescription = null;
79
80 private JLabel jLabelAbstract = null;
81
82 private JTextField jTextFieldAbstract = null;
83
84 private StarLabel jStarLabel1 = null;
85
86 private StarLabel jStarLabel4 = null;
87
88 private StarLabel jStarLabel5 = null;
89
90 private StarLabel jStarLabel6 = null;
91
92 private StarLabel jStarLabel7 = null;
93
94 private StarLabel jStarLabel8 = null;
95
96 private StarLabel jStarLabel10 = null;
97
98 private StarLabel jStarLabel12 = null;
99
100 private JTextField jTextFieldCopyright = null;
101
102 private JLabel jLabelURL = null;
103
104 private JTextField jTextFieldURL = null;
105
106 private JScrollPane jScrollPane = null;
107
108 private CreateStepTwo stepTwo = null;
109
110 private JButton jButtonCancel = null;
111
112 private JButton jButtonNext = null;
113
114 private FarHeader farHeader = new FarHeader();
115
116 /**
117 * This method initializes jTextFieldBaseName
118 *
119 * @return javax.swing.JTextField jTextFieldBaseName
120 *
121 */
122 private JTextField getJTextFieldBaseName() {
123 if (jTextFieldBaseName == null) {
124 jTextFieldBaseName = new JTextField();
125 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 520, 20));
126 jTextFieldBaseName.setToolTipText("An brief Identifier, such as USB I/O Library, of the module");
127 }
128 return jTextFieldBaseName;
129 }
130
131 /**
132 * This method initializes jTextFieldGuid
133 *
134 * @return javax.swing.JTextField jTextFieldGuid
135 *
136 */
137 private JTextField getJTextFieldGuid() {
138 if (jTextFieldGuid == null) {
139 jTextFieldGuid = new JTextField();
140 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 410, 20));
141 jTextFieldGuid.setToolTipText("Guaranteed Unique Identification Number (8-4-4-4-12)");
142 }
143 return jTextFieldGuid;
144 }
145
146 /**
147 * This method initializes jTextFieldVersion
148 *
149 * @return javax.swing.JTextField jTextFieldVersion
150 *
151 */
152 private JTextField getJTextFieldVersion() {
153 if (jTextFieldVersion == null) {
154 jTextFieldVersion = new JTextField();
155 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 520, 20));
156 jTextFieldVersion.setToolTipText("A Version Number, 1.0, 1, 1.01");
157 }
158 return jTextFieldVersion;
159 }
160
161 /**
162 * This method initializes jButtonGenerateGuid
163 *
164 * @return javax.swing.JButton jButtonGenerateGuid
165 *
166 */
167 private JButton getJButtonGenerateGuid() {
168 if (jButtonGenerateGuid == null) {
169 jButtonGenerateGuid = new JButton();
170 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(590, 35, 90, 20));
171 jButtonGenerateGuid.setText("Generate");
172 jButtonGenerateGuid.addMouseListener(this);
173 }
174 return jButtonGenerateGuid;
175 }
176
177 /**
178 * This method initializes jTextAreaLicense
179 *
180 * @return javax.swing.JTextArea jTextAreaLicense
181 *
182 */
183 private JTextArea getJTextAreaLicense() {
184 if (jTextAreaLicense == null) {
185 jTextAreaLicense = new JTextArea();
186 jTextAreaLicense.setText("");
187 jTextAreaLicense.setLineWrap(true);
188 jTextAreaLicense.setToolTipText("The License for this file");
189 }
190 return jTextAreaLicense;
191 }
192
193 /**
194 * This method initializes jTextAreaDescription
195 *
196 * @return javax.swing.JTextArea jTextAreaDescription
197 *
198 */
199 private JTextArea getJTextAreaDescription() {
200 if (jTextAreaDescription == null) {
201 jTextAreaDescription = new JTextArea();
202 jTextAreaDescription.setLineWrap(true);
203 jTextAreaDescription.setToolTipText("A verbose description of the module");
204 }
205 return jTextAreaDescription;
206 }
207
208 /**
209 * This method initializes jTextFieldSpecification
210 *
211 * @return javax.swing.JTextField jTextFieldSpecification
212 *
213 */
214 private JTextField getJTextFieldSpecification() {
215 if (jTextFieldSpecification == null) {
216 jTextFieldSpecification = new JTextField();
217 jTextFieldSpecification.setText("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");
218 jTextFieldSpecification.setBounds(new java.awt.Rectangle(160, 290, 520, 20));
219 jTextFieldSpecification.setEditable(false);
220 }
221 return jTextFieldSpecification;
222 }
223
224 /**
225 * This method initializes jScrollPaneLicense
226 *
227 * @return javax.swing.JScrollPane jScrollPaneLicense
228 *
229 */
230 private JScrollPane getJScrollPaneLicense() {
231 if (jScrollPaneLicense == null) {
232 jScrollPaneLicense = new JScrollPane();
233 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
234 jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 200, 520, 60));
235 jScrollPaneLicense.setViewportView(getJTextAreaLicense());
236 }
237 return jScrollPaneLicense;
238 }
239
240 /**
241 * This method initializes jScrollPaneDescription
242 *
243 * @return javax.swing.JScrollPane jScrollPaneDescription
244 *
245 */
246 private JScrollPane getJScrollPaneDescription() {
247 if (jScrollPaneDescription == null) {
248 jScrollPaneDescription = new JScrollPane();
249 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
250 jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 110, 520, 60));
251 jScrollPaneDescription.setViewportView(getJTextAreaDescription());
252 }
253 return jScrollPaneDescription;
254 }
255
256 /**
257 * This method initializes jTextFieldAbstract
258 *
259 * @return javax.swing.JTextField jTextFieldAbstract
260 *
261 */
262 private JTextField getJTextFieldAbstract() {
263 if (jTextFieldAbstract == null) {
264 jTextFieldAbstract = new JTextField();
265 jTextFieldAbstract.setBounds(new java.awt.Rectangle(160, 85, 520, 20));
266 jTextFieldAbstract.setToolTipText("A one sentence description of this module");
267 }
268 return jTextFieldAbstract;
269 }
270
271 /**
272 * This method initializes jTextFieldCopyright
273 *
274 * @return javax.swing.JTextField jTextFieldCopyright
275 *
276 */
277 private JTextField getJTextFieldCopyright() {
278 if (jTextFieldCopyright == null) {
279 jTextFieldCopyright = new JTextField();
280 jTextFieldCopyright.setBounds(new java.awt.Rectangle(160, 175, 520, 20));
281 jTextFieldCopyright.setToolTipText("One or more copyright lines");
282 }
283 return jTextFieldCopyright;
284 }
285
286 /**
287 * This method initializes jTextFieldURL
288 *
289 * @return javax.swing.JTextField
290 */
291 private JTextField getJTextFieldURL() {
292 if (jTextFieldURL == null) {
293 jTextFieldURL = new JTextField();
294 jTextFieldURL.setBounds(new java.awt.Rectangle(160, 265, 520, 20));
295 jTextFieldURL.setToolTipText("A URL for the latest version of the license");
296 }
297 return jTextFieldURL;
298 }
299
300 /**
301 * This method initializes jScrollPane
302 *
303 * @return javax.swing.JScrollPane
304 */
305 private JScrollPane getJScrollPane() {
306 if (jScrollPane == null) {
307 jScrollPane = new JScrollPane();
308 jScrollPane.setViewportView(getJContentPane());
309 }
310 return jScrollPane;
311 }
312
313 /**
314 * This method initializes jButtonCancel1
315 *
316 * @return javax.swing.JButton
317 */
318 private JButton getJButtonCancel() {
319 if (jButtonCancel == null) {
320 jButtonCancel = new JButton();
321 jButtonCancel.setBounds(new java.awt.Rectangle(590, 330, 90, 20));
322 jButtonCancel.setText("Cancel");
323 jButtonCancel.addMouseListener(this);
324 }
325 return jButtonCancel;
326 }
327
328 /**
329 * This method initializes jButtonNext
330 *
331 * @return javax.swing.JButton
332 */
333 private JButton getJButtonNext() {
334 if (jButtonNext == null) {
335 jButtonNext = new JButton();
336 jButtonNext.setBounds(new java.awt.Rectangle(480, 330, 90, 20));
337 jButtonNext.setText("Next");
338 jButtonNext.addMouseListener(this);
339 }
340 return jButtonNext;
341 }
342
343 public static void main(String[] args) {
344 CreateStepOne c = new CreateStepOne(new IFrame(), true);
345 c.setVisible(true);
346 }
347
348 /**
349 * This is the default constructor
350 *
351 */
352 public CreateStepOne(IFrame iFrame, boolean modal) {
353 super(iFrame, modal);
354 initialize();
355 }
356
357 /**
358 * Disable all components when the mode is view
359 *
360 * @param isView
361 * true - The view mode; false - The non-view mode
362 *
363 */
364 public void setViewMode(boolean isView) {
365 if (isView) {
366 this.jTextFieldBaseName.setEnabled(!isView);
367 this.jTextFieldGuid.setEnabled(!isView);
368 this.jTextFieldVersion.setEnabled(!isView);
369 this.jTextAreaLicense.setEnabled(!isView);
370 this.jTextFieldCopyright.setEnabled(!isView);
371 this.jTextAreaDescription.setEnabled(!isView);
372 this.jTextFieldSpecification.setEnabled(!isView);
373 this.jTextFieldAbstract.setEnabled(!isView);
374 this.jButtonGenerateGuid.setEnabled(!isView);
375 this.jButtonOk.setEnabled(!isView);
376 }
377 }
378
379 /**
380 * This method initializes this
381 *
382 */
383 private void initialize() {
384 this.setSize(700, 400);
385 this.setContentPane(getJScrollPane());
386 this.setTitle("Create Framework Archive(FAR) - Step 1: Set FAR's baseic information");
387 this.centerWindow();
388 }
389
390 /**
391 * This method initializes jContentPane
392 *
393 * @return javax.swing.JPanel jContentPane
394 *
395 */
396 private JPanel getJContentPane() {
397 if (jContentPane == null) {
398
399 jLabelURL = new JLabel();
400 jLabelURL.setText("License URL");
401 jLabelURL.setBounds(new java.awt.Rectangle(35, 265, 120, 20));
402 jLabelBaseName = new JLabel();
403 jLabelBaseName.setText("FAR Name");
404 jLabelBaseName.setBounds(new java.awt.Rectangle(35, 10, 120, 20));
405 jLabelGuid = new JLabel();
406 jLabelGuid.setText("Guid Value");
407 jLabelGuid.setBounds(new java.awt.Rectangle(35, 35, 120, 20));
408 jLabelVersion = new JLabel();
409 jLabelVersion.setText("Version");
410 jLabelVersion.setBounds(new java.awt.Rectangle(35, 60, 120, 20));
411 jLabelAbstract = new JLabel();
412 jLabelAbstract.setText("Abstract");
413 jLabelAbstract.setBounds(new java.awt.Rectangle(35, 85, 120, 20));
414 jLabelDescription = new JLabel();
415 jLabelDescription.setText("Description");
416 jLabelDescription.setBounds(new java.awt.Rectangle(35, 110, 120, 20));
417 jLabelCopyright = new JLabel();
418 jLabelCopyright.setText("Copyright");
419 jLabelCopyright.setBounds(new java.awt.Rectangle(35, 175, 120, 20));
420 jLabelLicense = new JLabel();
421 jLabelLicense.setText("License");
422 jLabelLicense.setBounds(new java.awt.Rectangle(35, 200, 120, 20));
423 jLabelSpecification = new JLabel();
424 jLabelSpecification.setText("Specification");
425 jLabelSpecification.setBounds(new java.awt.Rectangle(35, 290, 120, 20));
426
427 jContentPane = new JPanel();
428 jContentPane.setLayout(null);
429
430 jContentPane.add(jLabelBaseName, null);
431 jContentPane.add(getJTextFieldBaseName(), null);
432 jContentPane.add(jLabelGuid, null);
433 jContentPane.add(getJTextFieldGuid(), null);
434 jContentPane.add(jLabelVersion, null);
435 jContentPane.add(getJTextFieldVersion(), null);
436 jContentPane.add(getJButtonGenerateGuid(), null);
437 jContentPane.add(jLabelLicense, null);
438 jContentPane.add(jLabelCopyright, null);
439 jContentPane.add(jLabelDescription, null);
440 jContentPane.add(jLabelSpecification, null);
441 jContentPane.add(getJTextFieldSpecification(), null);
442 jContentPane.add(getJScrollPaneLicense(), null);
443 jContentPane.add(getJScrollPaneDescription(), null);
444 jContentPane.add(jLabelAbstract, null);
445 jContentPane.add(getJTextFieldAbstract(), null);
446 jContentPane.add(jLabelURL, null);
447 jContentPane.add(getJTextFieldURL(), null);
448 jContentPane.add(getJTextFieldCopyright(), null);
449 jStarLabel1 = new StarLabel();
450 jStarLabel1.setLocation(new java.awt.Point(20, 10));
451 jStarLabel4 = new StarLabel();
452 jStarLabel4.setLocation(new java.awt.Point(20, 35));
453 jStarLabel5 = new StarLabel();
454 jStarLabel5.setLocation(new java.awt.Point(20, 60));
455 jStarLabel6 = new StarLabel();
456 jStarLabel6.setLocation(new java.awt.Point(20, 110));
457 jStarLabel7 = new StarLabel();
458 jStarLabel7.setLocation(new java.awt.Point(20, 175));
459 jStarLabel8 = new StarLabel();
460 jStarLabel8.setLocation(new java.awt.Point(20, 200));
461 jStarLabel10 = new StarLabel();
462 jStarLabel10.setLocation(new java.awt.Point(20, 85));
463 jStarLabel12 = new StarLabel();
464 jStarLabel12.setLocation(new java.awt.Point(20, 290));
465
466 jContentPane.add(jStarLabel1, null);
467 jContentPane.add(jStarLabel4, null);
468 jContentPane.add(jStarLabel5, null);
469 jContentPane.add(jStarLabel6, null);
470 jContentPane.add(jStarLabel7, null);
471 jContentPane.add(jStarLabel8, null);
472 jContentPane.add(jStarLabel10, null);
473 jContentPane.add(jStarLabel12, null);
474 jContentPane.add(getJButtonCancel(), null);
475 jContentPane.add(getJButtonNext(), null);
476 }
477 return jContentPane;
478 }
479
480 public boolean valid() {
481 //
482 // Check BaseName
483 //
484 if (isEmpty(this.jTextFieldBaseName.getText())) {
485 Log.wrn("Create far", "Base Name couldn't be empty");
486 return false;
487 }
488 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {
489 Log.wrn("Create far", "Incorrect data type for Base Name");
490 return false;
491 }
492 farHeader.setFarName(this.jTextFieldBaseName.getText());
493
494 //
495 // Check Guid
496 //
497 if (isEmpty(this.jTextFieldGuid.getText())) {
498 Log.wrn("Create far", "Guid Value couldn't be empty");
499 return false;
500 }
501 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {
502 Log.wrn("Create far", "Incorrect data type for Guid");
503 return false;
504 }
505 farHeader.setGuidValue(this.jTextFieldGuid.getText());
506
507 //
508 // Check Version
509 //
510 if (isEmpty(this.jTextFieldVersion.getText())) {
511 Log.wrn("Create far", "Version couldn't be empty");
512 return false;
513 }
514 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {
515 Log.wrn("Create far", "Incorrect data type for Version");
516 return false;
517 }
518 farHeader.setVersion(this.jTextFieldVersion.getText());
519
520 //
521 // Check Abstact
522 //
523 if (isEmpty(this.jTextFieldAbstract.getText())) {
524 Log.wrn("Create far", "Abstract couldn't be empty");
525 return false;
526 }
527 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {
528 Log.wrn("Create far", "Incorrect data type for Abstract");
529 return false;
530 }
531 farHeader.setAbstractStr(this.jTextFieldAbstract.getText());
532
533 //
534 // Check Description
535 //
536 if (isEmpty(this.jTextAreaDescription.getText())) {
537 Log.wrn("Create far", "Description couldn't be empty");
538 return false;
539 }
540 farHeader.setDescription(this.jTextAreaDescription.getText());
541
542 //
543 // Check Copyright
544 //
545 if (isEmpty(this.jTextFieldCopyright.getText())) {
546 Log.wrn("Create far", "Copyright couldn't be empty");
547 return false;
548 }
549 farHeader.setCopyright(this.jTextFieldCopyright.getText());
550
551 //
552 // Check License
553 //
554 if (isEmpty(this.jTextAreaLicense.getText())) {
555 Log.wrn("Create far", "License couldn't be empty");
556 return false;
557 }
558 farHeader.setLicense(this.jTextAreaLicense.getText());
559
560 farHeader.setSpecification(this.jTextFieldSpecification.getText());
561 return true;
562 }
563
564 /**
565 * Check the input data is empty or not
566 *
567 * @param strValue
568 * The input data which need be checked
569 *
570 * @retval true - The input data is empty
571 * @retval fals - The input data is not empty
572 *
573 */
574 public boolean isEmpty(String strValue) {
575 if (strValue.length() > 0) {
576 return false;
577 }
578 return true;
579 }
580
581 public void mouseClicked(MouseEvent e) {
582 if (e.getSource() == jButtonCancel) {
583 this.setVisible(false);
584 } else if (e.getSource() == jButtonNext) {
585 //
586 // Add some logic process here
587 //
588 if (!valid()) {
589 return;
590 }
591 if (stepTwo == null) {
592 stepTwo = new CreateStepTwo(this, true, this);
593 }
594 this.setVisible(false);
595 stepTwo.setVisible(true);
596 } else if (e.getSource() == jButtonGenerateGuid) {
597 this.jTextFieldGuid.setText(Tools.generateUuidString());
598 }
599 }
600
601 public void mousePressed(MouseEvent e) {
602 // TODO Auto-generated method stub
603
604 }
605
606 public void mouseReleased(MouseEvent e) {
607 // TODO Auto-generated method stub
608
609 }
610
611 public void mouseEntered(MouseEvent e) {
612 // TODO Auto-generated method stub
613
614 }
615
616 public void mouseExited(MouseEvent e) {
617 // TODO Auto-generated method stub
618
619 }
620
621 public FarHeader getFarHeader() {
622 return farHeader;
623 }
624 }