]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java
Fixed Absolute position of fields, Added ToolTipText and made HelpText a Scrolling...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / dialog / PCDsDlg.java
CommitLineData
06a19cee 1/** @file\r
2 \r
3 The file is used to create, update PCD of MSA/MBD file\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15package org.tianocore.frameworkwizard.module.ui.dialog;\r
16\r
17import java.awt.event.ActionEvent;\r
9a8d6d9f 18import java.awt.event.ItemEvent;\r
19import java.awt.event.ItemListener;\r
06a19cee 20import java.util.Vector;\r
21\r
22import javax.swing.JButton;\r
23import javax.swing.JComboBox;\r
24import javax.swing.JLabel;\r
25import javax.swing.JPanel;\r
26import javax.swing.JScrollPane;\r
27import javax.swing.JTextField;\r
747e1504 28import javax.swing.JTextArea;\r
06a19cee 29\r
30import org.tianocore.frameworkwizard.common.DataType;\r
31import org.tianocore.frameworkwizard.common.DataValidation;\r
06a19cee 32import org.tianocore.frameworkwizard.common.Log;\r
33import org.tianocore.frameworkwizard.common.Tools;\r
34import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
35import org.tianocore.frameworkwizard.common.ui.IDialog;\r
36import org.tianocore.frameworkwizard.common.ui.IFrame;\r
37import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
38import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdCodedIdentification;\r
9a8d6d9f 39import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;\r
06a19cee 40import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
41\r
42/**\r
5101eff9 43 * The class is used to create, update PCD of MSA/MBD file It extends\r
44 * IInternalFrame\r
45 * \r
46 */\r
9a8d6d9f 47public class PCDsDlg extends IDialog implements ItemListener {\r
06a19cee 48\r
5101eff9 49 // /\r
50 // / Define class Serial Version UID\r
51 // /\r
52 private static final long serialVersionUID = 2227717658188438696L;\r
06a19cee 53\r
5101eff9 54 //\r
55 // Define class members\r
56 //\r
57 private JPanel jContentPane = null;\r
06a19cee 58\r
5101eff9 59 private JLabel jLabelItemType = null;\r
06a19cee 60\r
5101eff9 61 private JLabel jLabelC_Name = null;\r
06a19cee 62\r
5101eff9 63 private JComboBox jComboBoxItemType = null;\r
06a19cee 64\r
5101eff9 65 private JComboBox jComboBoxCName = null;\r
06a19cee 66\r
5101eff9 67 private JLabel jLabelDefaultValue = null;\r
06a19cee 68\r
5101eff9 69 private JTextField jTextFieldDefaultValue = null;\r
06a19cee 70\r
5101eff9 71 private StarLabel jStarLabel1 = null;\r
06a19cee 72\r
5101eff9 73 private StarLabel jStarLabel2 = null;\r
06a19cee 74\r
5101eff9 75 private StarLabel jStarLabel3 = null;\r
06a19cee 76\r
5101eff9 77 private JLabel jLabelHelpText = null;\r
06a19cee 78\r
5101eff9 79 private JTextArea jTextAreaHelpText = null;\r
06a19cee 80\r
5101eff9 81 private JScrollPane jScrollPane = null;\r
06a19cee 82\r
5101eff9 83 private JLabel jLabelTokenSpaceGuid = null;\r
06a19cee 84\r
5101eff9 85 private JTextField jTextFieldTokenSpaceGuid = null;\r
06a19cee 86\r
5101eff9 87 private JLabel jLabelFeatureFlag = null;\r
06a19cee 88\r
5101eff9 89 private JTextField jTextFieldFeatureFlag = null;\r
06a19cee 90\r
5101eff9 91 private JLabel jLabelArch = null;\r
06a19cee 92\r
5101eff9 93 private ArchCheckBox jArchCheckBox = null;\r
06a19cee 94\r
5101eff9 95 private JButton jButtonOk = null;\r
06a19cee 96\r
5101eff9 97 private JButton jButtonCancel = null;\r
06a19cee 98\r
5101eff9 99 private JScrollPane jScrollPaneHelpText = null;\r
06a19cee 100\r
5101eff9 101 //\r
102 // Not used by UI\r
103 //\r
104 private PcdCodedIdentification id = null;\r
06a19cee 105\r
5101eff9 106 private WorkspaceTools wt = new WorkspaceTools();\r
06a19cee 107\r
5101eff9 108 private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace();\r
747e1504 109\r
5101eff9 110 /**\r
111 * This method initializes jComboBoxItemType\r
112 * \r
113 * @return javax.swing.JComboBox jComboBoxItemType\r
114 * \r
115 */\r
116 private JComboBox getJComboBoxItemType() {\r
117 if (jComboBoxItemType == null) {\r
118 jComboBoxItemType = new JComboBox();\r
119 jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
120 jComboBoxItemType.setPreferredSize(new java.awt.Dimension(320, 20));\r
06a19cee 121 }\r
5101eff9 122 return jComboBoxItemType;\r
123 }\r
124\r
125 /**\r
126 * This method initializes jTextFieldC_Name\r
127 * \r
128 * @return javax.swing.JTextField jTextFieldC_Name\r
129 * \r
130 */\r
131 private JComboBox getJComboBoxCName() {\r
132 if (jComboBoxCName == null) {\r
133 jComboBoxCName = new JComboBox();\r
134 jComboBoxCName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
135 jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20));\r
136 jComboBoxCName.addItemListener(this);\r
06a19cee 137 }\r
5101eff9 138 return jComboBoxCName;\r
139 }\r
140\r
141 /**\r
142 * This method initializes jTextFieldDefaultValue\r
143 * \r
144 * @return javax.swing.JTextField jTextFieldDefaultValue\r
145 * \r
146 */\r
147 private JTextField getJTextFieldDefaultValue() {\r
148 if (jTextFieldDefaultValue == null) {\r
149 jTextFieldDefaultValue = new JTextField();\r
150 jTextFieldDefaultValue\r
151 .setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
152 jTextFieldDefaultValue.setPreferredSize(new java.awt.Dimension(320, 20));\r
06a19cee 153 }\r
5101eff9 154 return jTextFieldDefaultValue;\r
155 }\r
156\r
157 /**\r
158 * This method initializes jTextAreaHelpText\r
159 * \r
160 * @return javax.swing.JTextArea\r
161 */\r
162 private JTextArea getJTextAreaHelpText() {\r
163 if (jTextAreaHelpText == null) {\r
164 jTextAreaHelpText = new JTextArea();\r
165 jTextAreaHelpText.setLineWrap(true);\r
166 jTextAreaHelpText.setWrapStyleWord(true);\r
06a19cee 167 }\r
5101eff9 168 return jTextAreaHelpText;\r
169 }\r
170\r
171 /**\r
172 * This method initializes jScrollPaneHelpText\r
173 * \r
174 * @return javax.swing.JScrollPane\r
175 * \r
176 */\r
177 private JScrollPane getJScrollPaneHelpText() {\r
178 if (jScrollPaneHelpText == null) {\r
179 jScrollPaneHelpText = new JScrollPane();\r
180 jScrollPaneHelpText\r
181 .setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
182 jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40));\r
183 jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40));\r
184 jScrollPaneHelpText.setLocation(new java.awt.Point(160, 85));\r
185 jScrollPaneHelpText.setViewportView(getJTextAreaHelpText());\r
06a19cee 186 }\r
5101eff9 187 return jScrollPaneHelpText;\r
188 }\r
189\r
190 /**\r
191 * This method initializes jScrollPane\r
192 * \r
193 * @return javax.swing.JScrollPane\r
194 */\r
195 private JScrollPane getJScrollPane() {\r
196 if (jScrollPane == null) {\r
197 jScrollPane = new JScrollPane();\r
198 jScrollPane.setViewportView(getJContentPane());\r
06a19cee 199 }\r
5101eff9 200 return jScrollPane;\r
201 }\r
202\r
203 /**\r
204 * This method initializes jTextFieldTokenSpaceGuid\r
205 * \r
206 * @return javax.swing.JTextField\r
207 */\r
208 private JTextField getJTextFieldTokenSpaceGuid() {\r
209 if (jTextFieldTokenSpaceGuid == null) {\r
210 jTextFieldTokenSpaceGuid = new JTextField();\r
211 jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(160, 60, 320,\r
212 20));\r
213 jTextFieldTokenSpaceGuid\r
214 .setPreferredSize(new java.awt.Dimension(320, 20));\r
215 jTextFieldTokenSpaceGuid.setVisible(false);\r
06a19cee 216 }\r
5101eff9 217 return jTextFieldTokenSpaceGuid;\r
218 }\r
219\r
220 /**\r
221 * This method initializes jTextFieldFeatureFlag\r
222 * \r
223 * @return javax.swing.JTextField\r
224 */\r
225 private JTextField getJTextFieldFeatureFlag() {\r
226 if (jTextFieldFeatureFlag == null) {\r
227 jTextFieldFeatureFlag = new JTextField();\r
228 jTextFieldFeatureFlag\r
229 .setBounds(new java.awt.Rectangle(160, 130, 320, 20));\r
230 jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20));\r
231 jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE");\r
06a19cee 232 }\r
5101eff9 233 return jTextFieldFeatureFlag;\r
234 }\r
235\r
236 /**\r
237 * This method initializes jButtonOk\r
238 * \r
239 * @return javax.swing.JButton\r
240 * \r
241 */\r
242 private JButton getJButtonOk() {\r
243 if (jButtonOk == null) {\r
244 jButtonOk = new JButton();\r
245 jButtonOk.setBounds(new java.awt.Rectangle(290, 182, 90, 20));\r
246 jButtonOk.setText("Ok");\r
247 jButtonOk.addActionListener(this);\r
06a19cee 248 }\r
5101eff9 249 return jButtonOk;\r
250 }\r
251\r
252 /**\r
253 * This method initializes jButtonCancel\r
254 * \r
255 * @return javax.swing.JButton\r
256 * \r
257 */\r
258 private JButton getJButtonCancel() {\r
259 if (jButtonCancel == null) {\r
260 jButtonCancel = new JButton();\r
261 jButtonCancel.setBounds(new java.awt.Rectangle(390, 182, 90, 20));\r
262 jButtonCancel.setText("Cancel");\r
263 jButtonCancel.addActionListener(this);\r
06a19cee 264 }\r
5101eff9 265 return jButtonCancel;\r
266 }\r
267\r
268 public static void main(String[] args) {\r
269\r
270 }\r
271\r
272 /**\r
273 * This method initializes this\r
274 * \r
275 */\r
276 private void init() {\r
277 this.setSize(500, 255);\r
278 this.setContentPane(getJScrollPane());\r
279 this.setTitle("Pcd Coded");\r
280 initFrame();\r
281 this.setViewMode(false);\r
282 this.centerWindow();\r
283 }\r
284\r
285 /**\r
286 * This method initializes this Fill values to all fields if these values are\r
287 * not empty\r
288 * \r
289 * @param inPcdCodedId\r
290 * \r
291 */\r
292 private void init(PcdCodedIdentification inPcdCodedId) {\r
293 init();\r
294 this.id = inPcdCodedId;\r
295\r
296 if (this.id != null) {\r
297 this.jComboBoxCName.setSelectedItem(id.getName());\r
298 this.jTextFieldTokenSpaceGuid.setText(id.getGuid());\r
299 this.jTextFieldDefaultValue.setText(id.getValue());\r
300 this.jTextAreaHelpText.setText(id.getHelp());\r
301 this.jComboBoxItemType.setSelectedItem(id.getType());\r
302 this.jTextFieldFeatureFlag.setText(id.getFeatureFlag());\r
303 this.jArchCheckBox.setSelectedItems(id.getSupArchList());\r
06a19cee 304 }\r
5101eff9 305 }\r
306\r
307 /**\r
308 * This is the override edit constructor\r
309 * \r
310 * @param inPcdCodedId\r
311 * @param iFrame\r
312 * \r
313 */\r
314 public PCDsDlg(PcdCodedIdentification inPcdCodedId, IFrame iFrame) {\r
315 super(iFrame, true);\r
316 init(inPcdCodedId);\r
317 }\r
318\r
319 /**\r
320 * Disable all components when the mode is view\r
321 * \r
322 * @param isView\r
323 * true - The view mode; false - The non-view mode\r
324 * \r
325 */\r
326 public void setViewMode(boolean isView) {\r
327 if (isView) {\r
328 this.jTextFieldDefaultValue.setEnabled(!isView);\r
329 this.jComboBoxItemType.setEnabled(!isView);\r
06a19cee 330 }\r
5101eff9 331 }\r
332\r
333 /**\r
334 * This method initializes jContentPane\r
335 * \r
336 * @return javax.swing.JPanel jContentPane\r
337 * \r
338 */\r
339 private JPanel getJContentPane() {\r
340 if (jContentPane == null) {\r
341 jStarLabel1 = new StarLabel();\r
342 jStarLabel1.setLocation(new java.awt.Point(2, 10));\r
343 jLabelC_Name = new JLabel();\r
344 jLabelC_Name.setText("PCD C Name");\r
345 jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 145, 20));\r
346\r
347 jStarLabel2 = new StarLabel();\r
348 jStarLabel2.setLocation(new java.awt.Point(2, 35));\r
349 jLabelItemType = new JLabel();\r
350 jLabelItemType.setText("PCD Item Type");\r
351 jLabelItemType.setBounds(new java.awt.Rectangle(15, 35, 145, 20));\r
352\r
353 jLabelDefaultValue = new JLabel();\r
354 jLabelDefaultValue.setText("Default Value");\r
355 jLabelDefaultValue.setBounds(new java.awt.Rectangle(15, 60, 145, 20));\r
356\r
357 jStarLabel3 = new StarLabel();\r
358 jStarLabel3.setLocation(new java.awt.Point(2, 85));\r
359 jLabelHelpText = new JLabel();\r
360 jLabelHelpText.setText("Help Text");\r
361 jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 145, 20));\r
362\r
363 jLabelFeatureFlag = new JLabel();\r
364 jLabelFeatureFlag.setText("Feature Flag Expression");\r
365 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20));\r
366\r
367 jLabelTokenSpaceGuid = new JLabel();\r
368 jLabelTokenSpaceGuid.setText("Token Space C Name");\r
369 jLabelTokenSpaceGuid.setVisible(false);\r
370\r
371 jLabelArch = new JLabel();\r
372 jLabelArch.setText("Supported Architectures");\r
373 jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 145, 20));\r
374 jArchCheckBox = new ArchCheckBox();\r
375 jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
376 jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20));\r
377\r
378 // Hidden field\r
379 jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
380\r
381 jContentPane = new JPanel();\r
382 jContentPane.setLayout(null);\r
383 jContentPane.setPreferredSize(new java.awt.Dimension(485, 210));\r
384\r
385 jContentPane.add(jStarLabel1, null);\r
386 jContentPane.add(jLabelC_Name, null);\r
387 jContentPane.add(getJComboBoxCName(), null);\r
388 jContentPane.add(jStarLabel2, null);\r
389 jContentPane.add(jLabelItemType, null);\r
390 jContentPane.add(getJComboBoxItemType(), null);\r
391 jContentPane.add(jLabelDefaultValue, null);\r
392 jContentPane.add(getJTextFieldDefaultValue(), null);\r
393 jContentPane.add(jStarLabel3, null);\r
394 jContentPane.add(jLabelHelpText, null);\r
395 jContentPane.add(getJScrollPaneHelpText(), null);\r
396 jContentPane.add(jLabelFeatureFlag, null);\r
397 jContentPane.add(getJTextFieldFeatureFlag(), null);\r
398 jContentPane.add(jLabelArch, null);\r
399 jContentPane.add(jArchCheckBox, null);\r
400 // Hidden\r
401 jContentPane.add(getJTextFieldTokenSpaceGuid(), null);\r
402 jContentPane.add(jLabelTokenSpaceGuid, null);\r
403 jContentPane.add(getJButtonOk(), null);\r
404 jContentPane.add(getJButtonCancel(), null);\r
405 }\r
406 return jContentPane;\r
407 }\r
408\r
409 /**\r
410 * This method initializes Usage type, Item type and Datum type\r
411 * \r
412 */\r
413 private void initFrame() {\r
414 for (int index = 0; index < pcd.size(); index++) {\r
415 jComboBoxCName.addItem(pcd.getPcd(index));\r
06a19cee 416 }\r
417\r
5101eff9 418 // Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes());\r
419 }\r
420\r
421 \r
422 /*\r
423 * (non-Javadoc)\r
424 * \r
425 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
426 * \r
427 * Override actionPerformed to listen all actions\r
428 * \r
429 */\r
430 public void actionPerformed(ActionEvent arg0) {\r
431 if (arg0.getSource() == jButtonOk) {\r
432 if (checkAdd()) {\r
433 getCurrentPcdCoded();\r
434 this.returnType = DataType.RETURN_TYPE_OK;\r
435 this.setVisible(false);\r
436 }\r
06a19cee 437 }\r
438\r
5101eff9 439 if (arg0.getSource() == jButtonCancel) {\r
440 this.returnType = DataType.RETURN_TYPE_CANCEL;\r
441 this.setVisible(false);\r
06a19cee 442 }\r
5101eff9 443 }\r
444\r
445 /**\r
446 * Data validation for all fields\r
447 * \r
448 * @retval true - All datas are valid\r
449 * @retval false - At least one data is invalid\r
450 * \r
451 */\r
452 public boolean checkAdd() {\r
453 //\r
454 // Check if all fields have correct data types\r
455 //\r
06a19cee 456\r
5101eff9 457 //\r
458 // Check C_Name\r
459 //\r
460 if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) {\r
461 if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem()\r
462 .toString())) {\r
463 Log.wrn("Update PcdCoded", "Incorrect data type for C Name");\r
464 return false;\r
465 }\r
466 }\r
06a19cee 467\r
5101eff9 468 //\r
469 // Check TokenSpaceGuid\r
470 //\r
471 if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) {\r
472 if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) {\r
473 Log\r
474 .wrn("Update PcdCoded",\r
475 "Incorrect data type for the selected pcd entry, please check in in spd file");\r
476 return false;\r
477 }\r
478 }\r
06a19cee 479\r
5101eff9 480 //\r
481 // Check DefaultValue\r
482 //\r
483 if (!isEmpty(this.jTextFieldDefaultValue.getText())) {\r
484 if (!DataValidation.isDefaultValueType(this.jTextFieldDefaultValue\r
485 .getText())) {\r
486 Log.wrn("Update PcdCoded", "Incorrect data type for Default Value");\r
487 return false;\r
488 }\r
06a19cee 489 }\r
490\r
5101eff9 491 //\r
492 // Check HelpText\r
493 //\r
494 if (isEmpty(this.jTextAreaHelpText.getText())) {\r
495 Log.wrn("Update PcdCoded", "Help Text should not be empty");\r
496 return false;\r
06a19cee 497 }\r
498\r
5101eff9 499 //\r
500 // Check FeatureFlag\r
501 //\r
502 if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
503 if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
504 Log.wrn("Update PcdCoded", "Incorrect data type for Feature Flag");\r
505 return false;\r
506 }\r
06a19cee 507 }\r
9a8d6d9f 508\r
5101eff9 509 return true;\r
510 }\r
511\r
512 private PcdCodedIdentification getCurrentPcdCoded() {\r
513 String arg0 = this.jComboBoxCName.getSelectedItem().toString();\r
514 String arg1 = this.jTextFieldTokenSpaceGuid.getText();\r
515\r
516 String arg2 = this.jTextFieldFeatureFlag.getText();\r
517 Vector<String> arg3 = this.jArchCheckBox.getSelectedItemsVector();\r
518\r
519 String arg4 = this.jTextFieldDefaultValue.getText();\r
520 String arg5 = this.jTextAreaHelpText.getText();\r
521 String arg6 = this.jComboBoxItemType.getSelectedItem().toString();\r
522 id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6);\r
523 return id;\r
524 }\r
525 \r
526 public PcdCodedIdentification getId() {\r
527 return id;\r
528 }\r
529\r
530 public void setId(PcdCodedIdentification id) {\r
531 this.id = id;\r
532 }\r
533\r
534 /*\r
535 * (non-Javadoc)\r
536 * \r
537 * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)\r
538 * \r
539 * Reflesh the frame when selected item changed\r
540 * \r
541 */\r
542 public void itemStateChanged(ItemEvent arg0) {\r
543 int index = this.jComboBoxCName.getSelectedIndex();\r
544 if (arg0.getSource() == this.jComboBoxCName\r
545 && arg0.getStateChange() == ItemEvent.SELECTED) {\r
546 if (pcd.getPcd(index).getGuidCName() == null\r
547 || isEmpty(pcd.getPcd(index).getGuidCName())\r
548 || pcd.getPcd(index).getType() == null\r
549 || pcd.getPcd(index).getHelp() == null\r
550 || isEmpty(pcd.getPcd(index).getHelp())) {\r
551 Log\r
552 .wrn("select pcd entry when editing msa",\r
553 "The selected is defined incorrectly.\r\nPlease check it in spd file");\r
554 } else {\r
555 this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName());\r
556 Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd\r
557 .getPcd(index).getType());\r
558 this.jTextAreaHelpText.setText(pcd.getPcd(index).getHelp());\r
559 this.jTextAreaHelpText.setSelectionStart(0);\r
560 this.jTextAreaHelpText.setSelectionEnd(0);\r
561 }\r
9a8d6d9f 562 }\r
5101eff9 563 }\r
06a19cee 564}\r