| Quintiq file version 2.0 | 
| #parent: #root | 
| Method PTF_InsertStatement () id:Method_LibPTF_dlgCreateEditTestScript_PTF_InsertStatement | 
| { | 
|   #keys: '[103546.0.78315835]' | 
|   Body: | 
|   [* | 
|     // Insert the user selected action and the entered parameters into the Script Editor | 
|     keyword      := selKeyWord.BoundValue(); | 
|     keywordparam := "" | 
|     endkeyword   := "" | 
|      | 
|     // Insert additional statements for the LOOP keyword | 
|     if( keyword.ToUpper().FindString( LibPTF_StandardAction::Loop().ToUpper(), 0 ) > -1 ) | 
|     { | 
|       endkeyword := ";" + String::NewLine() + "  << DEFINE YOUR TASK >>" + String::NewLine() + LibPTF_StandardAction::EndLoop(); | 
|     } | 
|      | 
|     if( edtKeyWordParameter.Text().TrimBoth().Length() > 0 ) | 
|     { | 
|       keywordparam := " " + edtKeyWordParameter.Text().TrimBoth(); | 
|     } | 
|      | 
|     // Retrieve the action(keyword) and the set of parameters from a statement | 
|     parameters := construct( Strings ); | 
|     this.PTF_GetActionAndParameters( keyword + keywordparam, parameters ); | 
|      | 
|     // Validate the set of parameters based on action(keyword) | 
|     errormsg := this.PTF_ValidateStatement( keyword, parameters ); | 
|      | 
|     // Format the error message when there is an error in validation | 
|     if( errormsg.Length() > 0 ) | 
|     { | 
|       errormsg := "The following error is found in the script:" + String::NewLine() + String::NewLine() | 
|                   + errormsg + String::NewLine() + "Do you still want to add the action into the script?"; | 
|     } | 
|      | 
|     // When validation passed, or user insists to insert the invalid statement, perform insert. | 
|     if( errormsg.Length() = 0 or MessageBox::Warning( this, errormsg, '&Yes|&No', 1 ) = 0 ) | 
|     { | 
|       // Append new script | 
|       if( edtActionScript.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         edtActionScript.CursorToBegin(); | 
|       } | 
|       else | 
|       { | 
|         edtActionScript.CursorToEndOfLine(); | 
|         edtActionScript.InsertText( String::NewLine() ); | 
|       } | 
|      | 
|       edtActionScript.InsertText( keyword + keywordparam + endkeyword + ";" ); | 
|     } | 
|   *] | 
| } |