X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fmodule%2Fui%2Fdialog%2FPCDsDlg.java;h=81a4dfe3daa3a96b5ccbb01375f80f9368cc6687;hp=7972926d567936eff6fe3d15f4314c3ec02ac578;hb=623db5caebe9ecf6ef8f78a46a0495761fe1912b;hpb=06a19ceec7b8b78f4698073ce4054b26dc4a74bd diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java index 7972926d56..81a4dfe3da 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java @@ -1,6 +1,6 @@ /** @file - The file is used to create, update PCD of MSA/MBD file + The file is used to create, update PcdCode section of the MSA file Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials @@ -15,6 +15,8 @@ package org.tianocore.frameworkwizard.module.ui.dialog; import java.awt.event.ActionEvent; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import java.util.Vector; import javax.swing.JButton; @@ -23,6 +25,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; +import javax.swing.JTextArea; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation; @@ -34,24 +37,24 @@ import org.tianocore.frameworkwizard.common.ui.IDialog; import org.tianocore.frameworkwizard.common.ui.IFrame; import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdCodedIdentification; +import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector; import org.tianocore.frameworkwizard.workspace.WorkspaceTools; /** - The class is used to create, update PCD of MSA/MBD file - It extends IInternalFrame - - - - **/ -public class PCDsDlg extends IDialog { - - /// - /// Define class Serial Version UID - /// + * The class is used to create, update PcdCoded section of the MSA file + * + * It extends IDialog + * + */ +public class PCDsDlg extends IDialog implements ItemListener { + + // / + // / Define class Serial Version UID + // / private static final long serialVersionUID = 2227717658188438696L; // - //Define class members + // Define class members // private JPanel jContentPane = null; @@ -75,7 +78,7 @@ public class PCDsDlg extends IDialog { private JLabel jLabelHelpText = null; - private JTextField jTextFieldHelpText = null; + private JTextArea jTextAreaHelpText = null; private JScrollPane jScrollPane = null; @@ -95,6 +98,12 @@ public class PCDsDlg extends IDialog { private JButton jButtonCancel = null; + private JScrollPane jScrollPaneHelpText = null; + + private JLabel jLabelUsage = null; + + private JComboBox jComboBoxUsage = null; + // // Not used by UI // @@ -104,69 +113,90 @@ public class PCDsDlg extends IDialog { private WorkspaceTools wt = new WorkspaceTools(); + private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace(); + /** - This method initializes jComboBoxItemType - - @return javax.swing.JComboBox jComboBoxItemType - - **/ + * This method initializes jComboBoxItemType + * + * @return javax.swing.JComboBox jComboBoxItemType + * + */ private JComboBox getJComboBoxItemType() { if (jComboBoxItemType == null) { jComboBoxItemType = new JComboBox(); - jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); + jComboBoxItemType.setBounds(new java.awt.Rectangle(168, 37, 320, 20)); jComboBoxItemType.setPreferredSize(new java.awt.Dimension(320, 20)); } return jComboBoxItemType; } /** - This method initializes jTextFieldC_Name - - @return javax.swing.JTextField jTextFieldC_Name - - **/ + * This method initializes jTextFieldC_Name + * + * @return javax.swing.JTextField jTextFieldC_Name + * + */ private JComboBox getJComboBoxCName() { if (jComboBoxCName == null) { jComboBoxCName = new JComboBox(); - jComboBoxCName.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); + jComboBoxCName.setBounds(new java.awt.Rectangle(168, 12, 320, 20)); jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxCName.addItemListener(this); } return jComboBoxCName; } /** - This method initializes jTextFieldDefaultValue - - @return javax.swing.JTextField jTextFieldDefaultValue - - **/ + * This method initializes jTextFieldDefaultValue + * + * @return javax.swing.JTextField jTextFieldDefaultValue + * + */ private JTextField getJTextFieldDefaultValue() { if (jTextFieldDefaultValue == null) { jTextFieldDefaultValue = new JTextField(); - jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(168, 62, 320, 20)); jTextFieldDefaultValue.setPreferredSize(new java.awt.Dimension(320, 20)); } return jTextFieldDefaultValue; } /** - * This method initializes jTextFieldHelpText - * - * @return javax.swing.JTextField + * This method initializes jTextAreaHelpText + * + * @return javax.swing.JTextArea + */ + private JTextArea getJTextAreaHelpText() { + if (jTextAreaHelpText == null) { + jTextAreaHelpText = new JTextArea(); + jTextAreaHelpText.setLineWrap(true); + jTextAreaHelpText.setWrapStyleWord(true); + } + return jTextAreaHelpText; + } + + /** + * This method initializes jScrollPaneHelpText + * + * @return javax.swing.JScrollPane + * */ - private JTextField getJTextFieldHelpText() { - if (jTextFieldHelpText == null) { - jTextFieldHelpText = new JTextField(); - jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 85, 320, 20)); - jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20)); + private JScrollPane getJScrollPaneHelpText() { + if (jScrollPaneHelpText == null) { + jScrollPaneHelpText = new JScrollPane(); + jScrollPaneHelpText.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40)); + jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40)); + jScrollPaneHelpText.setLocation(new java.awt.Point(168, 112)); + jScrollPaneHelpText.setViewportView(getJTextAreaHelpText()); } - return jTextFieldHelpText; + return jScrollPaneHelpText; } /** - This method initializes jScrollPane - - @return javax.swing.JScrollPane + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane */ private JScrollPane getJScrollPane() { if (jScrollPane == null) { @@ -177,14 +207,14 @@ public class PCDsDlg extends IDialog { } /** - * This method initializes jTextFieldTokenSpaceGuid - * - * @return javax.swing.JTextField + * This method initializes jTextFieldTokenSpaceGuid + * + * @return javax.swing.JTextField */ private JTextField getJTextFieldTokenSpaceGuid() { if (jTextFieldTokenSpaceGuid == null) { jTextFieldTokenSpaceGuid = new JTextField(); - jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(168, 62, 320, 20)); jTextFieldTokenSpaceGuid.setPreferredSize(new java.awt.Dimension(320, 20)); jTextFieldTokenSpaceGuid.setVisible(false); } @@ -192,29 +222,31 @@ public class PCDsDlg extends IDialog { } /** - * This method initializes jTextFieldFeatureFlag - * - * @return javax.swing.JTextField + * This method initializes jTextFieldFeatureFlag + * + * @return javax.swing.JTextField */ private JTextField getJTextFieldFeatureFlag() { if (jTextFieldFeatureFlag == null) { jTextFieldFeatureFlag = new JTextField(); - jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 110, 320, 20)); + jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(168, 182, 320, 20)); jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); + jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE"); + jTextFieldFeatureFlag.setEnabled(false); } return jTextFieldFeatureFlag; } /** - This method initializes jButtonOk - - @return javax.swing.JButton - - **/ + * This method initializes jButtonOk + * + * @return javax.swing.JButton + * + */ private JButton getJButtonOk() { if (jButtonOk == null) { jButtonOk = new JButton(); - jButtonOk.setBounds(new java.awt.Rectangle(290, 165, 90, 20)); + jButtonOk.setBounds(new java.awt.Rectangle(290, 212, 90, 20)); jButtonOk.setText("Ok"); jButtonOk.addActionListener(this); } @@ -222,31 +254,45 @@ public class PCDsDlg extends IDialog { } /** - This method initializes jButtonCancel - - @return javax.swing.JButton - - **/ + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + * + */ private JButton getJButtonCancel() { if (jButtonCancel == null) { jButtonCancel = new JButton(); - jButtonCancel.setBounds(new java.awt.Rectangle(390, 165, 90, 20)); + jButtonCancel.setBounds(new java.awt.Rectangle(390, 212, 90, 20)); jButtonCancel.setText("Cancel"); jButtonCancel.addActionListener(this); } return jButtonCancel; } + /** + * This method initializes jComboBoxUsage + * + * @return javax.swing.JComboBox + */ + private JComboBox getJComboBoxUsage() { + if (jComboBoxUsage == null) { + jComboBoxUsage = new JComboBox(); + jComboBoxUsage.setBounds(new java.awt.Rectangle(168, 87, 320, 20)); + jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); + } + return jComboBoxUsage; + } + public static void main(String[] args) { } /** - This method initializes this - - **/ + * This method initializes this + * + */ private void init() { - this.setSize(500, 225); + this.setSize(505, 280); this.setContentPane(getJScrollPane()); this.setTitle("Pcd Coded"); initFrame(); @@ -255,21 +301,27 @@ public class PCDsDlg extends IDialog { } /** - This method initializes this - Fill values to all fields if these values are not empty - - @param inPcdCodedId - - **/ + * This method initializes this Fill values to all fields if these values are + * not empty + * + * @param inPcdCodedId + * + */ private void init(PcdCodedIdentification inPcdCodedId) { init(); this.id = inPcdCodedId; if (this.id != null) { - this.jComboBoxCName.setSelectedItem(id.getName()); + for (int index = 0; index < this.jComboBoxCName.getItemCount(); index++) { + if (this.jComboBoxCName.getItemAt(index).toString().equals(id.getName())) { + this.jComboBoxCName.setSelectedIndex(index); + break; + } + } this.jTextFieldTokenSpaceGuid.setText(id.getGuid()); this.jTextFieldDefaultValue.setText(id.getValue()); - this.jTextFieldHelpText.setText(id.getHelp()); + this.jComboBoxUsage.setSelectedItem(id.getUsage()); + this.jTextAreaHelpText.setText(id.getHelp()); this.jComboBoxItemType.setSelectedItem(id.getType()); this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); this.jArchCheckBox.setSelectedItems(id.getSupArchList()); @@ -277,23 +329,24 @@ public class PCDsDlg extends IDialog { } /** - This is the override edit constructor - - @param inPcdCodedId - @param iFrame - - **/ + * This is the override edit constructor + * + * @param inPcdCodedId + * @param iFrame + * + */ public PCDsDlg(PcdCodedIdentification inPcdCodedId, IFrame iFrame) { super(iFrame, true); init(inPcdCodedId); } /** - Disable all components when the mode is view - - @param isView true - The view mode; false - The non-view mode - - **/ + * Disable all components when the mode is view + * + * @param isView + * true - The view mode; false - The non-view mode + * + */ public void setViewMode(boolean isView) { if (isView) { this.jTextFieldDefaultValue.setEnabled(!isView); @@ -302,85 +355,104 @@ public class PCDsDlg extends IDialog { } /** - This method initializes jContentPane - - @return javax.swing.JPanel jContentPane - - **/ + * This method initializes jContentPane + * + * @return javax.swing.JPanel jContentPane + * + */ private JPanel getJContentPane() { if (jContentPane == null) { - jArchCheckBox = new ArchCheckBox(); - jArchCheckBox.setBounds(new java.awt.Rectangle(160, 135, 320, 20)); - jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); - jLabelArch = new JLabel(); - jLabelArch.setBounds(new java.awt.Rectangle(15, 135, 140, 20)); - jLabelArch.setText("Sup Arch List"); - jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 110, 140, 20)); - jLabelFeatureFlag.setText("Feature Flag"); - jLabelTokenSpaceGuid = new JLabel(); - jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabelTokenSpaceGuid.setText("Token Space C_Name"); - jLabelTokenSpaceGuid.setVisible(false); - jLabelHelpText = new JLabel(); - jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 140, 20)); - jLabelHelpText.setText("Help Text"); + jLabelUsage = new JLabel(); + jLabelUsage.setBounds(new java.awt.Rectangle(12, 87, 168, 20)); + jLabelUsage.setText("Usge"); + jStarLabel1 = new StarLabel(); + jStarLabel1.setLocation(new java.awt.Point(2, 12)); jLabelC_Name = new JLabel(); - jLabelC_Name.setText("C_Name"); - jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 140, 20)); + jLabelC_Name.setText("PCD C Name"); + jLabelC_Name.setBounds(new java.awt.Rectangle(12, 12, 168, 20)); + + jStarLabel2 = new StarLabel(); + jStarLabel2.setLocation(new java.awt.Point(2, 37)); + jLabelItemType = new JLabel(); + jLabelItemType.setText("PCD Item Type"); + jLabelItemType.setBounds(new java.awt.Rectangle(12, 37, 168, 20)); + jLabelDefaultValue = new JLabel(); jLabelDefaultValue.setText("Default Value"); - jLabelDefaultValue.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabelItemType = new JLabel(); - jLabelItemType.setText("Item Type"); - jLabelItemType.setBounds(new java.awt.Rectangle(15, 35, 140, 20)); + jLabelDefaultValue.setBounds(new java.awt.Rectangle(12, 62, 168, 20)); + + jStarLabel3 = new StarLabel(); + jStarLabel3.setLocation(new java.awt.Point(2, 112)); + jLabelHelpText = new JLabel(); + jLabelHelpText.setText("Help Text"); + jLabelHelpText.setBounds(new java.awt.Rectangle(12, 112, 168, 20)); + + jLabelFeatureFlag = new JLabel(); + jLabelFeatureFlag.setText("Feature Flag Expression"); + jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 182, 168, 20)); + jLabelFeatureFlag.setEnabled(false); + + jLabelTokenSpaceGuid = new JLabel(); + jLabelTokenSpaceGuid.setText("Token Space C Name"); + jLabelTokenSpaceGuid.setVisible(false); + + jLabelArch = new JLabel(); + jLabelArch.setText("Supported Architectures"); + jLabelArch.setBounds(new java.awt.Rectangle(12, 157, 168, 20)); + jArchCheckBox = new ArchCheckBox(); + jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); + jArchCheckBox.setBounds(new java.awt.Rectangle(168, 157, 320, 20)); + + // Hidden field + jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(12, 62, 140, 20)); jContentPane = new JPanel(); jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 190)); + jContentPane.setPreferredSize(new java.awt.Dimension(485, 235)); - jContentPane.add(jLabelItemType, null); + jContentPane.add(jStarLabel1, null); jContentPane.add(jLabelC_Name, null); jContentPane.add(getJComboBoxCName(), null); + jContentPane.add(jStarLabel2, null); + jContentPane.add(jLabelItemType, null); + jContentPane.add(getJComboBoxItemType(), null); jContentPane.add(jLabelDefaultValue, null); jContentPane.add(getJTextFieldDefaultValue(), null); - jContentPane.add(getJComboBoxItemType(), null); - jStarLabel1 = new StarLabel(); - jStarLabel1.setLocation(new java.awt.Point(0, 10)); - jStarLabel2 = new StarLabel(); - jStarLabel2.setLocation(new java.awt.Point(0, 35)); - jStarLabel3 = new StarLabel(); - jStarLabel3.setLocation(new java.awt.Point(0, 85)); - jContentPane.add(jStarLabel1, null); - jContentPane.add(jStarLabel2, null); jContentPane.add(jStarLabel3, null); jContentPane.add(jLabelHelpText, null); - jContentPane.add(getJTextFieldHelpText(), null); - - jContentPane.add(jLabelTokenSpaceGuid, null); - jContentPane.add(getJTextFieldTokenSpaceGuid(), null); + jContentPane.add(getJScrollPaneHelpText(), null); jContentPane.add(jLabelFeatureFlag, null); jContentPane.add(getJTextFieldFeatureFlag(), null); jContentPane.add(jLabelArch, null); jContentPane.add(jArchCheckBox, null); + // Hidden + jContentPane.add(getJTextFieldTokenSpaceGuid(), null); + jContentPane.add(jLabelTokenSpaceGuid, null); jContentPane.add(getJButtonOk(), null); jContentPane.add(getJButtonCancel(), null); + jContentPane.add(jLabelUsage, null); + jContentPane.add(getJComboBoxUsage(), null); } return jContentPane; } /** - This method initializes Usage type, Item type and Datum type - - **/ + * This method initializes Usage type, Item type and Datum type + * + */ private void initFrame() { - Tools.generateComboBoxByVector(jComboBoxCName, wt.getAllPcdDeclarationsFromWorkspace()); - Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes()); + for (int index = 0; index < pcd.size(); index++) { + jComboBoxCName.addItem(pcd.getPcd(index)); + } + + Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVPcdUsage()); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - * + * * Override actionPerformed to listen all actions * */ @@ -400,23 +472,23 @@ public class PCDsDlg extends IDialog { } /** - Data validation for all fields - - @retval true - All datas are valid - @retval false - At least one data is invalid - - **/ + * Data validation for all fields + * + * @retval true - All datas are valid + * @retval false - At least one data is invalid + * + */ public boolean checkAdd() { // - // Check if all fields have correct data types + // Check if all fields have correct data types // // - // Check C_Name + // Check C_Name // if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem().toString())) { - Log.err("Incorrect data type for C_Name"); + Log.wrn("Update PcdCoded", "Incorrect data type for C Name"); return false; } } @@ -424,19 +496,20 @@ public class PCDsDlg extends IDialog { // // Check TokenSpaceGuid // - // if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) { - // if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) { - // Log.err("Incorrect data type for Token Space C_Name"); - // return false; - // } - // } + if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) { + if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) { + Log.wrn("Update PcdCoded", + "Incorrect data type for the selected pcd entry, please check the datatype specified in the spd file"); + return false; + } + } // // Check DefaultValue // if (!isEmpty(this.jTextFieldDefaultValue.getText())) { if (!DataValidation.isDefaultValueType(this.jTextFieldDefaultValue.getText())) { - Log.err("Incorrect data type for Default Value"); + Log.wrn("Update PcdCoded", "Incorrect data type for Default Value"); return false; } } @@ -444,8 +517,8 @@ public class PCDsDlg extends IDialog { // // Check HelpText // - if (isEmpty(this.jTextFieldHelpText.getText())) { - Log.err("Help Text couldn't be empty"); + if (isEmpty(this.jTextAreaHelpText.getText())) { + Log.wrn("Update PcdCoded", "Help Text should not be empty"); return false; } @@ -454,7 +527,7 @@ public class PCDsDlg extends IDialog { // if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { - Log.err("Incorrect data type for Feature Flag"); + Log.wrn("Update PcdCoded", "Incorrect data type for Feature Flag"); return false; } } @@ -470,9 +543,14 @@ public class PCDsDlg extends IDialog { Vector arg3 = this.jArchCheckBox.getSelectedItemsVector(); String arg4 = this.jTextFieldDefaultValue.getText(); - String arg5 = this.jTextFieldHelpText.getText(); + String arg5 = this.jTextAreaHelpText.getText(); String arg6 = this.jComboBoxItemType.getSelectedItem().toString(); - id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + String arg7 = this.jComboBoxUsage.getSelectedItem().toString(); + if (arg7.equals(DataType.EMPTY_SELECT_ITEM)) { + arg7 = ""; + } + + id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); return id; } @@ -483,4 +561,30 @@ public class PCDsDlg extends IDialog { public void setId(PcdCodedIdentification id) { this.id = id; } + + /* + * (non-Javadoc) + * + * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) + * + * Reflesh the frame when selected item changed + * + */ + public void itemStateChanged(ItemEvent arg0) { + int index = this.jComboBoxCName.getSelectedIndex(); + if (arg0.getSource() == this.jComboBoxCName && arg0.getStateChange() == ItemEvent.SELECTED) { + if (pcd.getPcd(index).getGuidCName() == null || isEmpty(pcd.getPcd(index).getGuidCName()) + || pcd.getPcd(index).getType() == null || pcd.getPcd(index).getHelp() == null + || isEmpty(pcd.getPcd(index).getHelp())) { + Log.wrn("select pcd entry when editing msa", + "The selected value is defined incorrectly.\r\nPlease check it in the spd file"); + } else { + this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName()); + Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd.getPcd(index).getType()); + this.jTextAreaHelpText.setText(pcd.getPcd(index).getHelp()); + this.jTextAreaHelpText.setSelectionStart(0); + this.jTextAreaHelpText.setSelectionEnd(0); + } + } + } }