///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
//  Module: EPTF_UIHandler_Test_IteratorTestcases
// 
//  Purpose:
//    This module contains Iterator-change tests of EPTF_CLL_UIHandler.
// 
//  Module depends on:
//   EPTF_UIHandler_Test_Definitions
//   EPTF_UIHandler_Test_Functions
//
//
//  Current Owner:
//    Janos Zoltan Svaner (EJNOSVN)
// 
//  Last Review Date:
//    2013-xx-xx
//
//  Detailed Comments:
//
///////////////////////////////////////////////////////////////
module EPTF_UIHandler_Test_IteratorTestcases
{
//=========================================================================
// Import Part
//=========================================================================

import from EPTF_UIHandler_Test_Definitions all;//ok
import from EPTF_UIHandler_Test_Functions all;//ok
import from ttcn_ericsson_se_protocolModules_xtdp_xtdl all;//ok

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_expand1                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "           <textbox id='bubu_2' readonly='true' value='LGen3 ' />"&
  "           <textbox id='bubu_3' readonly='true' value='LGen4 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_expand2                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "           <textbox id='bubu_2' readonly='true' value='LGen4 ' />"&
  "           <textbox id='bubu_3' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_expand3                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <textbox id='bubu_%EG::idx%' readonly='true' value='%EG% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='EG1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='EG2 ' />"&
  "           <textbox id='bubu_2' readonly='true' value='EG3 ' />"&
  "           <textbox id='bubu_3' readonly='true' value='EG4 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce1                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce2                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce3                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_expandAndReduce                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen4 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_2' readonly='true' value='LGen3 ' />"&
  "           <textbox id='bubu_3' readonly='true' value='LGen2 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator1                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%LGen_%EG::idx%% on %EG%' />"&
  "             </iterator>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "           <textbox id='bubu_1_0' readonly='true' value='LGen2 on EG1' />"&
  "           <textbox id='bubu_2_0' readonly='true' value='LGen3 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&

  "           <label id='XX2_1' value='XX2_1' />"&
  "           <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "           <textbox id='bubu_1_1' readonly='true' value='LGen2 on EG2' />"&
  "           <textbox id='bubu_2_1' readonly='true' value='LGen3 on EG2' />"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "           <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG4' />"&
  "           <textbox id='bubu_1_2' readonly='true' value='LGen2 on EG4' />"&
  "           <textbox id='bubu_2_2' readonly='true' value='LGen3 on EG4' />"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG3' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='LGen2 on EG3' />"&
  "           <textbox id='bubu_2_3' readonly='true' value='LGen3 on EG3' />"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "           <textbox id='bubu_0_4' readonly='true' value='LGen1 on EG5' />"&
  "           <textbox id='bubu_1_4' readonly='true' value='LGen2 on EG5' />"&
  "           <textbox id='bubu_2_4' readonly='true' value='LGen3 on EG5' />"&
  "           <label id='XX3_4' value='XX3_4' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator2                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%LGen_%EG::idx%% on %EG%' />"&
  "             </iterator>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "           <textbox id='bubu_1_0' readonly='true' value='LGen3 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&

  "           <label id='XX2_1' value='XX2_1' />"&
  "           <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "           <textbox id='bubu_1_1' readonly='true' value='LGen3 on EG2' />"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "           <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG3' />"&
  "           <textbox id='bubu_1_2' readonly='true' value='LGen3 on EG3' />"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG4' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='LGen3 on EG4' />"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator3                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%LGen_%EG::idx%% on %EG%' />"&
  "             </iterator>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "           <textbox id='bubu_1_0' readonly='true' value='LGen3 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&

  "           <label id='XX2_1' value='XX2_1' />"&
  "           <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "           <textbox id='bubu_1_1' readonly='true' value='LGen3 on EG2' />"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "           <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG4' />"&
  "           <textbox id='bubu_1_2' readonly='true' value='LGen3 on EG4' />"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG3' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='LGen3 on EG3' />"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "           <textbox id='bubu_0_4' readonly='true' value='LGen1 on EG5' />"&
  "           <textbox id='bubu_1_4' readonly='true' value='LGen3 on EG5' />"&
  "           <label id='XX3_4' value='XX3_4' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator4                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "               <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "               <textbox id='bubu_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "             </iterator>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&

  "           <label id='XX2_1' value='XX2_1' />"&
  "           <textbox id='bubu_0_1' readonly='true' value='X_Depends0 on EG2' />"&
  "           <textbox id='bubu_1_1' readonly='true' value='X_Depends1 on EG2' />"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "           <textbox id='bubu_0_2' readonly='true' value='X_Depends0 on EG4' />"&
  "           <textbox id='bubu_1_2' readonly='true' value='X_Depends1 on EG4' />"&
  "           <textbox id='bubu_2_2' readonly='true' value='X_Depends2 on EG4' />"&
  "           <textbox id='bubu_3_2' readonly='true' value='X_Depends3 on EG4' />"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG3' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG3' />"&
  "           <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG3' />"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "           <textbox id='bubu_0_4' readonly='true' value='X_Depends0 on EG5' />"&
  "           <textbox id='bubu_1_4' readonly='true' value='X_Depends1 on EG5' />"&
  "           <textbox id='bubu_2_4' readonly='true' value='X_Depends2 on EG5' />"&
  "           <textbox id='bubu_3_4' readonly='true' value='X_Depends3 on EG5' />"&
  "           <textbox id='bubu_4_4' readonly='true' value='X_Depends4 on EG5' />"&
  "           <label id='XX3_4' value='XX3_4' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator5                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "               <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "               <textbox id='bubu_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "             </iterator>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&

  "           <label id='XX2_1' value='XX2_1' />"&
  "           <textbox id='bubu_0_1' readonly='true' value='X_Depends0 on EG2' />"&
  "           <textbox id='bubu_1_1' readonly='true' value='X_Depends1 on EG2' />"&
  "           <textbox id='bubu_2_1' readonly='true' value='X_Depends2 on EG2' />"&
  "           <textbox id='bubu_3_1' readonly='true' value='X_Depends3 on EG2' />"&
  "           <textbox id='bubu_4_1' readonly='true' value='X_Depends4 on EG2' />"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "           <textbox id='bubu_0_2' readonly='true' value='X_Depends0 on EG3' />"&
  "           <textbox id='bubu_1_2' readonly='true' value='X_Depends1 on EG3' />"&
  "           <textbox id='bubu_2_2' readonly='true' value='X_Depends2 on EG3' />"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG4' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG4' />"&
  "           <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG4' />"&
  "           <textbox id='bubu_3_3' readonly='true' value='X_Depends3 on EG4' />"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI4                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI5                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI6                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times into an element within an iterator.                         //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI6() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "              <hbox id='hboxid_%LGen::idx%' flex='0.000000' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "              </hbox>"&
  "           </iterator>"&
  "           <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX1' value='XX1' />"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <label id='XX1' value='XX1' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "       </hbox>"&
  "       <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, -, -, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI7                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   and removeFromGUI is called more times into an element within an iterator.       //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI7() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "              <hbox id='hboxid_%LGen::idx%' flex='0.000000' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "              </hbox>"&
  "           </iterator>"&
  "           <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX1' value='XX1' />"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX2' value='XX2' />"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "           <label id='XX1' value='XX1' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, -, -, true, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_warning1                           //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='bubu_3' value='bubu_3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, 
    embeddedwidgets := { embeddedwidget_list := { 
    { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_0", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen1 ", widgetType := omit, wrap := omit, externaldata := omit } }, 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_1", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen2 ", widgetType := omit, wrap := omit, externaldata := omit } }, 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_2", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen3 ", widgetType := omit, wrap := omit, externaldata := omit } }, 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := *, multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen4 ", widgetType := omit, wrap := omit, externaldata := omit } }, 
    { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "bubu_3", style := omit, tooltiptext := omit, value_ := "bubu_3", externaldata := omit } } } } } } } } } }

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_condition                          //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "         <label id='XX1' value='XX1' />"&
  "         <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "           <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "             <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "             <insertif id='w%LGen%'>"&
  "               <textbox id='%LGen%' readonly='true' value='%LGen%' />"&
  "             </insertif>"&
  "           </condition>"&
  "         </iterator>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='LGen1' readonly='true' value='LGen1' />"&
  "           <textbox id='LGen3' readonly='true' value='LGen3' />"&
  "           <textbox id='LGen5' readonly='true' value='LGen5' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_condition2                         //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_condition2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "         <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <condition element='isUnpair' id='w%EG%' source='ExecCtrl'>"&
  "             <params> <dataparam name='Param' value='%EG%' /> </params>"&

  "             <insertif id='w%EG%'>"&
  "               <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <textbox id='bubu_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "               </iterator>"&
  "               <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "             </insertif>"&

  "             <insertif id='w%EG%' negate='true'>"&
  "               <label id='XX2_%EG::idx%_neg' value='XX2_%EG::idx%_neg' />"&
  
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='LGenList' id='LGen.%EG%.' source='ExecCtrl'>"&
  "                       <tabpage id='tabpagein.%LGen.%EG%.%.%EG%.tab' label='%LGen.%EG%.% - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%LGen.%EG%.::idx%_%EG::idx%' readonly='true' value='%LGen.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  
  "               <label id='XX3_%EG::idx%_neg' value='XX3_%EG::idx%_neg' />"&
  "             </insertif>"&
  "             </condition>"&
  "           </iterator>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0' />"&
  "           <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1_neg' value='XX2_1_neg' />"&
  "           <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "             <tabpage id='tabpagein.LGen1.EG2.tab' label='LGen1 - EG2' orientation='vertical'>"&
  "               <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "             </tabpage>"&
  "             <tabpage id='tabpagein.LGen3.EG2.tab' label='LGen3 - EG2' orientation='vertical'>"&
  "               <textbox id='bubu_1_1' readonly='true' value='LGen3 on EG2' />"&
  "             </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX3_1_neg' value='XX3_1_neg' />"&
    
  "           <label id='XX2_2_neg' value='XX2_2_neg' />"&
  "           <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "             <tabpage id='tabpagein.LGen1.EG4.tab' label='LGen1 - EG4' orientation='vertical'>"&
  "               <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG4' />"&
  "             </tabpage>"&
  "             <tabpage id='tabpagein.LGen3.EG4.tab' label='LGen3 - EG4' orientation='vertical'>"&
  "               <textbox id='bubu_1_2' readonly='true' value='LGen3 on EG4' />"&
  "             </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX3_2_neg' value='XX3_2_neg' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG3' />"&
  "           <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG3' />"&
  "           <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG3' />"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <textbox id='bubu_0_4' readonly='true' value='X_Depends0 on EG5' />"&
  "           <textbox id='bubu_1_4' readonly='true' value='X_Depends1 on EG5' />"&
  "           <textbox id='bubu_2_4' readonly='true' value='X_Depends2 on EG5' />"&
  "           <textbox id='bubu_3_4' readonly='true' value='X_Depends3 on EG5' />"&
  "           <textbox id='bubu_4_4' readonly='true' value='X_Depends4 on EG5' />"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});  
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a tabpageiterator. After a few seconds,    //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen2.tab' label='LGen2' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_2' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen4.tab' label='LGen4' orientation='vertical'>"&
  "                   <textbox id='bubu_3' readonly='true' value='LGen4 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen2.tab' label='LGen2' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen4.tab' label='LGen4' orientation='vertical'>"&
  "                   <textbox id='bubu_2' readonly='true' value='LGen4 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_3' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EGs' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%EGs%.tab' label='%EGs%' orientation='vertical'>"&
  "                 <textbox id='bubu_%EGs::idx%' readonly='true' value='%EGs% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.EG1.tab' label='EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='EG1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.EG2.tab' label='EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='EG2 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.EG3.tab' label='EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_2' readonly='true' value='EG3 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.EG4.tab' label='EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_3' readonly='true' value='EG4 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen2.tab' label='LGen2' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen2 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expandAndReduce             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen4.tab' label='LGen4' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen4 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_2' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen2.tab' label='LGen2' orientation='vertical'>"&
  "                   <textbox id='bubu_3' readonly='true' value='LGen2 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator1               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{
  
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "               <tabpage id='tabpageout.%EG%.tab' label='tabpageout.%EG%' orientation='vertical'>"&
  "                  <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='LGenList' id='LGen.%EG%.' source='ExecCtrl'>"&
  "                       <tabpage id='tabpagein.%LGen.%EG%.%.%EG%.tab' label='%LGen.%EG%.% - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%LGen.%EG%.::idx%_%EG::idx%' readonly='true' value='%LGen.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  "                  <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "             <tabpage id='tabpageout.EG1.tab' label='tabpageout.EG1' orientation='vertical'>"&
  "               <label id='XX2_0' value='XX2_0' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG1.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG1.tab' label='LGen1 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen2.EG1.tab' label='LGen2 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_1_0' readonly='true' value='LGen2 on EG1' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG1.tab' label='LGen3 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_2_0' readonly='true' value='LGen3 on EG1' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_0' value='XX3_0' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG2.tab' label='tabpageout.EG2' orientation='vertical'>"&
  "               <label id='XX2_1' value='XX2_1' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG2.tab' label='LGen1 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen2.EG2.tab' label='LGen2 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='LGen2 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG2.tab' label='LGen3 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_2_1' readonly='true' value='LGen3 on EG2' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_1' value='XX3_1' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG4.tab' label='tabpageout.EG4' orientation='vertical'>"&
  "               <label id='XX2_2' value='XX2_2' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG4.tab' label='LGen1 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen2.EG4.tab' label='LGen2 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='LGen2 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG4.tab' label='LGen3 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_2_2' readonly='true' value='LGen3 on EG4' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_2' value='XX3_2' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG3.tab' label='tabpageout.EG3' orientation='vertical'>"&
  "               <label id='XX2_3' value='XX2_3' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG3.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG3.tab' label='LGen1 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen2.EG3.tab' label='LGen2 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='LGen2 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG3.tab' label='LGen3 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_2_3' readonly='true' value='LGen3 on EG3' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_3' value='XX3_3' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG5.tab' label='tabpageout.EG5' orientation='vertical'>"&
  "               <label id='XX2_4' value='XX2_4' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG5.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG5.tab' label='LGen1 - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_0_4' readonly='true' value='LGen1 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen2.EG5.tab' label='LGen2 - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_1_4' readonly='true' value='LGen2 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG5.tab' label='LGen3 - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_2_4' readonly='true' value='LGen3 on EG5' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_4' value='XX3_4' />"&
  "             </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator2               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "               <tabpage id='tabpageout.%EG%.tab' label='tabpageout.%EG%' orientation='vertical'>"&
  "                  <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='LGenList' id='LGen.%EG%.' source='ExecCtrl'>"&
  "                       <tabpage id='tabpagein.%LGen.%EG%.%.%EG%.tab' label='%LGen.%EG%.% - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%LGen.%EG%.::idx%_%EG::idx%' readonly='true' value='%LGen.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  "                  <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "             <tabpage id='tabpageout.EG1.tab' label='tabpageout.EG1' orientation='vertical'>"&
  "               <label id='XX2_0' value='XX2_0' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG1.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG1.tab' label='LGen1 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG1.tab' label='LGen3 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_1_0' readonly='true' value='LGen3 on EG1' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_0' value='XX3_0' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG2.tab' label='tabpageout.EG2' orientation='vertical'>"&
  "               <label id='XX2_1' value='XX2_1' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG2.tab' label='LGen1 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG2.tab' label='LGen3 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='LGen3 on EG2' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_1' value='XX3_1' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG3.tab' label='tabpageout.EG3' orientation='vertical'>"&
  "               <label id='XX2_2' value='XX2_2' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG3.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG3.tab' label='LGen1 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG3.tab' label='LGen3 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='LGen3 on EG3' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_2' value='XX3_2' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG4.tab' label='tabpageout.EG4' orientation='vertical'>"&
  "               <label id='XX2_3' value='XX2_3' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG4.tab' label='LGen1 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG4.tab' label='LGen3 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='LGen3 on EG4' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_3' value='XX3_3' />"&
  "             </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator3               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "               <tabpage id='tabpageout.%EG%.tab' label='tabpageout.%EG%' orientation='vertical'>"&
  "                  <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='LGenList' id='LGen.%EG%.' source='ExecCtrl'>"&
  "                       <tabpage id='tabpagein.%LGen.%EG%.%.%EG%.tab' label='%LGen.%EG%.% - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%LGen.%EG%.::idx%_%EG::idx%' readonly='true' value='%LGen.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  "                  <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "             <tabpage id='tabpageout.EG1.tab' label='tabpageout.EG1' orientation='vertical'>"&
  "               <label id='XX2_0' value='XX2_0' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG1.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG1.tab' label='LGen1 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='LGen1 on EG1' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG1.tab' label='LGen3 - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_1_0' readonly='true' value='LGen3 on EG1' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_0' value='XX3_0' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG2.tab' label='tabpageout.EG2' orientation='vertical'>"&
  "               <label id='XX2_1' value='XX2_1' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG2.tab' label='LGen1 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='LGen1 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG2.tab' label='LGen3 - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='LGen3 on EG2' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_1' value='XX3_1' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG4.tab' label='tabpageout.EG4' orientation='vertical'>"&
  "               <label id='XX2_2' value='XX2_2' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG4.tab' label='LGen1 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='LGen1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG4.tab' label='LGen3 - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='LGen3 on EG4' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_2' value='XX3_2' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG3.tab' label='tabpageout.EG3' orientation='vertical'>"&
  "               <label id='XX2_3' value='XX2_3' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG3.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG3.tab' label='LGen1 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='LGen1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG3.tab' label='LGen3 - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='LGen3 on EG3' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_3' value='XX3_3' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG5.tab' label='tabpageout.EG5' orientation='vertical'>"&
  "               <label id='XX2_4' value='XX2_4' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG5.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.LGen1.EG5.tab' label='LGen1 - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_0_4' readonly='true' value='LGen1 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.LGen3.EG5.tab' label='LGen3 - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_1_4' readonly='true' value='LGen3 on EG5' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_4' value='XX3_4' />"&
  "             </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator4               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "               <tabpage id='tabpageout.%EG%.tab' label='tabpageout.%EG%' orientation='vertical'>"&
  "                  <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='X_Depends_EG' id='X_Depends_EC_.%EG%.' source='ExecCtrl'>"&
  "                       <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <tabpage id='tabpagein.%X_Depends_EC_.%EG%.%_%EG%.tab' label='tabpagein.%X_Depends_EC_.%EG%.%.tab - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%X_Depends_EC_.%EG%.::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  "                  <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "             <tabpage id='tabpageout.EG1.tab' label='tabpageout.EG1' orientation='vertical'>"&
  "               <label id='XX2_0' value='XX2_0' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG1.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG1.tab' label='tabpagein.X_Depends0.tab - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_0' value='XX3_0' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG2.tab' label='tabpageout.EG2' orientation='vertical'>"&
  "               <label id='XX2_1' value='XX2_1' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG2.tab' label='tabpagein.X_Depends0.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='X_Depends0 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG2.tab' label='tabpagein.X_Depends1.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='X_Depends1 on EG2' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_1' value='XX3_1' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG4.tab' label='tabpageout.EG4' orientation='vertical'>"&
  "               <label id='XX2_2' value='XX2_2' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG4.tab' label='tabpagein.X_Depends0.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='X_Depends0 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG4.tab' label='tabpagein.X_Depends1.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='X_Depends1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG4.tab' label='tabpagein.X_Depends2.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_2_2' readonly='true' value='X_Depends2 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG4.tab' label='tabpagein.X_Depends3.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_3_2' readonly='true' value='X_Depends3 on EG4' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_2' value='XX3_2' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG3.tab' label='tabpageout.EG3' orientation='vertical'>"&
  "               <label id='XX2_3' value='XX2_3' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG3.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG3.tab' label='tabpagein.X_Depends0.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG3.tab' label='tabpagein.X_Depends1.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG3.tab' label='tabpagein.X_Depends2.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG3' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_3' value='XX3_3' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG5.tab' label='tabpageout.EG5' orientation='vertical'>"&
  "               <label id='XX2_4' value='XX2_4' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG5.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG5.tab' label='tabpagein.X_Depends0.tab - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_0_4' readonly='true' value='X_Depends0 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG5.tab' label='tabpagein.X_Depends1.tab - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_1_4' readonly='true' value='X_Depends1 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG5.tab' label='tabpagein.X_Depends2.tab - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_2_4' readonly='true' value='X_Depends2 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG5.tab' label='tabpagein.X_Depends3.tab - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_3_4' readonly='true' value='X_Depends3 on EG5' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends4_EG5.tab' label='tabpagein.X_Depends4.tab - EG5' orientation='vertical'>"&
  "                   <textbox id='bubu_4_4' readonly='true' value='X_Depends4 on EG5' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_4' value='XX3_4' />"&
  "             </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator5               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "               <tabpage id='tabpageout.%EG%.tab' label='tabpageout.%EG%' orientation='vertical'>"&
  "                  <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "                  <tabpages flex='1.000000' id='tabpagein.%EG%.tabbox' layout='LISTCARD'>"&
  "                     <iterator element='X_Depends_EG' id='X_Depends_EC_.%EG%.' source='ExecCtrl'>"&
  "                       <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <tabpage id='tabpagein.%X_Depends_EC_.%EG%.%_%EG%.tab' label='tabpagein.%X_Depends_EC_.%EG%.%.tab - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%X_Depends_EC_.%EG%.::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_.%EG%.% on %EG%' />"&
  "                       </tabpage>"&
  "                     </iterator>"&
  "                  </tabpages>"&
  "                  <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "             <tabpage id='tabpageout.EG1.tab' label='tabpageout.EG1' orientation='vertical'>"&
  "               <label id='XX2_0' value='XX2_0' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG1.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG1.tab' label='tabpagein.X_Depends0.tab - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_0' value='XX3_0' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG2.tab' label='tabpageout.EG2' orientation='vertical'>"&
  "               <label id='XX2_1' value='XX2_1' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG2.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG2.tab' label='tabpagein.X_Depends0.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='X_Depends0 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG2.tab' label='tabpagein.X_Depends1.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='X_Depends1 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG2.tab' label='tabpagein.X_Depends2.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_2_1' readonly='true' value='X_Depends2 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG2.tab' label='tabpagein.X_Depends3.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_3_1' readonly='true' value='X_Depends3 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends4_EG2.tab' label='tabpagein.X_Depends4.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_4_1' readonly='true' value='X_Depends4 on EG2' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_1' value='XX3_1' />"&
  "             </tabpage>"&

  "             <tabpage id='tabpageout.EG3.tab' label='tabpageout.EG3' orientation='vertical'>"&
  "               <label id='XX2_2' value='XX2_2' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG3.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG3.tab' label='tabpagein.X_Depends0.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='X_Depends0 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG3.tab' label='tabpagein.X_Depends1.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='X_Depends1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG3.tab' label='tabpagein.X_Depends2.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_2_2' readonly='true' value='X_Depends2 on EG3' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_2' value='XX3_2' />"&
  "             </tabpage>"&
  
  "             <tabpage id='tabpageout.EG4.tab' label='tabpageout.EG4' orientation='vertical'>"&
  "               <label id='XX2_3' value='XX2_3' />"&
  "               <tabpages flex='1.000000' id='tabpagein.EG4.tabbox' layout='LISTCARD'>"&
  "                 <tabpage id='tabpagein.X_Depends0_EG4.tab' label='tabpagein.X_Depends0.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG4.tab' label='tabpagein.X_Depends1.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG4.tab' label='tabpagein.X_Depends2.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG4.tab' label='tabpagein.X_Depends3.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_3_3' readonly='true' value='X_Depends3 on EG4' />"&
  "                 </tabpage>"&
  "               </tabpages>"&
  "               <label id='XX3_3' value='XX3_3' />"&
  "             </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator6               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                <iterator element='X_Depends_EG' id='X_Depends_EC_.%EG%.' source='ExecCtrl'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <tabpage id='tabpagein.%X_Depends_EC_.%EG%.%_%EG%.tab' label='tabpagein.%X_Depends_EC_.%EG%.%.tab - %EG%' orientation='vertical'>"&
  "                         <textbox id='bubu_%X_Depends_EC_.%EG%.::idx%_%EG::idx%' readonly='true' value='%X_Depends_EC_.%EG%.% on %EG%' />"&
  "                   </tabpage>"&
  "                </iterator>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "                 <tabpage id='tabpagein.X_Depends0_EG1.tab' label='tabpagein.X_Depends0.tab - EG1' orientation='vertical'>"&
  "                   <textbox id='bubu_0_0' readonly='true' value='X_Depends0 on EG1' />"&
  "                 </tabpage>"&
  
  "                 <tabpage id='tabpagein.X_Depends0_EG2.tab' label='tabpagein.X_Depends0.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_0_1' readonly='true' value='X_Depends0 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG2.tab' label='tabpagein.X_Depends1.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_1_1' readonly='true' value='X_Depends1 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG2.tab' label='tabpagein.X_Depends2.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_2_1' readonly='true' value='X_Depends2 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG2.tab' label='tabpagein.X_Depends3.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_3_1' readonly='true' value='X_Depends3 on EG2' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends4_EG2.tab' label='tabpagein.X_Depends4.tab - EG2' orientation='vertical'>"&
  "                   <textbox id='bubu_4_1' readonly='true' value='X_Depends4 on EG2' />"&
  "                 </tabpage>"&

  "                 <tabpage id='tabpagein.X_Depends0_EG3.tab' label='tabpagein.X_Depends0.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_0_2' readonly='true' value='X_Depends0 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG3.tab' label='tabpagein.X_Depends1.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_1_2' readonly='true' value='X_Depends1 on EG3' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG3.tab' label='tabpagein.X_Depends2.tab - EG3' orientation='vertical'>"&
  "                   <textbox id='bubu_2_2' readonly='true' value='X_Depends2 on EG3' />"&
  "                 </tabpage>"&
  
  "                 <tabpage id='tabpagein.X_Depends0_EG4.tab' label='tabpagein.X_Depends0.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_0_3' readonly='true' value='X_Depends0 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends1_EG4.tab' label='tabpagein.X_Depends1.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_1_3' readonly='true' value='X_Depends1 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends2_EG4.tab' label='tabpagein.X_Depends2.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_2_3' readonly='true' value='X_Depends2 on EG4' />"&
  "                 </tabpage>"&
  "                 <tabpage id='tabpagein.X_Depends3_EG4.tab' label='tabpagein.X_Depends3.tab - EG4' orientation='vertical'>"&
  "                   <textbox id='bubu_3_3' readonly='true' value='X_Depends3 on EG4' />"&
  "                 </tabpage>"&

  "           </tabpages>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  
  "                   <tabpage id='tabpagein.%EntityCount_%EG%%.tab' label='tabpagein.%EntityCount_%EG%%.tab' orientation='vertical'>"&
  "                         <textbox id='bubu_%EntityCount_%EG%%' readonly='true' value='%EntityCount_%EG%%' />"&
  "                   </tabpage>"&
  "                </externalvalue>"&
  "             </iterator>"&
  "           </tabpages>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "                 <tabpage id='tabpagein.101.tab' label='tabpagein.101.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_101' readonly='true' value='101' />"&
  "                 </tabpage>"&
  
  "                 <tabpage id='tabpagein.102.tab' label='tabpagein.102.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_102' readonly='true' value='102' />"&
  "                 </tabpage>"&

  "                 <tabpage id='tabpagein.103.tab' label='tabpagein.103.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_103' readonly='true' value='103' />"&
  "                 </tabpage>"&

  "           </tabpages>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&
  "             <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "               <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                 <tabpage id='tabpagein.%EntityCount%.%EG%.tab' label='tabpagein.%EntityCount%.%EG%.tab' orientation='vertical'>"&
  "                    <textbox id='bubu_%EntityCount%.%EG%' readonly='true' value='%EntityCount%.%EG%' />"&
  "                 </tabpage>"&
  "               </iterator>"&
  "             </externalvalue>"&
  "           </tabpages>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tabpages flex='1.000000' id='tabpageout.EG.tabbox' layout='LISTCARD'>"&

  "                 <tabpage id='tabpagein.101.EG1.tab' label='tabpagein.101.EG1.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_101.EG1' readonly='true' value='101.EG1' />"&
  "                 </tabpage>"&
  
  "                 <tabpage id='tabpagein.101.EG2.tab' label='tabpagein.101.EG2.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_101.EG2' readonly='true' value='101.EG2' />"&
  "                 </tabpage>"&

  "                 <tabpage id='tabpagein.101.EG3.tab' label='tabpagein.101.EG3.tab' orientation='vertical'>"&
  "                   <textbox id='bubu_101.EG3' readonly='true' value='101.EG3' />"&
  "                 </tabpage>"&

  "           </tabpages>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{
 
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                 <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                   <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                   <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI6              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times into an element within an iterator.                         //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI6() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                  <hbox id='hboxid_%LGen::idx%' flex='0.000000' orientation='vertical'>"&
  "                     <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX1' value='XX1' />"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                  <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "                        <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "                        <label id='XX1' value='XX1' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                  <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "                        <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "       <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, -, -, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI7              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   and removeFromGUI is called more times into an element within an iterator.       //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI7() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                  <hbox id='hboxid_%LGen::idx%' flex='0.000000' orientation='vertical'>"&
  "                     <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX1' value='XX1' />"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "           <label id='XX2' value='XX2' />"&
  "</Widgets>";

 const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "                  <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "                        <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "                        <label id='XX1' value='XX1' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "                  <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "                        <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "                        <label id='XX2' value='XX2' />"&
  "                  </hbox>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "       <label id='XX0' value='XX0' />"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, -, -, true, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_warning1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                  <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='bubu_3' value='bubu_3' />"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { tabpages := { customclass := omit, disabled := omit, disabledongui := omit, flex := 1.000000, id := "EPTF_ExecCtrl.Statistics.tabbox", layout := lISTCARD, tabpagegroups := { tabpagegroup_list := { 
  { tabpage := { customclass := omit, disabledongui := omit, id := "tabpage.LGen1.tab", label_ := "LGen1", maxheight := omit, orientation := vertical, tooltiptext := omit, embeddedwidgets := { embeddedwidget_list := { 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_0", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen1 ", widgetType := omit, wrap := omit, externaldata := omit } } } } } }, 
  { tabpage := { customclass := omit, disabledongui := omit, id := "tabpage.LGen2.tab", label_ := "LGen2", maxheight := omit, orientation := vertical, tooltiptext := omit, embeddedwidgets := { embeddedwidget_list := { 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_1", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen2 ", widgetType := omit, wrap := omit, externaldata := omit } } } } } }, 
  { tabpage := { customclass := omit, disabledongui := omit, id := "tabpage.LGen3.tab", label_ := "LGen3", maxheight := omit, orientation := vertical, tooltiptext := omit, embeddedwidgets := { embeddedwidget_list := { 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := "bubu_2", multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen3 ", widgetType := omit, wrap := omit, externaldata := omit } } } } } }, 
  { tabpage := { customclass := omit, disabledongui := omit, id := "tabpage.LGen4.tab", label_ := "LGen4", maxheight := omit, orientation := vertical, tooltiptext := omit, embeddedwidgets := { embeddedwidget_list := { 
    { textbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, focusafterchange := omit, id := *, multiline := omit, readonly := true, rows := omit, tooltiptext := omit, value_ := "LGen4 ", widgetType := omit, wrap := omit, externaldata := omit } } } } } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "bubu_3", style := omit, tooltiptext := omit, value_ := "bubu_3", externaldata := omit } } } } } }

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);  
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_condition                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   resulting another element apears on screen                                       //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_tabpageiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "               <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "               <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                 <insertif id='w%LGen%'>"&
  "                   <tabpage id='tabpage.%LGen%.tab' label='%LGen%' orientation='vertical'>"&
  "                     <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "                   </tabpage>"&
  "                 </insertif>"&
  "               </condition>"&
  "             </iterator>"&
  "           </tabpages>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox' layout='LISTCARD'>"&
  "             <tabpage id='tabpage.LGen1.tab' label='LGen1' orientation='vertical'>"&
  "               <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "             </tabpage>"&
  "             <tabpage id='tabpage.LGen3.tab' label='LGen3' orientation='vertical'>"&
  "               <textbox id='bubu_2' readonly='true' value='LGen3 ' />"&
  "             </tabpage>"&
  "             <tabpage id='tabpage.LGen5.tab' label='LGen5' orientation='vertical'>"&
  "               <textbox id='bubu_4' readonly='true' value='LGen5 ' />"&
  "             </tabpage>"&  
  "           </tabpages>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a treerowiterator. After a few seconds,    //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%EG::idx%_1' label='%EG%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%EG::idx%_2' label='%EG::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
   const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='0.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expandAndReduce             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator1               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                  <treeitem>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                         <treerow>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%'>"&
  "                             </treecell>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%'>"&
  "                             </treecell>"&
  "                         </treerow>"&
  "                     </iterator>"&
  "                  </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen2 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_0_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='LGen1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='LGen2 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_4_1' label='LGen3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_4_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator2               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                  <treeitem>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                         <treerow>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%'>"&
  "                             </treecell>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%'>"&
  "                             </treecell>"&
  "                         </treerow>"&
  "                     </iterator>"&
  "                  </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator3               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                  <treeitem>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                         <treerow>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%'>"&
  "                             </treecell>"&
  "                             <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%'>"&
  "                             </treecell>"&
  "                         </treerow>"&
  "                     </iterator>"&
  "                  </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='LGen1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='LGen3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator4               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                  <treeitem>"&
  "                     <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                       <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                         <treerow>"&
  "                             <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%'>"&
  "                             </treecell>"&
  "                             <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%'>"&
  "                             </treecell>"&
  "                         </treerow>"&
  "                     </iterator>"&
  "                  </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_2_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='5.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='X_Depends0 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='X_Depends1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_4_1' label='X_Depends2 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_4_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_4_1' label='X_Depends3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_4_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_4_1' label='X_Depends4 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_4_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator5               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                  <treeitem>"&
  "                     <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                       <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                         <treerow>"&
  "                             <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%'>"&
  "                             </treecell>"&
  "                             <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%'>"&
  "                             </treecell>"&
  "                         </treerow>"&
  "                     </iterator>"&
  "                  </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='5.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='X_Depends2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1_1' label='X_Depends3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_1_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1_1' label='X_Depends4 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_1_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_3_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator6               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                   <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                     <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%'/>"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%'/>"&
  "                     </treerow>"&
  "                   </iterator>"&
  "                 </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID' rows='13.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&

  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&

  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='X_Depends2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1_1' label='X_Depends3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_1_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1_1' label='X_Depends4 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_1_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&

  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&

  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_3_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                   <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%EntityCount_%EG%%_1' label='%EntityCount_%EG%%'/>"&
  "                       <treecell id='Treecell_row%EntityCount_%EG%%_2' label='%EntityCount_%EG%::idx%'/>"&
  "                     </treerow>"&
  "                   </externalvalue>"&
  "                 </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_1' label='101' />"&
  "                   <treecell id='Treecell_row101_2' label='0' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row102_1' label='102' />"&
  "                   <treecell id='Treecell_row102_2' label='0' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row103_1' label='103' />"&
  "                   <treecell id='Treecell_row103_2' label='0' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "                 <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "                   <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%EntityCount%_%EG%_1' label='%EntityCount%_%EG%'/>"&
  "                       <treecell id='Treecell_row%EntityCount%_%EG%_2' label='%EG::idx%'/>"&
  "                     </treerow>"&
  "                   </iterator>"&
  "                 </externalvalue>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG1_1' label='101_EG1' />"&
  "                   <treecell id='Treecell_row101_EG1_2' label='0' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG2_1' label='101_EG2' />"&
  "                   <treecell id='Treecell_row101_EG2_2' label='1' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG3_1' label='101_EG3' />"&
  "                   <treecell id='Treecell_row101_EG3_2' label='2' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_warning1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen4Added'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { tree := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, hidecolumnpicker := true, id := "TreeID", rows := 5.000000, treecols := { treecolgroups := { treecolgroup_list := { 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_1", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_2", label_ := "integerField", tooltiptext := omit, treecellalign := omit, widgetType := integerField } } } } }, 
  treechildren := { treeitemgroups := { treeitemgroup_list := { 
  { treeitem := { treerowgroups := { treerowgroup_list := { 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row0_1", imageid := omit, label_ := "LGen1", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row0_2", imageid := omit, label_ := "0", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row1_1", imageid := omit, label_ := "LGen2", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row1_2", imageid := omit, label_ := "1", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row2_1", imageid := omit, label_ := "LGen3", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row2_2", imageid := omit, label_ := "2", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := *, imageid := omit, label_ := "LGen4", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := *, imageid := omit, label_ := "3", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := {
  { treecell := { align := omit, customclass := omit, id := "Treecell_row3_1", imageid := omit, label_ := "LGen4Added", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row3_2", imageid := omit, label_ := "3", tooltiptext := omit, visible := omit, externaldata := omit } } } } } } } } } } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_condition                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   a new item should appear on the gui.                                             //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                  <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                  <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                    <insertif id='w%LGen%'>"&
  "                      <treerow>"&
  "                        <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                        <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                      </treerow>"&
  "                    </insertif>"&
  "                  </condition>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "   </window>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1' label='LGen5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}











////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a treecelliterator. After a few seconds,   //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen2' />"&
  "                   <treecell id='Treecell_cell2' label='LGen3' />"&
  "                   <treecell id='Treecell_cell3' label='LGen4' />"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen2' />"&
  "                   <treecell id='Treecell_cell2' label='LGen4' />"&
  "                   <treecell id='Treecell_cell3' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                     <treecell id='Treecell_cell%EG::idx%' label='%EG%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='EG1' />"&
  "                   <treecell id='Treecell_cell1' label='EG2' />"&
  "                   <treecell id='Treecell_cell2' label='EG3' />"&
  "                   <treecell id='Treecell_cell3' label='EG4' />"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen2' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='0.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expandAndReduce            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen4' />"&
  "                   <treecell id='Treecell_cell1' label='LGen1' />"&
  "                   <treecell id='Treecell_cell2' label='LGen3' />"&
  "                   <treecell id='Treecell_cell3' label='LGen2' />"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_1' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_2' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_3' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_4' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                       <treecell id='Treecell_cell_%EG::idx%_%LGen_%EG::idx%::idx%' label='%LGen_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0'/>"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_0_0' label='LGen1 on EG1'/>"&
  "                    <treecell id='Treecell_cell_0_1' label='LGen2 on EG1'/>"&
  "                    <treecell id='Treecell_cell_0_2' label='LGen3 on EG1'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_1_0' label='LGen1 on EG2'/>"&
  "                    <treecell id='Treecell_cell_1_1' label='LGen2 on EG2'/>"&
  "                    <treecell id='Treecell_cell_1_2' label='LGen3 on EG2'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_2_0' label='LGen1 on EG4'/>"&
  "                    <treecell id='Treecell_cell_2_1' label='LGen2 on EG4'/>"&
  "                    <treecell id='Treecell_cell_2_2' label='LGen3 on EG4'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_3_0' label='LGen1 on EG3'/>"&
  "                    <treecell id='Treecell_cell_3_1' label='LGen2 on EG3'/>"&
  "                    <treecell id='Treecell_cell_3_2' label='LGen3 on EG3'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  "            <label id='XX2_4' value='XX2_4'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_4' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_4_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_4_0' label='LGen1 on EG5'/>"&
  "                    <treecell id='Treecell_cell_4_1' label='LGen2 on EG5'/>"&
  "                    <treecell id='Treecell_cell_4_2' label='LGen3 on EG5'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_4' value='XX3_4'/>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_1' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_2' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_3' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_4' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                       <treecell id='Treecell_cell_%EG::idx%_%LGen_%EG::idx%::idx%' label='%LGen_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0'/>"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_0_0' label='LGen1 on EG1'/>"&
  "                    <treecell id='Treecell_cell_0_1' label='LGen3 on EG1'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_1_0' label='LGen1 on EG2'/>"&
  "                    <treecell id='Treecell_cell_1_1' label='LGen3 on EG2'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_2_0' label='LGen1 on EG3'/>"&
  "                    <treecell id='Treecell_cell_2_1' label='LGen3 on EG3'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_3_0' label='LGen1 on EG4'/>"&
  "                    <treecell id='Treecell_cell_3_1' label='LGen3 on EG4'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_1' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_2' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_3' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_4' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                       <treecell id='Treecell_cell_%EG::idx%_%LGen_%EG::idx%::idx%' label='%LGen_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <label id='XX2_0' value='XX2_0'/>"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_0_0' label='LGen1 on EG1'/>"&
  "                    <treecell id='Treecell_cell_0_1' label='LGen3 on EG1'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_1_0' label='LGen1 on EG2'/>"&
  "                    <treecell id='Treecell_cell_1_1' label='LGen3 on EG2'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_2_0' label='LGen1 on EG4'/>"&
  "                    <treecell id='Treecell_cell_2_1' label='LGen3 on EG4'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_3_0' label='LGen1 on EG3'/>"&
  "                    <treecell id='Treecell_cell_3_1' label='LGen3 on EG3'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  "            <label id='XX2_4' value='XX2_4'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_4' rows='1'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_4_1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_4' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_5' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                  <treerow>"&
  "                    <treecell id='Treecell_cell_4_0' label='LGen1 on EG5'/>"&
  "                    <treecell id='Treecell_cell_4_1' label='LGen3 on EG5'/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                  </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_4' value='XX3_4'/>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_1' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_2' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_3' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_4' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <treecell id='Treecell_cell_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' label='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <label id='XX2_0' value='XX2_0'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_0' rows='1'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_0_1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_4' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_5' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                   <treerow>"&
  "                       <treecell id='Treecell_cell_0_0' label='X_Depends0 on EG1'/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                   </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "        </tree>"&
  "        <label id='XX3_0' value='XX3_0'/>"&
  
  "        <label id='XX2_1' value='XX2_1'/>"&
  "        <tree hidecolumnpicker='true' id='TreeID_1' rows='1'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_1_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_1' label='X_Depends0 on EG2'/>"&
  "                      <treecell id='Treecell_cell_1_1' label='X_Depends1 on EG2'/>"&
  "                      <treecell label=''/>"&
  "                      <treecell label=''/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_1' value='XX3_1'/>"&
  
  "       <label id='XX2_2' value='XX2_2'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_2' rows='1'>"&
  "           <treecols>"&
  "              <treecol flex='1.0' id='Treecol_2_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_2' label='X_Depends0 on EG4'/>"&
  "                      <treecell id='Treecell_cell_1_2' label='X_Depends1 on EG4'/>"&
  "                      <treecell id='Treecell_cell_2_2' label='X_Depends2 on EG4'/>"&
  "                      <treecell id='Treecell_cell_3_2' label='X_Depends3 on EG4'/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_2' value='XX3_2'/>"&
  
  "       <label id='XX2_3' value='XX2_3'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_3' rows='1'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_3_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_3' label='X_Depends0 on EG3'/>"&
  "                      <treecell id='Treecell_cell_1_3' label='X_Depends1 on EG3'/>"&
  "                      <treecell id='Treecell_cell_2_3' label='X_Depends2 on EG3'/>"&
  "                      <treecell label=''/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_3' value='XX3_3'/>"&
  
  "       <label id='XX2_4' value='XX2_4'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_4' rows='1'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_4_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_4' label='X_Depends0 on EG5'/>"&
  "                      <treecell id='Treecell_cell_1_4' label='X_Depends1 on EG5'/>"&
  "                      <treecell id='Treecell_cell_2_4' label='X_Depends2 on EG5'/>"&
  "                      <treecell id='Treecell_cell_3_4' label='X_Depends3 on EG5'/>"&
  "                      <treecell id='Treecell_cell_4_4' label='X_Depends4 on EG5'/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_4' value='XX3_4'/>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_1' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_2' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_3' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_4' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_%EG::idx%_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <treecell id='Treecell_cell_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' label='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <label id='XX2_0' value='XX2_0'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_0' rows='1'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_0_1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_4' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_5' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                   <treerow>"&
  "                       <treecell id='Treecell_cell_0_0' label='X_Depends0 on EG1'/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                       <treecell label=''/>"&
  "                   </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "        </tree>"&
  "        <label id='XX3_0' value='XX3_0'/>"&
  
  "        <label id='XX2_1' value='XX2_1'/>"&
  "        <tree hidecolumnpicker='true' id='TreeID_1' rows='1'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_1_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_1_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_1' label='X_Depends0 on EG2'/>"&
  "                      <treecell id='Treecell_cell_1_1' label='X_Depends1 on EG2'/>"&
  "                      <treecell id='Treecell_cell_2_1' label='X_Depends2 on EG2'/>"&
  "                      <treecell id='Treecell_cell_3_1' label='X_Depends3 on EG2'/>"&
  "                      <treecell id='Treecell_cell_4_1' label='X_Depends4 on EG2'/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_1' value='XX3_1'/>"&
  
  "       <label id='XX2_2' value='XX2_2'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_2' rows='1'>"&
  "           <treecols>"&
  "              <treecol flex='1.0' id='Treecol_2_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_2' label='X_Depends0 on EG3'/>"&
  "                      <treecell id='Treecell_cell_1_2' label='X_Depends1 on EG3'/>"&
  "                      <treecell id='Treecell_cell_2_2' label='X_Depends2 on EG3'/>"&
  "                      <treecell label=''/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_2' value='XX3_2'/>"&
  
  "       <label id='XX2_3' value='XX2_3'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_3' rows='1'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_3_1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_5' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                  <treerow>"&
  "                      <treecell id='Treecell_cell_0_3' label='X_Depends0 on EG4'/>"&
  "                      <treecell id='Treecell_cell_1_3' label='X_Depends1 on EG4'/>"&
  "                      <treecell id='Treecell_cell_2_3' label='X_Depends2 on EG4'/>"&
  "                      <treecell id='Treecell_cell_3_3' label='X_Depends3 on EG4'/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_3' value='XX3_3'/>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
    
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator6              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_6' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_7' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_8' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_9' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_10' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_11' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_12' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_13' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                     <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <treecell id='Treecell_cell_%X_Depends_EC_%EG::idx%::idx%_%EG::idx%' label='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "                     </iterator>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_4' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_5' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_6' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_7' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_8' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_9' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_10' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_11' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_12' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_13' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                   <treerow>"&
  "                      <treecell id='Treecell_cell_0_0' label='X_Depends0 on EG1'/>"&

  "                      <treecell id='Treecell_cell_0_1' label='X_Depends0 on EG2'/>"&
  "                      <treecell id='Treecell_cell_1_1' label='X_Depends1 on EG2'/>"&
  "                      <treecell id='Treecell_cell_2_1' label='X_Depends2 on EG2'/>"&
  "                      <treecell id='Treecell_cell_3_1' label='X_Depends3 on EG2'/>"&
  "                      <treecell id='Treecell_cell_4_1' label='X_Depends4 on EG2'/>"&

  "                      <treecell id='Treecell_cell_0_2' label='X_Depends0 on EG3'/>"&
  "                      <treecell id='Treecell_cell_1_2' label='X_Depends1 on EG3'/>"&
  "                      <treecell id='Treecell_cell_2_2' label='X_Depends2 on EG3'/>"&

  "                      <treecell id='Treecell_cell_0_3' label='X_Depends0 on EG4'/>"&
  "                      <treecell id='Treecell_cell_1_3' label='X_Depends1 on EG4'/>"&
  "                      <treecell id='Treecell_cell_2_3' label='X_Depends2 on EG4'/>"&
  "                      <treecell id='Treecell_cell_3_3' label='X_Depends3 on EG4'/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
    
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                     <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                     <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                       <treecell id='Treecell_cell_%EntityCount_%EG%%' label='%EntityCount_%EG%%' />"&
  "                     </externalvalue>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_4' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                   <treerow>"&
  "                      <treecell id='Treecell_cell_101' label='101'/>"&
  "                      <treecell id='Treecell_cell_102' label='102'/>"&
  "                      <treecell id='Treecell_cell_103' label='103'/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "                   <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "                     <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                       <treecell id='Treecell_cell_%EntityCount%_%EG%' label='%EntityCount%_%EG%' />"&
  "                     </iterator>"&
  "                   </externalvalue>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_4' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                   <treerow>"&
  "                      <treecell id='Treecell_cell_101_EG1' label='101_EG1'/>"&
  "                      <treecell id='Treecell_cell_101_EG2' label='101_EG2'/>"&
  "                      <treecell id='Treecell_cell_101_EG3' label='101_EG3'/>"&
  "                      <treecell label=''/>"&
  "                  </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI3             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI4             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI5             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%'>"&
  "                     </treecell>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell1' label='LGen3' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_warning1                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                     <treecell id='Treecell_cell%LGen::idx%' label='%LGen%' />"&
  "                   </iterator>"&
  "                   <treecell id='Treecell_cell3' label='LGen4Added' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { tree := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, hidecolumnpicker := true, id := "TreeID", rows := 1.000000, treecols := { treecolgroups := { treecolgroup_list := { 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_1", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_2", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } },
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_3", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } },
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_4", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_5", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } } } } }, 
  treechildren := { treeitemgroups := { treeitemgroup_list := { { treeitem := { treerowgroups := { treerowgroup_list := { 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_cell0", imageid := omit, label_ := "LGen1", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_cell1", imageid := omit, label_ := "LGen2", tooltiptext := omit, visible := omit, externaldata := omit } },
  { treecell := { align := omit, customclass := omit, id := "Treecell_cell2", imageid := omit, label_ := "LGen3", tooltiptext := omit, visible := omit, externaldata := omit } },
  { treecell := { align := omit, customclass := omit, id := *, imageid := omit, label_ := "LGen4", tooltiptext := omit, visible := omit, externaldata := omit } },
  { treecell := { align := omit, customclass := omit, id := "Treecell_cell3", imageid := omit, label_ := "LGen4Added", tooltiptext := omit, visible := omit, externaldata := omit } } } } } } } } } } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_condition                  //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   a new element should appear on the gui.                                          //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecelliteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
 "                     <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                      <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                        <insertif id='w%LGen%'>"&
  "                          <treecell id='Treecell_cell%LGen::idx%' label='%LGen%' />"&
  "                        </insertif>"&
  "                     </condition>"&
  "                   </iterator>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_5' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_cell0' label='LGen1' />"&
  "                   <treecell id='Treecell_cell2' label='LGen3' />"&
  "                   <treecell id='Treecell_cell4' label='LGen5' />"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}



////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand1                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a treecoliterator. After a few seconds,    //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand2                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
   const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{

   const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <treecol id='Treecol_%EG%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";
  

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_EG1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_EG2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_EG3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_EG4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce3                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expandAndReduce             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator1               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_X' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                     <treecol id='Treecol_%EG::idx%_%LGen_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "                 <treecol id='Treecol_%EG::idx%_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow />"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "            <label id='XX2_0' value='XX2_0'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  "            <label id='XX2_4' value='XX2_4'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_4' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_4_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_LGen2' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_4' value='XX3_4'/>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator2               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_X' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                     <treecol id='Treecol_%EG::idx%_%LGen_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "                 <treecol id='Treecol_%EG::idx%_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow />"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "            <label id='XX2_0' value='XX2_0'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator3               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_X' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                     <treecol id='Treecol_%EG::idx%_%LGen_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "                 <treecol id='Treecol_%EG::idx%_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow />"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "            <label id='XX2_0' value='XX2_0'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_0_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_0_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_0' value='XX3_0'/>"&

  "            <label id='XX2_1' value='XX2_1'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_1' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_1_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_1_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_1' value='XX3_1'/>"&

  "            <label id='XX2_2' value='XX2_2'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_2' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_2_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_2_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_2' value='XX3_2'/>"&

  "            <label id='XX2_3' value='XX2_3'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_3' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_3_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_3_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_3' value='XX3_3'/>"&

  "            <label id='XX2_4' value='XX2_4'/>"&
  "            <tree hidecolumnpicker='true' id='TreeID_4' rows='1.000000'>"&
  "              <treecols>"&
  "                <treecol flex='1.0' id='Treecol_4_X' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_LGen1' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_LGen3' label='string' widgetType='string'/>"&
  "                <treecol flex='1.0' id='Treecol_4_Y' label='string' widgetType='string'/>"&
  "              </treecols>"&
  "              <treechildren>"&
  "                <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "                </treeitem>"&
  "              </treechildren>"&
  "            </tree>"&
  "            <label id='XX3_4' value='XX3_4'/>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
    
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator4               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_X' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                  <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                     <treecol id='Treecol_%EG::idx%_%X_Depends_EC_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "                 <treecol id='Treecol_%EG::idx%_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow />"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <label id='XX2_0' value='XX2_0'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_0_X' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_X_Depends0' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_Y' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "        </tree>"&
  "        <label id='XX3_0' value='XX3_0'/>"&
  
  "        <label id='XX2_1' value='XX2_1'/>"&
  "        <tree hidecolumnpicker='true' id='TreeID_1' rows='1.000000'>"&
  "          <treecols>"&
  "               <treecol flex='1.0' id='Treecol_1_X' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends0' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_1' value='XX3_1'/>"&
  
  "       <label id='XX2_2' value='XX2_2'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_2' rows='1.000000'>"&
  "           <treecols>"&
  "              <treecol flex='1.0' id='Treecol_2_X' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends0' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_2' value='XX3_2'/>"&
  
  "       <label id='XX2_3' value='XX2_3'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_3' rows='1.000000'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_3_X' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends0' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_3' value='XX3_3'/>"&
  
  "       <label id='XX2_4' value='XX2_4'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_4' rows='1.000000'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_4_X' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_X_Depends0' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_X_Depends1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_X_Depends2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_X_Depends3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_X_Depends4' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_4_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_4' value='XX3_4'/>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator5               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_%EG::idx%_X' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                  <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                     <treecol id='Treecol_%EG::idx%_%X_Depends_EC_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "                 <treecol id='Treecol_%EG::idx%_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <treeitem>"&
  "                   <treerow />"&
  "                 </treeitem>"&
  "               </treechildren>"&
  "             </tree>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

    const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <label id='XX2_0' value='XX2_0'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "           <treecols>"&
  "               <treecol flex='1.0' id='Treecol_0_X' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_X_Depends0' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_0_Y' label='string' widgetType='string'/>"&
  "           </treecols>"&
  "           <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "        </tree>"&
  "        <label id='XX3_0' value='XX3_0'/>"&
  
  "        <label id='XX2_1' value='XX2_1'/>"&
  "        <tree hidecolumnpicker='true' id='TreeID_1' rows='1.000000'>"&
  "          <treecols>"&
  "               <treecol flex='1.0' id='Treecol_1_X' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends0' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends1' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends2' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends3' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_X_Depends4' label='string' widgetType='string'/>"&
  "               <treecol flex='1.0' id='Treecol_1_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_1' value='XX3_1'/>"&
  
  "       <label id='XX2_2' value='XX2_2'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_2' rows='1.000000'>"&
  "           <treecols>"&
  "              <treecol flex='1.0' id='Treecol_2_X' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends0' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_X_Depends2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_2_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_2' value='XX3_2'/>"&
  
  "       <label id='XX2_3' value='XX2_3'/>"&
  "       <tree hidecolumnpicker='true' id='TreeID_3' rows='1.000000'>"&
  "          <treecols>"&
  "              <treecol flex='1.0' id='Treecol_3_X' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends0' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends1' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends2' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_X_Depends3' label='string' widgetType='string'/>"&
  "              <treecol flex='1.0' id='Treecol_3_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       <label id='XX3_3' value='XX3_3'/>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
    
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator6               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterator directly. After a few seconds,  //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                  <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                     <treecol id='Treecol_%EG::idx%_%X_Depends_EC_%EG::idx%%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 </iterator>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

    const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <label id='XX1' value='XX1'/>"&
  
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "           <treecols>"&
  "             <treecol flex='1.0' id='Treecol_X' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_0_X_Depends0' label='string' widgetType='string'/>"&

  "             <treecol flex='1.0' id='Treecol_1_X_Depends0' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_1_X_Depends1' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_1_X_Depends2' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_1_X_Depends3' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_1_X_Depends4' label='string' widgetType='string'/>"&

  "             <treecol flex='1.0' id='Treecol_2_X_Depends0' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_2_X_Depends1' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_2_X_Depends2' label='string' widgetType='string'/>"&

  "             <treecol flex='1.0' id='Treecol_3_X_Depends0' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_3_X_Depends1' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_3_X_Depends2' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_3_X_Depends3' label='string' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_Y' label='string' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&

  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&

  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&

  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  
  "       <label id='XX4' value='XX4'/>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
    
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                  <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                    <treecol id='Treecol_%EntityCount_%EG%%' flex='1.000000' label='%EntityCount_%EG%%' widgetType='string'/>"&
  "                 </externalvalue>"&
  "               </iterator>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

    const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "           <treecols>"&
  "             <treecol flex='1.0' id='Treecol_101' label='101' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_102' label='102' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_103' label='103' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&  
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "                <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "                 <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                    <treecol id='Treecol_%EntityCount%_%EG%' flex='1.000000' label='%EntityCount%_%EG%' widgetType='string'/>"&
  "                 </iterator>"&
  "               </externalvalue>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

    const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "       <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "           <treecols>"&
  "             <treecol flex='1.0' id='Treecol_101_EG1' label='101_EG1' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_101_EG2' label='101_EG2' widgetType='string'/>"&
  "             <treecol flex='1.0' id='Treecol_101_EG3' label='101_EG3' widgetType='string'/>"&
  "          </treecols>"&
  "          <treechildren>"&
  "              <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label='' />"&  
  "                   <treecell label='' />"&
  "                   <treecell label='' />"&
  "                 </treerow>"&
  "              </treeitem>"&
  "          </treechildren>"&
  "       </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow >"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow >"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow >"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow >"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "  <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "    <label id='XX1' value='XX1' />"&
  "    <tree hidecolumnpicker='true' id='TreeID'>"&
  "      <treecols>"&
  "        <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "          <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "            <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "          </iterator>"&
  "        <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "      </treecols>"&
  "      <treechildren>"&
  "        <treeitem>"&
  "          <treerow />"&
  "          </treeitem>"&
  "      </treechildren>"&
  "    </tree>"&
  "    <label id='XX2' value='XX2' />"&
  "  </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "  <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "    <label id='XX3' value='XX3' />"&
  "  </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_Y' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow >"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                    <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui,  true,  c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_warning1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_X' flex='1.000000' label='string' widgetType='string'/>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "               </iterator>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { tree := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, hidecolumnpicker := true, id := "TreeID", rows := 1.000000, 
    treecols := { treecolgroups := { treecolgroup_list := { 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_X", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_LGen1", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_LGen2", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_LGen3", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := *, label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } }, 
    { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_LGen4", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string } } } } }, 
    treechildren := { treeitemgroups := { treeitemgroup_list := { { treeitem := { treerowgroups := { treerowgroup_list := { { treerow := {
                 treecellgroups := {
                                 treecellgroup_list := {
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                },
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                },
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                },
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                },
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                },
                                                 {
                                                                 treecell := {
                                                                                 align := omit,
                                                                                 customclass := omit,
                                                                                 id := omit,
                                                                                 imageid := omit,
                                                                                 label_ := omit,
                                                                                 tooltiptext := omit,
                                                                                 visible := omit,
                                                                                 externaldata := omit 
                                                                                } 
                                                                } 
                                                } 
                                } 
                } 
} } } } } } } } } } } } } }

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);  
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_condition                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treecoliteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                   <insertif id='w%LGen%'>"&
  "                     <treecol id='Treecol_%LGen%' flex='1.000000' label='string' widgetType='string'/>"&
  "                   </insertif>"&
  "                 </condition>"&
  "               </iterator>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow />"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_LGen1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen5' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_LGen4' flex='1.000000' label='string' widgetType='string'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                   <treecell label=''/>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}



////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a treeitemiterator. After a few seconds,   //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  //"               </treeitem>"&
  //"               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  //"               </treeitem>"&
  //"               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  //"               </treeitem>"&
 // "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%EG::idx%_1' label='%EG%' />"&
  "                     <treecell id='Treecell_row%EG::idx%_2' label='%EG::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
   const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'/>"&
  "                   <treecell id='Treecell_row0_2' label='0' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen2' />"&
  "                   <treecell id='Treecell_row1_2' label='1' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1' />"&
  "                   <treecell id='Treecell_row0_2' label='0' />"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3' />"&
  "                   <treecell id='Treecell_row1_2' label='1' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='0.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expandAndReduce            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%' />"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%' />"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen2 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_0_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='LGen1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='LGen2 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_4_1' label='LGen3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_4_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%' />"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%' />"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <iterator id='LGen_%EG::idx%' source='ExecCtrl' element='LGenList'>"&
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_1' label='%LGen_%EG::idx%% on %EG%' />"&
  "                       <treecell id='Treecell_row%LGen_%EG::idx%::idx%_%EG::idx%_2' label='%LGen_%EG::idx%::idx%' />"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='LGen1 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_0_1' label='LGen3 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_0_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='LGen1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='LGen3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='LGen1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='LGen3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='LGen1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='LGen3 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='LGen1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='LGen3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%' />"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_2_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_2_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_4' rows='5.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_4' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_4_1' label='X_Depends0 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_4_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_4_1' label='X_Depends1 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_4_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_4_1' label='X_Depends2 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_4_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_4_1' label='X_Depends3 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_4_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_4_1' label='X_Depends4 on EG5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_4_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  
  "             <tree hidecolumnpicker='true' id='TreeID_%EG::idx%'>"&
  "               <treecols>"&
  "                 <treecol id='Treecol_1_%EG::idx%' flex='1.000000' label='string' widgetType='string'/>"&
  "                 <treecol id='Treecol_2_%EG::idx%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "               </treecols>"&
  "               <treechildren>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <treeitem>"&
  "                      <treerow>"&
  "                         <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%' />"&
  "                         <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%' />"&
  "                      </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </treechildren>"&
  "             </tree>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_0' rows='1.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_0' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_0' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_1' rows='5.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='X_Depends2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1_1' label='X_Depends3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_1_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1_1' label='X_Depends4 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_1_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_2' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_2' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <tree hidecolumnpicker='true' id='TreeID_3' rows='4.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1_3' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2_3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_3_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator6              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_1' label='%X_Depends_EC_%EG::idx%% on %EG%'/>"&
  "                       <treecell id='Treecell_row%X_Depends_EC_%EG::idx%::idx%_%EG::idx%_2' label='%X_Depends_EC_%EG::idx%::idx%'/>"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID' rows='13.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_0_1' label='X_Depends0 on EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1_1' label='X_Depends0 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1_1' label='X_Depends1 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1_1' label='X_Depends2 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_1_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1_1' label='X_Depends3 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_1_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1_1' label='X_Depends4 on EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_1_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_2_1' label='X_Depends0 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_2_1' label='X_Depends1 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_2_1' label='X_Depends2 on EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_3_1' label='X_Depends0 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_3_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_3_1' label='X_Depends1 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_3_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_3_1' label='X_Depends2 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_3_1' label='X_Depends3 on EG4'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row3_3_2' label='3'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%EntityCount_%EG%%_1' label='%EntityCount_%EG%%'/>"&
  "                       <treecell id='Treecell_row%EntityCount_%EG%%_2' label='%EntityCount_%EG%::idx%'/>"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </externalvalue>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_1' label='101'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row101_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row102_1' label='102'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row102_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row103_1' label='103'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row103_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 1 iterator and an externalvalue.           //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "                 <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                   <treeitem>"&
  "                     <treerow>"&
  "                       <treecell id='Treecell_row%EntityCount%_%EG%_1' label='%EntityCount%_%EG%'/>"&
  "                       <treecell id='Treecell_row%EntityCount%_%EG%_2' label='%EG::idx%'/>"&
  "                     </treerow>"&
  "                   </treeitem>"&
  "                 </iterator>"&
  "               </externalvalue>"&
  "             </treechildren>"&
  "           </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG1_1' label='101_EG1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row101_EG1_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG2_1' label='101_EG2'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row101_EG2_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row101_EG3_1' label='101_EG3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row101_EG3_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI3             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI4             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI5             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='2.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row1_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row1_2' label='1'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_warning1                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treeitem>"&
  "                   <treerow>"&
  "                     <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                     <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                   </treerow>"&
  "                 </treeitem>"&
  "               </iterator>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row3_1' label='LGen4Added' />"&
  "                   <treecell id='Treecell_row3_2' label='3' />"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { tree := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, hidecolumnpicker := true, id := "TreeID", rows := 5.000000, treecols := { treecolgroups := { treecolgroup_list := { 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_1", label_ := "string", tooltiptext := omit, treecellalign := omit, widgetType := string  } }, 
  { treecol := { align := omit, customclass := omit, disabledongui := omit, editable := omit, flex := 1.000000, id := "Treecol_2", label_ := "integerField", tooltiptext := omit, treecellalign := omit, widgetType := integerField } } } } }, 
  treechildren := { treeitemgroups := { treeitemgroup_list := { { treeitem := { treerowgroups := { treerowgroup_list := { 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row0_1", imageid := omit, label_ := "LGen1", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row0_2", imageid := omit, label_ := "0", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row1_1", imageid := omit, label_ := "LGen2", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row1_2", imageid := omit, label_ := "1", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row2_1", imageid := omit, label_ := "LGen3", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row2_2", imageid := omit, label_ := "2", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := *, imageid := omit, label_ := "LGen4", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := *, imageid := omit, label_ := "3", tooltiptext := omit, visible := omit, externaldata := omit } } } } } }, 
  { treerow := { treecellgroups := { treecellgroup_list := { 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row3_1", imageid := omit, label_ := "LGen4Added", tooltiptext := omit, visible := omit, externaldata := omit } }, 
  { treecell := { align := omit, customclass := omit, id := "Treecell_row3_2", imageid := omit, label_ := "3", tooltiptext := omit, visible := omit, externaldata := omit } } } } } } } } } } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_condition                  //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   a new element to the gui is added.                                               //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treeitemiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                   <insertif id='w%LGen%'>"&
  "                     <treeitem>"&
  "                       <treerow>"&
  "                         <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%' />"&
  "                         <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%' />"&
  "                       </treerow>"&
  "                     </treeitem>"&
  "                   </insertif>"&
  "                 </condition>"&
  "               </iterator>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <tree hidecolumnpicker='true' id='TreeID' rows='3.000000'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row0_1' label='LGen1'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row0_2' label='0'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row2_1' label='LGen3'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row2_2' label='2'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row4_1' label='LGen5'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row4_2' label='4'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4","LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}







////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand1                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a traceiterator. After a few seconds,      //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_3' maxPoints='64' name='CPS_LGen4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand2                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2' maxPoints='64' name='CPS_LGen4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_3' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand3                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%EG::idx%' maxPoints='64' name='CPS_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2' maxPoints='64' name='CPS_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_3' maxPoints='64' name='CPS_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce1                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce2                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce3                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expandAndReduce               //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
 
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_3' maxPoints='64' name='CPS_LGen2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator1                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <chart flex='1.000000' id='chart_%EG%' title='Chart enabled'>"&
  "               <iterator id='LGen_%EG%' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen_%EG%::idx%_%EG::idx%' maxPoints='64' name='CPS_%LGen_%EG%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "             <chart flex='1.000000' id='chart_EG1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_0' maxPoints='64' name='CPS_LGen1_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_0' maxPoints='64' name='CPS_LGen2_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2_0' maxPoints='64' name='CPS_LGen3_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "             <chart flex='1.000000' id='chart_EG2' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_1' maxPoints='64' name='CPS_LGen1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_1' maxPoints='64' name='CPS_LGen2_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2_1' maxPoints='64' name='CPS_LGen3_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "             <chart flex='1.000000' id='chart_EG4' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_2' maxPoints='64' name='CPS_LGen1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_2' maxPoints='64' name='CPS_LGen2_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2_2' maxPoints='64' name='CPS_LGen3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "             <chart flex='1.000000' id='chart_EG3' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_3' maxPoints='64' name='CPS_LGen1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_3' maxPoints='64' name='CPS_LGen2_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2_3' maxPoints='64' name='CPS_LGen3_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "             <chart flex='1.000000' id='chart_EG5' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_4' maxPoints='64' name='CPS_LGen1_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_4' maxPoints='64' name='CPS_LGen2_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2_4' maxPoints='64' name='CPS_LGen3_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator2                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <chart flex='1.000000' id='chart_%EG%' title='Chart enabled'>"&
  "               <iterator id='LGen_%EG%' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen_%EG%::idx%_%EG::idx%' maxPoints='64' name='CPS_%LGen_%EG%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "             <chart flex='1.000000' id='chart_EG1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_0' maxPoints='64' name='CPS_LGen1_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_0' maxPoints='64' name='CPS_LGen3_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "             <chart flex='1.000000' id='chart_EG2' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_1' maxPoints='64' name='CPS_LGen1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_1' maxPoints='64' name='CPS_LGen3_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "             <chart flex='1.000000' id='chart_EG3' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_2' maxPoints='64' name='CPS_LGen1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_2' maxPoints='64' name='CPS_LGen3_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "             <chart flex='1.000000' id='chart_EG4' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_3' maxPoints='64' name='CPS_LGen1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_3' maxPoints='64' name='CPS_LGen3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_3' value='XX3_3' />"&

  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator3                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <chart flex='1.000000' id='chart_%EG%' title='Chart enabled'>"&
  "               <iterator id='LGen_%EG%' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen_%EG%::idx%_%EG::idx%' maxPoints='64' name='CPS_%LGen_%EG%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "             <chart flex='1.000000' id='chart_EG1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_0' maxPoints='64' name='CPS_LGen1_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_0' maxPoints='64' name='CPS_LGen3_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "             <chart flex='1.000000' id='chart_EG2' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_1' maxPoints='64' name='CPS_LGen1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_1' maxPoints='64' name='CPS_LGen3_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "             <chart flex='1.000000' id='chart_EG4' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_2' maxPoints='64' name='CPS_LGen1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_2' maxPoints='64' name='CPS_LGen3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "             <chart flex='1.000000' id='chart_EG3' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_3' maxPoints='64' name='CPS_LGen1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_3' maxPoints='64' name='CPS_LGen3_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "             <chart flex='1.000000' id='chart_EG5' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0_4' maxPoints='64' name='CPS_LGen1_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1_4' maxPoints='64' name='CPS_LGen3_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator4                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

   const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <chart flex='1.000000' id='chart_%EG%' title='Chart enabled'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <trace color='blue' fill='true' id='trace_blue_%X_Depends_EC_%EG::idx%%_%EG%' maxPoints='64' name='CPS_%X_Depends_EC_%EG::idx%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "             <chart flex='1.000000' id='chart_EG1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG1' maxPoints='64' name='CPS_X_Depends0_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "             <chart flex='1.000000' id='chart_EG2' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG2' maxPoints='64' name='CPS_X_Depends0_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG2' maxPoints='64' name='CPS_X_Depends1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "             <chart flex='1.000000' id='chart_EG4' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG4' maxPoints='64' name='CPS_X_Depends0_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG4' maxPoints='64' name='CPS_X_Depends1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG4' maxPoints='64' name='CPS_X_Depends2_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG4' maxPoints='64' name='CPS_X_Depends3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "             <chart flex='1.000000' id='chart_EG3' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG3' maxPoints='64' name='CPS_X_Depends0_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG3' maxPoints='64' name='CPS_X_Depends1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG3' maxPoints='64' name='CPS_X_Depends2_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX2_4' value='XX2_4' />"&
  "             <chart flex='1.000000' id='chart_EG5' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG5' maxPoints='64' name='CPS_X_Depends0_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG5' maxPoints='64' name='CPS_X_Depends1_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG5' maxPoints='64' name='CPS_X_Depends2_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG5' maxPoints='64' name='CPS_X_Depends3_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends4_EG5' maxPoints='64' name='CPS_X_Depends4_EG5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator5                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
    const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <chart flex='1.000000' id='chart_%EG%' title='Chart enabled'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <trace color='blue' fill='true' id='trace_blue_%X_Depends_EC_%EG::idx%%_%EG%' maxPoints='64' name='CPS_%X_Depends_EC_%EG::idx%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "             <chart flex='1.000000' id='chart_EG1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG1' maxPoints='64' name='CPS_X_Depends0_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "             <chart flex='1.000000' id='chart_EG2' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG2' maxPoints='64' name='CPS_X_Depends0_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG2' maxPoints='64' name='CPS_X_Depends1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG2' maxPoints='64' name='CPS_X_Depends2_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG2' maxPoints='64' name='CPS_X_Depends3_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends4_EG2' maxPoints='64' name='CPS_X_Depends4_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_1' value='XX3_1' />"&

  "           <label id='XX2_2' value='XX2_2' />"&
  "             <chart flex='1.000000' id='chart_EG3' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG3' maxPoints='64' name='CPS_X_Depends0_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG3' maxPoints='64' name='CPS_X_Depends1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG3' maxPoints='64' name='CPS_X_Depends2_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_2' value='XX3_2' />"&

  "           <label id='XX2_3' value='XX2_3' />"&
  "             <chart flex='1.000000' id='chart_EG4' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG4' maxPoints='64' name='CPS_X_Depends0_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG4' maxPoints='64' name='CPS_X_Depends1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG4' maxPoints='64' name='CPS_X_Depends2_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG4' maxPoints='64' name='CPS_X_Depends3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX3_3' value='XX3_3' />"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator6                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
    const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <chart flex='1.000000' id='chart' title='Chart enabled'>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <trace color='blue' fill='true' id='trace_blue_%X_Depends_EC_%EG::idx%%_%EG%' maxPoints='64' name='CPS_%X_Depends_EC_%EG::idx%%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </iterator>"&
  "           </chart>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  


  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG1' maxPoints='64' name='CPS_X_Depends0_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&

  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG2' maxPoints='64' name='CPS_X_Depends0_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG2' maxPoints='64' name='CPS_X_Depends1_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG2' maxPoints='64' name='CPS_X_Depends2_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG2' maxPoints='64' name='CPS_X_Depends3_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends4_EG2' maxPoints='64' name='CPS_X_Depends4_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&

  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG3' maxPoints='64' name='CPS_X_Depends0_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG3' maxPoints='64' name='CPS_X_Depends1_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG3' maxPoints='64' name='CPS_X_Depends2_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&

  "               <trace color='blue' fill='true' id='trace_blue_X_Depends0_EG4' maxPoints='64' name='CPS_X_Depends0_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends1_EG4' maxPoints='64' name='CPS_X_Depends1_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends2_EG4' maxPoints='64' name='CPS_X_Depends2_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_X_Depends3_EG4' maxPoints='64' name='CPS_X_Depends3_EG4' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue1                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//    After a few seconds, we change the content of the inner iterator                //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <chart flex='1.000000' id='chart' title='Chart enabled'>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                  <trace color='blue' fill='true' id='trace_%EntityCount_%EG%%' maxPoints='64' name='CPS_%EntityCount_%EG%%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </externalvalue>"&
  "             </iterator>"&
  "           </chart>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_101' maxPoints='64' name='CPS_101' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_102' maxPoints='64' name='CPS_102' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_103' maxPoints='64' name='CPS_103' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue2                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//    After a few seconds, we change the content of the inner iterator                //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <chart flex='1.000000' id='chart' title='Chart enabled'>"&
  "             <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "             <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                  <trace color='blue' fill='true' id='trace_%EntityCount%_%EG%' maxPoints='64' name='CPS_%EntityCount%_%EG%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </externalvalue>"&
  "           </chart>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_101_EG1' maxPoints='64' name='CPS_101_EG1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_101_EG2' maxPoints='64' name='CPS_101_EG2' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_101_EG3' maxPoints='64' name='CPS_101_EG3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI1                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI2                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI3                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI4                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI5                //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_1' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_warning1                      //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               </iterator>"&
  "               <trace color='blue' fill='true' id='trace_blue_3' maxPoints='64' name='CPS_LGen4Added' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { chart := { axisXType := omit, axisYType := omit, backgroundColor := omit, customclass := omit, disabled := omit, disabledongui := omit, flex := 1.000000, foregroundColor := omit, gridColor := omit, gridX := false, gridY := false, id := "chart_1", title := "Chart enabled", tooltiptext := omit, zoomable := false, tracegroups := { tracegroup_list := { 
  { trace := { color := "blue", fill := true, id := "trace_blue_0", maxPoints := 64, name := "CPS_LGen1", physicalUnitX := "sec", physicalUnitY := "call/sec", tooltiptext := omit, externaldata := omit, choice_list := { } } }, 
  { trace := { color := "blue", fill := true, id := "trace_blue_1", maxPoints := 64, name := "CPS_LGen2", physicalUnitX := "sec", physicalUnitY := "call/sec", tooltiptext := omit, externaldata := omit, choice_list := { } } }, 
  { trace := { color := "blue", fill := true, id := "trace_blue_2", maxPoints := 64, name := "CPS_LGen3", physicalUnitX := "sec", physicalUnitY := "call/sec", tooltiptext := omit, externaldata := omit, choice_list := { } } }, 
  { trace := { color := "blue", fill := true, id := ?, maxPoints := 64, name := "CPS_LGen4", physicalUnitX := "sec", physicalUnitY := "call/sec", tooltiptext := omit, externaldata := omit, choice_list := { } } } , 
  { trace := { color := "blue", fill := true, id := "trace_blue_3", maxPoints := 64, name := "CPS_LGen4Added", physicalUnitX := "sec", physicalUnitY := "call/sec", tooltiptext := omit, externaldata := omit, choice_list := { } } } } } } },
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_traceiteratorChange_condition                     //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   a new element is added to the gui.                                               //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_traceiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                   <insertif id='w%LGen%'>"&
  "                     <trace color='blue' fill='true' id='trace_blue_%LGen::idx%' maxPoints='64' name='CPS_%LGen%' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "                   </insertif>"&
  "                 </condition>"&
  "               </iterator>"&
  "             </chart>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "             <chart flex='1.000000' id='chart_1' title='Chart enabled' gridX='false' gridY='false' zoomable='false'>"&
  "               <trace color='blue' fill='true' id='trace_blue_0' maxPoints='64' name='CPS_LGen1' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_2' maxPoints='64' name='CPS_LGen3' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "               <trace color='blue' fill='true' id='trace_blue_4' maxPoints='64' name='CPS_LGen5' physicalUnitX='sec' physicalUnitY='call/sec' />"&
  "             </chart>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4","LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a listitemiterator. After a few seconds,   //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen2' label='LGen2' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "                 <listitem id='LGen4' label='LGen4' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen2' label='LGen2' />"&
  "                 <listitem id='LGen4' label='LGen4' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                 <listitem id='%EG%' label='%EG%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='EG1' label='EG1' />"&
  "                 <listitem id='EG2' label='EG2' />"&
  "                 <listitem id='EG3' label='EG3' />"&
  "                 <listitem id='EG4' label='EG4' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen2' label='LGen2' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expandAndReduce            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
 
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen4' label='LGen4' />"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "                 <listitem id='LGen2' label='LGen2' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <listbox flex='1.000000' id='list_%EG%' seltype='single'>"&
  "               <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                 <listitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </listbox>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <listbox flex='1.000000' id='list_EG1' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_0' label='LGen1_0' />"&
  "                 <listitem id='LGen2_0' label='LGen2_0' />"&
  "                 <listitem id='LGen3_0' label='LGen3_0' />"&
  "           </listbox>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <listbox flex='1.000000' id='list_EG2' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_1' label='LGen1_1' />"&
  "                 <listitem id='LGen2_1' label='LGen2_1' />"&
  "                 <listitem id='LGen3_1' label='LGen3_1' />"&
  "           </listbox>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <listbox flex='1.000000' id='list_EG4' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_2' label='LGen1_2' />"&
  "                 <listitem id='LGen2_2' label='LGen2_2' />"&
  "                 <listitem id='LGen3_2' label='LGen3_2' />"&
  "           </listbox>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <listbox flex='1.000000' id='list_EG3' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_3' label='LGen1_3' />"&
  "                 <listitem id='LGen2_3' label='LGen2_3' />"&
  "                 <listitem id='LGen3_3' label='LGen3_3' />"&
  "           </listbox>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <listbox flex='1.000000' id='list_EG5' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_4' label='LGen1_4' />"&
  "                 <listitem id='LGen2_4' label='LGen2_4' />"&
  "                 <listitem id='LGen3_4' label='LGen3_4' />"&
  "           </listbox>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator2                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <listbox flex='1.000000' id='list_%EG%' seltype='single'>"&
  "               <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                 <listitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </listbox>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <listbox flex='1.000000' id='list_EG1' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_0' label='LGen1_0' />"&
  "                 <listitem id='LGen3_0' label='LGen3_0' />"&
  "           </listbox>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <listbox flex='1.000000' id='list_EG2' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_1' label='LGen1_1' />"&
  "                 <listitem id='LGen3_1' label='LGen3_1' />"&
  "           </listbox>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <listbox flex='1.000000' id='list_EG3' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_2' label='LGen1_2' />"&
  "                 <listitem id='LGen3_2' label='LGen3_2' />"&
  "           </listbox>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <listbox flex='1.000000' id='list_EG4' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_3' label='LGen1_3' />"&
  "                 <listitem id='LGen3_3' label='LGen3_3' />"&
  "           </listbox>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <listbox flex='1.000000' id='list_%EG%' seltype='single'>"&
  "               <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                 <listitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </listbox>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <listbox flex='1.000000' id='list_EG1' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_0' label='LGen1_0' />"&
  "                 <listitem id='LGen3_0' label='LGen3_0' />"&
  "           </listbox>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <listbox flex='1.000000' id='list_EG2' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_1' label='LGen1_1' />"&
  "                 <listitem id='LGen3_1' label='LGen3_1' />"&
  "           </listbox>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <listbox flex='1.000000' id='list_EG4' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_2' label='LGen1_2' />"&
  "                 <listitem id='LGen3_2' label='LGen3_2' />"&
  "           </listbox>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <listbox flex='1.000000' id='list_EG3' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_3' label='LGen1_3' />"&
  "                 <listitem id='LGen3_3' label='LGen3_3' />"&
  "           </listbox>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <listbox flex='1.000000' id='list_EG5' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1_4' label='LGen1_4' />"&
  "                 <listitem id='LGen3_4' label='LGen3_4' />"&
  "           </listbox>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{
  
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <listbox flex='1.000000' id='list_%EG%' seltype='single'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <listitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </listbox>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <listbox flex='1.000000' id='list_EG1' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_0' label='X_Depends0_0' />"&
  "           </listbox>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <listbox flex='1.000000' id='list_EG2' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <listitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "           </listbox>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <listbox flex='1.000000' id='list_EG4' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <listitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <listitem id='X_Depends2_2' label='X_Depends2_2' />"&
  "                 <listitem id='X_Depends3_2' label='X_Depends3_2' />"&
  "           </listbox>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <listbox flex='1.000000' id='list_EG3' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <listitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <listitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "           </listbox>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <listbox flex='1.000000' id='list_EG5' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_4' label='X_Depends0_4' />"&
  "                 <listitem id='X_Depends1_4' label='X_Depends1_4' />"&
  "                 <listitem id='X_Depends2_4' label='X_Depends2_4' />"&
  "                 <listitem id='X_Depends3_4' label='X_Depends3_4' />"&
  "                 <listitem id='X_Depends4_4' label='X_Depends4_4' />"&
  "           </listbox>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

   f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <listbox flex='1.000000' id='list_%EG%' seltype='single'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <listitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </listbox>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <listbox flex='1.000000' id='list_EG1' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_0' label='X_Depends0_0' />"&
  "           </listbox>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <listbox flex='1.000000' id='list_EG2' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <listitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "                 <listitem id='X_Depends2_1' label='X_Depends2_1' />"&
  "                 <listitem id='X_Depends3_1' label='X_Depends3_1' />"&
  "                 <listitem id='X_Depends4_1' label='X_Depends4_1' />"&
  "           </listbox>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <listbox flex='1.000000' id='list_EG3' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <listitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <listitem id='X_Depends2_2' label='X_Depends2_2' />"&
  "           </listbox>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <listbox flex='1.000000' id='list_EG4' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <listitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <listitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "                 <listitem id='X_Depends3_3' label='X_Depends3_3' />"&
  "           </listbox>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
 
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator6              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <listitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "             </iterator>"&
  "           </listbox>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='X_Depends0_0' label='X_Depends0_0' />"&

  "                 <listitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <listitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "                 <listitem id='X_Depends2_1' label='X_Depends2_1' />"&
  "                 <listitem id='X_Depends3_1' label='X_Depends3_1' />"&
  "                 <listitem id='X_Depends4_1' label='X_Depends4_1' />"&

  "                 <listitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <listitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <listitem id='X_Depends2_2' label='X_Depends2_2' />"&

  "                 <listitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <listitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <listitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "                 <listitem id='X_Depends3_3' label='X_Depends3_3' />"&
  "           </listbox>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <listitem id='%EntityCount_%EG%%' label='%EntityCount_%EG%%' selected='false'/>"&
  "               </externalvalue>"&
  "             </iterator>"&
  "           </listbox>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='101' label='101' />"&
  "                 <listitem id='102' label='102' />"&
  "                 <listitem id='103' label='103' />"&
  "           </listbox>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "             <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "             <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <listitem id='%EntityCount%_%EG%' label='%EntityCount%_%EG%' selected='false'/>"&
  "               </iterator>"&
  "             </externalvalue>"&
  "           </listbox>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='101_EG1' label='101_EG1' />"&
  "                 <listitem id='101_EG2' label='101_EG2' />"&
  "                 <listitem id='101_EG3' label='101_EG3' />"&
  "           </listbox>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

   const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI3             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI4             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI5             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_warning1                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "              </iterator>"&
  "              <listitem id='LGen4' label='LGen4Added' selected='false'/>"&  
  "           </listbox>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { listbox := { customclass := omit, disabled := omit, disabledongui := omit, flex := 1.000000, id := "list", rows := 0, seltype := single, tooltiptext := omit, externaldata := omit, listitemgroups := { listitemgroup_list := { 
  { listitem := { id := "LGen1", label_ := "LGen1", selected := omit } }, 
  { listitem := { id := "LGen2", label_ := "LGen2", selected := omit } }, 
  { listitem := { id := "LGen3", label_ := "LGen3", selected := omit } }, 
  { listitem := { id := *, label_ := "LGen4", selected := omit } }, 
  { listitem := { id := "LGen4", label_ := "LGen4Added", selected := omit } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_condition                  //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   A new gui should appear on screen.                                               //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_listitemiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <listbox flex='1.000000' id='list' seltype='single'>"&
  "              <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                   <insertif id='w%LGen%'>"&
  "                     <listitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                   </insertif>"&
  "                 </condition>"&
  "              </iterator>"&
  "           </listbox>"&
  
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <listbox flex='1.000000' id='list' seltype='single' rows='0'>"&
  "                 <listitem id='LGen1' label='LGen1' />"&
  "                 <listitem id='LGen3' label='LGen3' />"&
  "                 <listitem id='LGen5' label='LGen5' />"&
  "           </listbox>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a menuitemiterator. After a few seconds,   //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                   <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen2' label='LGen2' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "                 <menuitem id='LGen4' label='LGen4' />"&
  "               </menupopup>"&
  "           </menulist>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                   <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                 </iterator>"&
  "               </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen2' label='LGen2' />"&
  "                 <menuitem id='LGen4' label='LGen4' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "             </menupopup>"&
  "           </menulist>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&
  "                 <menuitem id='%EG%' label='%EG%' selected='false'/>"&
  "               </iterator>"&
  "             </menupopup>"&
  "           </menulist>"&

  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='EG1' label='EG1' />"&
  "                 <menuitem id='EG2' label='EG2' />"&
  "                 <menuitem id='EG3' label='EG3' />"&
  "                 <menuitem id='EG4' label='EG4' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen2' label='LGen2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce2                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator' >"&
  "              <menupopup>"&
  "              </menupopup>"&
  "           </menulist>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expandAndReduce            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
 
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "               </iterator>"&
  "             </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen4' label='LGen4' />"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "                 <menuitem id='LGen2' label='LGen2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator1              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_%EG%' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                   <menuitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "                 </iterator>"&
  "               </menupopup>"&
  "             </menulist>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG1' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_0' label='LGen1_0' />"&
  "                 <menuitem id='LGen2_0' label='LGen2_0' />"&
  "                 <menuitem id='LGen3_0' label='LGen3_0' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG2' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_1' label='LGen1_1' />"&
  "                 <menuitem id='LGen2_1' label='LGen2_1' />"&
  "                 <menuitem id='LGen3_1' label='LGen3_1' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG4' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_2' label='LGen1_2' />"&
  "                 <menuitem id='LGen2_2' label='LGen2_2' />"&
  "                 <menuitem id='LGen3_2' label='LGen3_2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
    "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG3' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_3' label='LGen1_3' />"&
  "                 <menuitem id='LGen2_3' label='LGen2_3' />"&
  "                 <menuitem id='LGen3_3' label='LGen3_3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG5' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_4' label='LGen1_4' />"&
  "                 <menuitem id='LGen2_4' label='LGen2_4' />"&
  "                 <menuitem id='LGen3_4' label='LGen3_4' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator2              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_%EG%' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                   <menuitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "                 </iterator>"&
  "               </menupopup>"&
  "             </menulist>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG1' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_0' label='LGen1_0' />"&
  "                 <menuitem id='LGen3_0' label='LGen3_0' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG2' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_1' label='LGen1_1' />"&
  "                 <menuitem id='LGen3_1' label='LGen3_1' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG3' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_2' label='LGen1_2' />"&
  "                 <menuitem id='LGen3_2' label='LGen3_2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
    "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG4' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_3' label='LGen1_3' />"&
  "                 <menuitem id='LGen3_3' label='LGen3_3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator3              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <menulist editable='true' flex='0.000000'"&
  "             id='menuList_%EG%' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <iterator element='LGenList' id='LGen_%EG::idx%' source='ExecCtrl'>"&
  "                   <menuitem id='%LGen_%EG::idx%%_%EG::idx%' label='%LGen_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "                 </iterator>"&
  "               </menupopup>"&
  "             </menulist>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG1' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_0' label='LGen1_0' />"&
  "                 <menuitem id='LGen3_0' label='LGen3_0' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG2' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_1' label='LGen1_1' />"&
  "                 <menuitem id='LGen3_1' label='LGen3_1' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG4' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_2' label='LGen1_2' />"&
  "                 <menuitem id='LGen3_2' label='LGen3_2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG3' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_3' label='LGen1_3' />"&
  "                 <menuitem id='LGen3_3' label='LGen3_3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG5' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1_4' label='LGen1_4' />"&
  "                 <menuitem id='LGen3_4' label='LGen3_4' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator4              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{
  
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <menulist editable='true' flex='0.000000'"&
  "             id='menuList_%EG%' label='Select regulator'>"&
  "               <menupopup>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <menuitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "               </iterator>"&
  "               </menupopup>"&
  "             </menulist>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList_EG1' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_0' label='X_Depends0_0' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList_EG2' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <menuitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG4' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <menuitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <menuitem id='X_Depends2_2' label='X_Depends2_2' />"&
  "                 <menuitem id='X_Depends3_2' label='X_Depends3_2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG3' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <menuitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <menuitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList_EG5' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_4' label='X_Depends0_4' />"&
  "                 <menuitem id='X_Depends1_4' label='X_Depends1_4' />"&
  "                 <menuitem id='X_Depends2_4' label='X_Depends2_4' />"&
  "                 <menuitem id='X_Depends3_4' label='X_Depends3_4' />"&
  "                 <menuitem id='X_Depends4_4' label='X_Depends4_4' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

   f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator5              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&
  "             <menulist flex='1.000000' id='menuList_%EG%' label='Select regulator' >"&
  "               <menupopup>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <menuitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "                 </iterator>"&
  "               </menupopup>"&
  "             </menulist>"&
  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <menulist flex='1.000000'"&
  "            id='menuList_EG1' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_0' label='X_Depends0_0' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <menulist flex='1.000000'"&
  "            id='menuList_EG2' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <menuitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "                 <menuitem id='X_Depends2_1' label='X_Depends2_1' />"&
  "                 <menuitem id='X_Depends3_1' label='X_Depends3_1' />"&
  "                 <menuitem id='X_Depends4_1' label='X_Depends4_1' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <menulist flex='1.000000'"&
  "            id='menuList_EG3' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <menuitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <menuitem id='X_Depends2_2' label='X_Depends2_2' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <menulist flex='1.000000'"&
  "            id='menuList_EG4' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <menuitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <menuitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "                 <menuitem id='X_Depends3_3' label='X_Depends3_3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX3_3' value='XX3_3' />"&
  
 
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator6              //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist flex='1.000000' id='menuList' label='Select regulator' >"&
  "             <menupopup>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                   <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <menuitem id='%X_Depends_EC_%EG::idx%%_%EG::idx%' label='%X_Depends_EC_%EG::idx%%_%EG::idx%' selected='false'/>"&
  "                 </iterator>"&
  "               </iterator>"&
  "             </menupopup>"&
  "           </menulist>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist flex='1.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='X_Depends0_0' label='X_Depends0_0' />"&

  "                 <menuitem id='X_Depends0_1' label='X_Depends0_1' />"&
  "                 <menuitem id='X_Depends1_1' label='X_Depends1_1' />"&
  "                 <menuitem id='X_Depends2_1' label='X_Depends2_1' />"&
  "                 <menuitem id='X_Depends3_1' label='X_Depends3_1' />"&
  "                 <menuitem id='X_Depends4_1' label='X_Depends4_1' />"&

  "                 <menuitem id='X_Depends0_2' label='X_Depends0_2' />"&
  "                 <menuitem id='X_Depends1_2' label='X_Depends1_2' />"&
  "                 <menuitem id='X_Depends2_2' label='X_Depends2_2' />"&

  "                 <menuitem id='X_Depends0_3' label='X_Depends0_3' />"&
  "                 <menuitem id='X_Depends1_3' label='X_Depends1_3' />"&
  "                 <menuitem id='X_Depends2_3' label='X_Depends2_3' />"&
  "                 <menuitem id='X_Depends3_3' label='X_Depends3_3' />"&
  "              </menupopup>"&
  "           </menulist>"&
 
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist flex='1.000000' id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                   <menuitem id='%EntityCount_%EG%%' label='%EntityCount_%EG%%' selected='false'/>"&
  "                 </externalvalue>"&
  "               </iterator>"&
  "             </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist flex='1.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='101' label='101' />"&
  "                 <menuitem id='102' label='102' />"&
  "                 <menuitem id='103' label='103' />"&
  "              </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist flex='1.000000' id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "                 <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                   <menuitem id='%EntityCount%_%EG%' label='%EntityCount%_%EG%' selected='false'/>"&
  "                 </iterator>"&
  "               </externalvalue>"&
  "             </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist flex='1.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='101_EG1' label='101_EG1' />"&
  "                 <menuitem id='101_EG2' label='101_EG2' />"&
  "                 <menuitem id='101_EG3' label='101_EG3' />"&
  "              </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

   const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "               id='menuList' label='Select regulator'>"&
  "               <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI3             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                 <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "               </iterator>"&
  "             </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "                 <menuitem id='LGen1' label='LGen1' />"&
  "                 <menuitem id='LGen3' label='LGen3' />"&
  "             </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI4             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <menuitem id='LGen1' label='LGen1' />"&
  "               <menuitem id='LGen3' label='LGen3' />"&
  "             </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI5             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <menuitem id='LGen1' label='LGen1' />"&
  "               <menuitem id='LGen3' label='LGen3' />"&
  "             </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_warning1                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                </iterator>"&
  "                <menuitem id='LGen4' label='LGen4Added' selected='false'/>"&  
  "              </menupopup>"&
  "           </menulist>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { menulist := { customclass := omit, disabled := omit, disabledongui := omit, editable := true, flex := 0.000000, id := "menuList", label_ := "Select regulator", readonly := omit, tooltiptext := omit, 
    menupopup := { choice := { menuitemgroups := { menuitemgroup_list := { 
    { menuitem := { id := "LGen1", label_ := "LGen1", selected := omit, externaldata := omit } }, 
    { menuitem := { id := "LGen2", label_ := "LGen2", selected := omit, externaldata := omit } }, 
    { menuitem := { id := "LGen3", label_ := "LGen3", selected := omit, externaldata := omit } }, 
    { menuitem := { id := *, label_ := "LGen4", selected := omit, externaldata := omit } }, 
    { menuitem := { id := "LGen4", label_ := "LGen4Added", selected := omit, externaldata := omit } } } } } }, externaldata := omit } }, 
    { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_condition                  //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist editable='true' flex='0.000000'"&
  "            id='menuList' label='Select regulator'>"&
  "              <menupopup>"&
  "                <iterator element='LGenList' id='LGen' source='ExecCtrl'>"&
  "                  <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "                  <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                    <insertif id='w%LGen%'>"&
  "                      <menuitem id='%LGen%' label='%LGen%' selected='false'/>"&
  "                    </insertif>"&
  "                  </condition>"&
  "                </iterator>"&
  "              </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <menulist editable='true' flex='0.000000'"&
  "             id='menuList' label='Select regulator'>"&
  "             <menupopup>"&
  "               <menuitem id='LGen1' label='LGen1' />"&
  "               <menuitem id='LGen3' label='LGen3' />"&
  "               <menuitem id='LGen5' label='LGen5' />"&
  "             </menupopup>"&
  "           </menulist>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand1                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a menuitemiterator. After a few seconds,   //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen2' legend='DCVLLItIdLGen2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen4' legend='DCVLLItIdLGen4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand2                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding new value into the middle      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen2' legend='DCVLLItIdLGen2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen4' legend='DCVLLItIdLGen4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand3                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of an iterator we do not use                               //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='EG' element='EntityGroups' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%EG%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&
  
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdEG1' legend='DCVLLItIdEG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdEG2' legend='DCVLLItIdEG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdEG3' legend='DCVLLItIdEG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdEG4' legend='DCVLLItIdEG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce1                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the end           //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce1()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen2' legend='DCVLLItIdLGen2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce2                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing a value from the middle        //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce2()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce3                    //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by removing all the values                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce3()  runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expandAndReduce           //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator by adding and removing values              //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_expandAndReduce()  runs on EPTF_UIHandler_Test_CT{
 
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen4' legend='DCVLLItIdLGen4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen2' legend='DCVLLItIdLGen2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen4", "LGen1", "LGen3", "LGen2"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator1             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator1() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&

  "             <distributionchart id='dsId%EG%'>"&
  "               <intervallimits id='DSILId%EG%'>"&
  "                 <value>0.000000</value>"&
  "                 <value>1.000000</value>"&
  "                 <value>2.000000</value>"&
  "                 <value>3.000000</value>"&
  "                 <value>4.000000</value>"&
  "                 <value>5.000000</value>"&
  "               </intervallimits>"&
  "               <iterator id='LGen%EG%' element='LGenList' source='ExecCtrl'>"&
  "                 <valuelist id='DCVLLItId_%LGen%EG%%_%EG%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </distributionchart>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <distributionchart id='dsIdEG1' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG1'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG1' legend='DCVLLItId_LGen1_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen2_EG1' legend='DCVLLItId_LGen2_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG1' legend='DCVLLItId_LGen3_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <distributionchart id='dsIdEG2' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG2'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG2' legend='DCVLLItId_LGen1_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen2_EG2' legend='DCVLLItId_LGen2_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG2' legend='DCVLLItId_LGen3_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <distributionchart id='dsIdEG4' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG4'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG4' legend='DCVLLItId_LGen1_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen2_EG4' legend='DCVLLItId_LGen2_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG4' legend='DCVLLItId_LGen3_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <distributionchart id='dsIdEG3' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG3'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG3' legend='DCVLLItId_LGen1_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen2_EG3' legend='DCVLLItId_LGen2_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG3' legend='DCVLLItId_LGen3_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <distributionchart id='dsIdEG5' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG5'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG5' legend='DCVLLItId_LGen1_EG5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen2_EG5' legend='DCVLLItId_LGen2_EG5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG5' legend='DCVLLItId_LGen3_EG5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator2             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator2() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&

  "             <distributionchart id='dsId%EG%'>"&
  "               <intervallimits id='DSILId%EG%'>"&
  "                 <value>0.000000</value>"&
  "                 <value>1.000000</value>"&
  "                 <value>2.000000</value>"&
  "                 <value>3.000000</value>"&
  "                 <value>4.000000</value>"&
  "                 <value>5.000000</value>"&
  "               </intervallimits>"&
  "               <iterator id='LGen%EG%' element='LGenList' source='ExecCtrl'>"&
  "                 <valuelist id='DCVLLItId_%LGen%EG%%_%EG%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </distributionchart>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <distributionchart id='dsIdEG1' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG1'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG1' legend='DCVLLItId_LGen1_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG1' legend='DCVLLItId_LGen3_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <distributionchart id='dsIdEG2' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG2'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG2' legend='DCVLLItId_LGen1_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG2' legend='DCVLLItId_LGen3_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <distributionchart id='dsIdEG3' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG3'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG3' legend='DCVLLItId_LGen1_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG3' legend='DCVLLItId_LGen3_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <distributionchart id='dsIdEG4' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG4'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG4' legend='DCVLLItId_LGen1_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG4' legend='DCVLLItId_LGen3_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3", "EG4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator3             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator3() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&

  "             <distributionchart id='dsId%EG%'>"&
  "               <intervallimits id='DSILId%EG%'>"&
  "                 <value>0.000000</value>"&
  "                 <value>1.000000</value>"&
  "                 <value>2.000000</value>"&
  "                 <value>3.000000</value>"&
  "                 <value>4.000000</value>"&
  "                 <value>5.000000</value>"&
  "               </intervallimits>"&
  "               <iterator id='LGen%EG%' element='LGenList' source='ExecCtrl'>"&
  "                 <valuelist id='DCVLLItId_%LGen%EG%%_%EG%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </distributionchart>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
 
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <distributionchart id='dsIdEG1' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG1'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG1' legend='DCVLLItId_LGen1_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG1' legend='DCVLLItId_LGen3_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <distributionchart id='dsIdEG2' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG2'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG2' legend='DCVLLItId_LGen1_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG2' legend='DCVLLItId_LGen3_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <distributionchart id='dsIdEG4' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG4'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG4' legend='DCVLLItId_LGen1_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG4' legend='DCVLLItId_LGen3_EG4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <distributionchart id='dsIdEG3' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG3'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG3' legend='DCVLLItId_LGen1_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG3' legend='DCVLLItId_LGen3_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <distributionchart id='dsIdEG5' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG5'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItId_LGen1_EG5' legend='DCVLLItId_LGen1_EG5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItId_LGen3_EG5' legend='DCVLLItId_LGen3_EG5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";


  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator4             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the outer iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&

  "             <distributionchart id='dsId%EG%'>"&
  "               <intervallimits id='DSILId%EG%'>"&
  "                 <value>0.000000</value>"&
  "                 <value>1.000000</value>"&
  "                 <value>2.000000</value>"&
  "                 <value>3.000000</value>"&
  "                 <value>4.000000</value>"&
  "                 <value>5.000000</value>"&
  "               </intervallimits>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <valuelist id='%X_Depends_EC_%EG::idx%%_%EG::idx%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </distributionchart>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <distributionchart id='dsIdEG1' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG1'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_0' legend='X_Depends0_0' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <distributionchart id='dsIdEG2' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG2'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_1' legend='X_Depends0_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_1' legend='X_Depends1_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <distributionchart id='dsIdEG4' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG4'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_2' legend='X_Depends0_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_2' legend='X_Depends1_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_2' legend='X_Depends2_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_2' legend='X_Depends3_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <distributionchart id='dsIdEG3' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG3'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_3' legend='X_Depends0_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_3' legend='X_Depends1_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_3' legend='X_Depends2_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX2_4' value='XX2_4' />"&
  "           <distributionchart id='dsIdEG5' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG5'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_4' legend='X_Depends0_4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_4' legend='X_Depends1_4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_4' legend='X_Depends2_4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_4' legend='X_Depends3_4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends4_4' legend='X_Depends4_4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&

  "           <label id='XX3_4' value='XX3_4' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

   f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator5             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator5() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "             <label id='XX2_%EG::idx%' value='XX2_%EG::idx%' />"&

  "             <distributionchart id='dsId%EG%'>"&
  "               <intervallimits id='DSILId%EG%'>"&
  "                 <value>0.000000</value>"&
  "                 <value>1.000000</value>"&
  "                 <value>2.000000</value>"&
  "                 <value>3.000000</value>"&
  "                 <value>4.000000</value>"&
  "                 <value>5.000000</value>"&
  "               </intervallimits>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <valuelist id='%X_Depends_EC_%EG::idx%%_%EG::idx%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </distributionchart>"&

  "             <label id='XX3_%EG::idx%' value='XX3_%EG::idx%' />"&
  "           </iterator>"&
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <label id='XX2_0' value='XX2_0' />"&
  "           <distributionchart id='dsIdEG1' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG1'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_0' legend='X_Depends0_0' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_0' value='XX3_0' />"&
  
  "           <label id='XX2_1' value='XX2_1' />"&
  "           <distributionchart id='dsIdEG2' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG2'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_1' legend='X_Depends0_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_1' legend='X_Depends1_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_1' legend='X_Depends2_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_1' legend='X_Depends3_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends4_1' legend='X_Depends4_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_1' value='XX3_1' />"&
  
  "           <label id='XX2_2' value='XX2_2' />"&
  "           <distributionchart id='dsIdEG3' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG3'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_2' legend='X_Depends0_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_2' legend='X_Depends1_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_2' legend='X_Depends2_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_2' value='XX3_2' />"&
  
  "           <label id='XX2_3' value='XX2_3' />"&
  "           <distributionchart id='dsIdEG4' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILIdEG4'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_3' legend='X_Depends0_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_3' legend='X_Depends1_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_3' legend='X_Depends2_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_3' legend='X_Depends3_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX3_3' value='XX3_3' />"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator6             //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains 2 iterators directly. After a few seconds, //
//   we change the content of the inner iterator                                      //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator6() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&

  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <iterator id='X_Depends_EC_%EG::idx%' source='ExecCtrl' element='X_Depends_EG'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <valuelist id='%X_Depends_EC_%EG::idx%%_%EG::idx%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='X_Depends0_0' legend='X_Depends0_0' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&

  "               <valuelist id='X_Depends0_1' legend='X_Depends0_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_1' legend='X_Depends1_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_1' legend='X_Depends2_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_1' legend='X_Depends3_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends4_1' legend='X_Depends4_1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&

  "               <valuelist id='X_Depends0_2' legend='X_Depends0_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_2' legend='X_Depends1_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_2' legend='X_Depends2_2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&

  "               <valuelist id='X_Depends0_3' legend='X_Depends0_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends1_3' legend='X_Depends1_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends2_3' legend='X_Depends2_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='X_Depends3_3' legend='X_Depends3_3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  
  "           <label id='XX4' value='XX4' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, true, { charstringlistVal := {"X_Depends0", "X_Depends1", "X_Depends2", "X_Depends3", "X_Depends4"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue1            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue1() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <externalvalue element='EntityCount' id='EntityCount_%EG%' source='ExecCtrl'>"&
  "               <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                 <valuelist id='%EntityCount_%EG%%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </externalvalue>"&
  "             </iterator>"&
  "           </distributionchart>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='101' legend='101' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='102' legend='102' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='103' legend='103' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue2            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator and an externalvalue.          //
//   After a few seconds, we change the content of the inner iterator                 //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue2() runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <externalvalue element='EntityCount' id='EntityCount' source='ExecCtrl'>"&
  "             <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params> " &
  "               <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "                 <valuelist id='%EntityCount%_%EG%'>"&
  "                   <value>1</value>"&
  "                   <value>2</value>"&
  "                   <value>4</value>"&
  "                   <value>8</value>"&
  "                   <value>12</value>"&
  "                   <value>14</value>"&
  "                   <value>15</value>"&
  "                 </valuelist>"&
  "               </iterator>"&
  "             </externalvalue>"&
  "           </distributionchart>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='101_EG1' legend='101_EG1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='101_EG2' legend='101_EG2' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='101_EG3' legend='101_EG3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI1            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. A second creategui is called  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI1() runs on EPTF_UIHandler_Test_CT{

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI2            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. An addelementtogui is called. //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI2() runs on EPTF_UIHandler_Test_CT{

const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2, true);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI3            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI3() runs on EPTF_UIHandler_Test_CT{
  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI4            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI4() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";
  
  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, false, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI5            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. CreateGUI and addelementtogui //
//   is called more times.                                                            //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI5() runs on EPTF_UIHandler_Test_CT{

  const charstring c_guiwindow := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_0' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX0' value='XX0' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_guiwindow, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui, true, c_gui2, true);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_warning1                  //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   which conflicts with an old widget and a warning message expected.               //
//   The gui elements do not change.                                                  //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_warning1()  runs on EPTF_UIHandler_Test_CT{
 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <valuelist id='DCVLLItId%LGen%'>"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "             </iterator>"&
  "             <valuelist id='DCVLLItIdLGen4'>"&
  "               <value>1</value>"&
  "               <value>2</value>"&
  "               <value>4</value>"&
  "               <value>8</value>"&
  "               <value>12</value>"&
  "               <value>14</value>"&
  "               <value>15</value>"&
  "             </valuelist>"&
  "           </distributionchart>"&

  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  var template Widgets c_expectedGUI := 
  { window := { about := *, height := 500.000000, help := *, id := "EPTF_Main_Window", orientation := vertical, title := "TTCN constructed window", width := 500.000000, image_list := { }, embeddedwidgets := { embeddedwidget_list := { 
  { hbox := { customclass := omit, disabled := omit, disabledongui := omit, fixedposition := omit, flex := 0.000000, id := "hboxid_1", orientation := vertical, scrollable := omit, embeddedwidgets := { embeddedwidget_list := { 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX1", style := omit, tooltiptext := omit, value_ := "XX1", externaldata := omit } }, 
  { distributionchart := { axisXLabel := omit, axisYLabel := omit, backgroundcolor := omit, customclass := omit, disabled := omit, disabledongui := omit, flex := omit, gridcolor := omit, id := "dsId", labeltype := percentage, orientation := vertical, showlegend := omit, title := omit, tooltiptext := omit, externaldatagroups := { externaldatagroup_list := { 
  { intervallimits := { id := "DSILId", choice := { value_list := { 0.000000, 1.000000, 2.000000, 3.000000, 4.000000, 5.000000 } } } }, 
  { valuelist_list := { { color := omit, id := "DCVLLItIdLGen1", labeltype := omit, legend := "DCVLLItIdLGen1", tooltiptext := omit, externaldata := omit, value_list := { 1, 2, 4, 8, 12, 14, 15 } }, 
  { color := omit, id := "DCVLLItIdLGen2", labeltype := omit, legend := "DCVLLItIdLGen2", tooltiptext := omit, externaldata := omit, value_list := { 1, 2, 4, 8, 12, 14, 15 } }, 
  { color := omit, id := "DCVLLItIdLGen3", labeltype := omit, legend := "DCVLLItIdLGen3", tooltiptext := omit, externaldata := omit, value_list := { 1, 2, 4, 8, 12, 14, 15 } }, 
  { color := omit, id := ?, labeltype := omit, legend := "UIHandler_widgetId_1", tooltiptext := omit, externaldata := omit, value_list := { 1, 2, 4, 8, 12, 14, 15 } }, 
  { color := omit, id := "DCVLLItIdLGen4", labeltype := omit, legend := "DCVLLItIdLGen4", tooltiptext := omit, externaldata := omit, value_list := { 1, 2, 4, 8, 12, 14, 15 } } } } } } } }, 
  { label_ := { customclass := omit, disabled := omit, disabledongui := omit, flex := omit, id := "XX2", style := omit, tooltiptext := omit, value_ := "XX2", externaldata := omit } } } } } } } } } }
  f_EPTF_UIHandler_Test_iteratorChange(c_gui, "", { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4"}}, false, -, false, -, -, false, -, -, false, -, "*Wrong*widget*ID*", c_expectedGUI);
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_condition                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list,        //
//   a new gui element should appear on screen.                                       //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_valuelistiteratorChange_condition()  runs on EPTF_UIHandler_Test_CT{
 const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  
  "           <distributionchart id='dsId'>"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "             <iterator id='LGen' element='LGenList' source='ExecCtrl'>"&
  "               <condition element='isUnpair' id='w%LGen%' source='ExecCtrl'>"&
  "               <params> <dataparam name='Param' value='%LGen%' /> </params>"&
  "                 <insertif id='w%LGen%'>"&
  "                   <valuelist id='DCVLLItId%LGen%'>"&
  "                     <value>1</value>"&
  "                     <value>2</value>"&
  "                     <value>4</value>"&
  "                     <value>8</value>"&
  "                     <value>12</value>"&
  "                     <value>14</value>"&
  "                     <value>15</value>"&
  "                   </valuelist>"&
  "                 </insertif>"&
  "               </condition>"&
  "             </iterator>"&
  "             <valuelist id='DCVLLItIdLGen4'>"&
  "               <value>1</value>"&
  "               <value>2</value>"&
  "               <value>4</value>"&
  "               <value>8</value>"&
  "               <value>12</value>"&
  "               <value>14</value>"&
  "               <value>15</value>"&
  "             </valuelist>"&
  "           </distributionchart>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <distributionchart id='dsId' labeltype='percentage' orientation='vertical' >"&
  "             <intervallimits id='DSILId'>"&
  "               <value>0.000000</value>"&
  "               <value>1.000000</value>"&
  "               <value>2.000000</value>"&
  "               <value>3.000000</value>"&
  "               <value>4.000000</value>"&
  "               <value>5.000000</value>"&
  "             </intervallimits>"&
  "               <valuelist id='DCVLLItIdLGen1' legend='DCVLLItIdLGen1' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen3' legend='DCVLLItIdLGen3' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen5' legend='DCVLLItIdLGen5' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "               <valuelist id='DCVLLItIdLGen4' legend='DCVLLItIdLGen4' >"&
  "                 <value>1</value>"&
  "                 <value>2</value>"&
  "                 <value>4</value>"&
  "                 <value>8</value>"&
  "                 <value>12</value>"&
  "                 <value>14</value>"&
  "                 <value>15</value>"&
  "               </valuelist>"&
  "           </distributionchart>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5"}}, false, -, false, -, -, false, -, -, false, -);
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_externaldata                       //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_externaldata()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "               <textbox id='bubu_%EG::idx%' readonly='true' disabled='true' value='XX123' >"&
  "               <externaldata element='EntityCount' source='ExecCtrl'>"&
  "                 <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "               </externaldata>"&
  "               </textbox>"&
  "           </iterator>"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <textbox id='bubu_0' readonly='true' disabled='true' value='101' />"&
  "           <textbox id='bubu_1' readonly='true' disabled='true' value='102' />"&
  "           <textbox id='bubu_2' readonly='true' disabled='true' value='104' />"&
  "           <textbox id='bubu_3' readonly='true' disabled='true' value='103' />"&
  "           <textbox id='bubu_4' readonly='true' disabled='true' value='105' />"&
  "           <label id='XX2' value='XX2' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});  
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_moreTypeOfIterator                 //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains a iterator. After a few seconds,           //
//   we change the content of the iterator with adding to the end of the list         //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_moreTypeOfIterator()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "         <iterator id='EG' source='ExecCtrl' element='EntityGroups'>"&
  "           <label id='XX1_%EG%' value='XX1_%EG%' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.%EG%' layout='LISTCARD'>"&
  "             <iterator element='LGenList' id='LGen_%EG%' source='ExecCtrl'>"&
  "               <tabpage id='tabpage.%LGen_%EG%%.%EG%' label='%LGen_%EG%%.%EG%' orientation='vertical'>"&
  
  "                 <tree hidecolumnpicker='true' id='TreeID.%LGen_%EG%%.%EG%'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.%LGen_%EG%%.%EG%' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.%LGen_%EG%%.%EG%' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&

  "                       <iterator element='X_Depends_EG' id='X_Depends_EC_.%LGen_%EG%%.%EG%' source='ExecCtrl'>"&
  "                         <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.%X_Depends_EC_.%LGen_%EG%%.%EG%::idx%.%LGen_%EG%%.%EG%' label='%X_Depends_EC_.%LGen_%EG%%.%EG%%'/>"&
  "                             <treecell id='Treecell_2.%X_Depends_EC_.%LGen_%EG%%.%EG%::idx%.%LGen_%EG%%.%EG%' label='%X_Depends_EC_.%LGen_%EG%%.%EG%::idx%'/>"&
  "                           </treerow>"&
  "                       </iterator>"&

  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  
  "               </tabpage>"&
  "             </iterator>"&
  "           </tabpages>"&
  "           <label id='XX2_%EG%' value='XX2_%EG%' />"&
  "         </iterator>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&

  "           <label id='XX1_EG1' value='XX1_EG1' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.EG1' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.EG1' label='LGen1.EG1' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen1.EG1' rows='1.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen1.EG1' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen1.EG1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen1.EG1' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen1.EG1' label='0'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.EG1' label='LGen3.EG1' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen3.EG1' rows='1.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen3.EG1' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen3.EG1' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen3.EG1' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen3.EG1' label='0'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2_EG1' value='XX2_EG1' />"&

  "           <label id='XX1_EG2' value='XX1_EG2' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.EG2' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.EG2' label='LGen1.EG2' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen1.EG2' rows='2.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen1.EG2' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen1.EG2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen1.EG2' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen1.EG2' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen1.EG2' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen1.EG2' label='1'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.EG2' label='LGen3.EG2' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen3.EG2' rows='2.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen3.EG2' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen3.EG2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen3.EG2' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen3.EG2' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen3.EG2' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen3.EG2' label='1'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2_EG2' value='XX2_EG2' />"&
  
  "           <label id='XX1_EG4' value='XX1_EG4' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.EG4' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.EG4' label='LGen1.EG4' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen1.EG4' rows='4.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen1.EG4' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen1.EG4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen1.EG4' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen1.EG4' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen1.EG4' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen1.EG4' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen1.EG4' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen1.EG4' label='2'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.3.LGen1.EG4' label='X_Depends3'/>"&
  "                             <treecell id='Treecell_2.3.LGen1.EG4' label='3'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.EG4' label='LGen3.EG4' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen3.EG4' rows='4.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen3.EG4' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen3.EG4' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen3.EG4' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen3.EG4' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen3.EG4' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen3.EG4' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen3.EG4' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen3.EG4' label='2'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.3.LGen3.EG4' label='X_Depends3'/>"&
  "                             <treecell id='Treecell_2.3.LGen3.EG4' label='3'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2_EG4' value='XX2_EG4' />"&

  "           <label id='XX1_EG3' value='XX1_EG3' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.EG3' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.EG3' label='LGen1.EG3' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen1.EG3' rows='3.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen1.EG3' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen1.EG3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen1.EG3' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen1.EG3' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen1.EG3' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen1.EG3' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen1.EG3' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen1.EG3' label='2'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.EG3' label='LGen3.EG3' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen3.EG3' rows='3.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen3.EG3' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen3.EG3' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen3.EG3' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen3.EG3' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen3.EG3' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen3.EG3' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen3.EG3' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen3.EG3' label='2'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2_EG3' value='XX2_EG3' />"&

  "           <label id='XX1_EG5' value='XX1_EG5' />"&
  "           <tabpages flex='1.000000' id='EPTF_ExecCtrl.Statistics.tabbox.EG5' layout='LISTCARD'>"&
  "               <tabpage id='tabpage.LGen1.EG5' label='LGen1.EG5' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen1.EG5' rows='5.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen1.EG5' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen1.EG5' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen1.EG5' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen1.EG5' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen1.EG5' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen1.EG5' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen1.EG5' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen1.EG5' label='2'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.3.LGen1.EG5' label='X_Depends3'/>"&
  "                             <treecell id='Treecell_2.3.LGen1.EG5' label='3'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.4.LGen1.EG5' label='X_Depends4'/>"&
  "                             <treecell id='Treecell_2.4.LGen1.EG5' label='4'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "               <tabpage id='tabpage.LGen3.EG5' label='LGen3.EG5' orientation='vertical'>"&
  "                 <tree hidecolumnpicker='true' id='TreeID.LGen3.EG5' rows='5.000000'>"&
  "                   <treecols>"&
  "                     <treecol id='Treecol_1.LGen3.EG5' flex='1.000000' label='string' widgetType='string'/>"&
  "                     <treecol id='Treecol_2.LGen3.EG5' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "                   </treecols>"&
  "                   <treechildren>"&
  "                     <treeitem>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.0.LGen3.EG5' label='X_Depends0'/>"&
  "                             <treecell id='Treecell_2.0.LGen3.EG5' label='0'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.1.LGen3.EG5' label='X_Depends1'/>"&
  "                             <treecell id='Treecell_2.1.LGen3.EG5' label='1'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.2.LGen3.EG5' label='X_Depends2'/>"&
  "                             <treecell id='Treecell_2.2.LGen3.EG5' label='2'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.3.LGen3.EG5' label='X_Depends3'/>"&
  "                             <treecell id='Treecell_2.3.LGen3.EG5' label='3'/>"&
  "                           </treerow>"&
  "                           <treerow>"&
  "                             <treecell id='Treecell_1.4.LGen3.EG5' label='X_Depends4'/>"&
  "                             <treecell id='Treecell_2.4.LGen3.EG5' label='4'/>"&
  "                           </treerow>"&
  "                     </treeitem>"&
  "                   </treechildren>"&
  "                 </tree>"&
  "               </tabpage>"&
  "           </tabpages>"&
  "           <label id='XX2_EG5' value='XX2_EG5' />"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, true, { charstringlistVal := {"EG1", "EG2", "EG4", "EG3", "EG5"}});
}

//TODO if no window exists, DTE is caused
////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator7               //
//                                                                                    //
//  Purpose :                                                                         //
//   To test, whether the correct amount of treerows appear on screen,                //
//   if more treerowiterator is present in the xml                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator7()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "              <hbox id='hboxid_1' flex='5.0' orientation='vertical'>"&
  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table'>"&
  "                    <treecols>"&
  "                      <treecol id='treecol_id1' disabledongui='true' flex='2.0' label='TC name' widgetType='string'/>"&
  "                      <treecol id='treecol_id2' disabledongui='true' flex='2.0' label='Calling leg start' widgetType='string'/>"&
  "                      <treecol id='treecol_id3' disabledongui='true' flex='2.0' label='Calling leg end' widgetType='string'/>"&
  "                      <treecol id='treecol_id4' disabledongui='true' flex='2.0' label='Called leg start ' widgetType='string'/>"&
  "                      <treecol id='treecol_id5' disabledongui='true' flex='2.0' label='Called leg end' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
  "                        <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&        // {"EG1", "EG2", "EG3", "EG4"}
  "                          <iterator element='LGenList' id='LGen_%EG%' source='ExecCtrl'>"&   // {"LGen1", "LGen2", "LGen3"}
  "                            <treerow>"&
  "                              <iterator element='X_Depends_EG' id='X_Depends_EC_.%LGen_%EG%%.%EG%' source='ExecCtrl'>"&   //{"X_Depends0"} .... {"X_Depends0","X_Depends1","X_Depends2","X_Depends3"}
  "                                <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &

  "                                <treecell id='%X_Depends_EC_.%LGen_%EG%%.%EG%%.%LGen_%EG%%.%EG%' label='' tooltiptext=''>"&
  "                                   <externaldata element='EntityCount' source='ExecCtrl'>"&
  "                                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                                   </externaldata>"&
  "                                </treecell>"&

  "                              </iterator>"&
  "                            </treerow>"&
  "                          </iterator>"&
  "                        </iterator>"&
  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&
  "                </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox flex='5.0' id='hboxid_1' orientation='vertical'>"&

  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table' rows='16.000000'>"&
  "                    <treecols>"&
  "                      <treecol id='treecol_id1' flex='2.0' label='TC name' widgetType='string'/>"&
  "                      <treecol id='treecol_id2' flex='2.0' label='Calling leg start' widgetType='string'/>"&
  "                      <treecol id='treecol_id3' flex='2.0' label='Calling leg end' widgetType='string'/>"&
  "                      <treecol id='treecol_id4' flex='2.0' label='Called leg start ' widgetType='string'/>"&
  "                      <treecol id='treecol_id5' flex='2.0' label='Called leg end' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
//EG1
    //LGen1
  "                            <treerow>"&
          //X_Depends0
  "                                <treecell id='X_Depends0.LGen1.EG1' label='101' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
          //X_Depends0
  "                                <treecell id='X_Depends0.LGen2.EG1' label='101' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
          //X_Depends0
  "                                <treecell id='X_Depends0.LGen4.EG1' label='101' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
          //X_Depends0
  "                                <treecell id='X_Depends0.LGen3.EG1' label='101' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
  
//EG2
    //LGen1
  "                            <treerow>"&
          //X_Depends0, X_Depends1
  "                                <treecell id='X_Depends0.LGen1.EG2' label='102' />"&
  "                                <treecell id='X_Depends1.LGen1.EG2' label='102' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
          //X_Depends0, X_Depends1
  "                                <treecell id='X_Depends0.LGen2.EG2' label='102' />"&
  "                                <treecell id='X_Depends1.LGen2.EG2' label='102' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
          //X_Depends0, X_Depends1
  "                                <treecell id='X_Depends0.LGen4.EG2' label='102' />"&
  "                                <treecell id='X_Depends1.LGen4.EG2' label='102' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
          //X_Depends0, X_Depends1
  "                                <treecell id='X_Depends0.LGen3.EG2' label='102' />"&
  "                                <treecell id='X_Depends1.LGen3.EG2' label='102' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
  
//EG3
    //LGen1
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2
  "                                <treecell id='X_Depends0.LGen1.EG3' label='103' />"&
  "                                <treecell id='X_Depends1.LGen1.EG3' label='103' />"&
  "                                <treecell id='X_Depends2.LGen1.EG3' label='103' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2
  "                                <treecell id='X_Depends0.LGen2.EG3' label='103' />"&
  "                                <treecell id='X_Depends1.LGen2.EG3' label='103' />"&
  "                                <treecell id='X_Depends2.LGen2.EG3' label='103' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2
  "                                <treecell id='X_Depends0.LGen4.EG3' label='103' />"&
  "                                <treecell id='X_Depends1.LGen4.EG3' label='103' />"&
  "                                <treecell id='X_Depends2.LGen4.EG3' label='103' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2
  "                                <treecell id='X_Depends0.LGen3.EG3' label='103' />"&
  "                                <treecell id='X_Depends1.LGen3.EG3' label='103' />"&
  "                                <treecell id='X_Depends2.LGen3.EG3' label='103' />"&
  "                                <treecell label=''/>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
  
//EG4
    //LGen1
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2, X_Depends3
  "                                <treecell id='X_Depends0.LGen1.EG4' label='104' />"&
  "                                <treecell id='X_Depends1.LGen1.EG4' label='104' />"&
  "                                <treecell id='X_Depends2.LGen1.EG4' label='104' />"&
  "                                <treecell id='X_Depends3.LGen1.EG4' label='104' />"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2, X_Depends3
  "                                <treecell id='X_Depends0.LGen2.EG4' label='104' />"&
  "                                <treecell id='X_Depends1.LGen2.EG4' label='104' />"&
  "                                <treecell id='X_Depends2.LGen2.EG4' label='104' />"&
  "                                <treecell id='X_Depends3.LGen2.EG4' label='104' />"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2, X_Depends3
  "                                <treecell id='X_Depends0.LGen4.EG4' label='104' />"&
  "                                <treecell id='X_Depends1.LGen4.EG4' label='104' />"&
  "                                <treecell id='X_Depends2.LGen4.EG4' label='104' />"&
  "                                <treecell id='X_Depends3.LGen4.EG4' label='104' />"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
          //X_Depends0, X_Depends1, X_Depends2, X_Depends3
  "                                <treecell id='X_Depends0.LGen3.EG4' label='104' />"&
  "                                <treecell id='X_Depends1.LGen3.EG4' label='104' />"&
  "                                <treecell id='X_Depends2.LGen3.EG4' label='104' />"&
  "                                <treecell id='X_Depends3.LGen3.EG4' label='104' />"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator8               //
//                                                                                    //
//  Purpose :                                                                         //
//   To test, whether the correct amount of treerows appear on screen,                //
//   if more treerowiterator is present in the xml                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator8()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "              <hbox id='hboxid_1' flex='5.0' orientation='vertical'>"&
  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table'>"&
  "                    <treecols>"&
  "                      <iterator element='EntityGroups' id='EGXX' source='ExecCtrl'>"&
  "                        <treecol id='treecol_id_%EGXX::idx%' disabledongui='true' flex='2.0' label='Middle: %EGXX::idx%' widgetType='string'/>"&
  "                      </iterator>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
  "                        <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&        // {"EG1", "EG2", "EG3", "EG4"}
  "                          <iterator element='LGenList' id='LGen_%EG%' source='ExecCtrl'>"&   // {"LGen1", "LGen2", "LGen3"}
  "                            <treerow>"&

  "                                <treecell id='treecell_%LGen_%EG%%.%EG%' label='' tooltiptext=''>"&     // {101,102,103,104,105}
  "                                   <externaldata element='EntityCount' source='ExecCtrl'>"&
  "                                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                                   </externaldata>"&
  "                                </treecell>"&


  "                              <iterator element='EntityGroups' id='EGYY' source='ExecCtrl'>"&
  "                                <condition element='isUnpair' id='isUnpair.%EGYY%' source='ExecCtrl'>"&
  "                                  <params>"&
  "                                    <dataparam name='EntityGroup' value='%EGYY%'/>"&
  "                                  </params>"&
  "                                  <insertif id='isUnpair.%EGYY%'>"&
  "                                    <treecell id='treecell_isUnPair._%LGen_%EG%%.%EG%.%EGYY%' label='%EGYY%'/>"&
  "                                  </insertif>"&
  "                                </condition>"&
  "                              </iterator>"&

  
    "                                <treecell id='treecell_%LGen_%EG%%.%EG%_end' label='end' tooltiptext='' />"&
  
  "                            </treerow>"&
  "                          </iterator>"&
  "                        </iterator>"&
  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&
  "                </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox flex='5.0' id='hboxid_1' orientation='vertical'>"&

  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table' rows='16.000000'>"&
  "                    <treecols>"&
  "                      <treecol id='treecol_id_0' flex='2.0' label='Middle: 0' widgetType='string'/>"&
  "                      <treecol id='treecol_id_1' flex='2.0' label='Middle: 1' widgetType='string'/>"&
  "                      <treecol id='treecol_id_2' flex='2.0' label='Middle: 2' widgetType='string'/>"&
  "                      <treecol id='treecol_id_3' flex='2.0' label='Middle: 3' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
//EG1
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG1' label='101' />"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG1.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG1.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen1.EG1_end' label='end'/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG1' label='101' />"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG1.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG1.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen2.EG1_end' label='end'/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG1' label='101' />"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG1.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG1.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen4.EG1_end' label='end'/>"&

  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG1' label='101' />"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG1.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG1.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen3.EG1_end' label='end'/>"&
  "                            </treerow>"&
  
//EG2
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG2' label='102' />"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG2.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG2.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen1.EG2_end' label='end'/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG2' label='102' />"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG2.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG2.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen2.EG2_end' label='end'/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG2' label='102' />"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG2.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG2.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen4.EG2_end' label='end'/>"&

  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG2' label='102' />"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG2.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG2.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen3.EG2_end' label='end'/>"&
  "                            </treerow>"&

//EG3
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG3' label='103' />"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG3.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG3.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen1.EG3_end' label='end'/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG3' label='103' />"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG3.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG3.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen2.EG3_end' label='end'/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG3' label='103' />"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG3.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG3.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen4.EG3_end' label='end'/>"&
  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG3' label='103' />"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG3.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG3.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen3.EG3_end' label='end'/>"&
  "                            </treerow>"&
  
//EG4
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG4' label='104' />"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG4.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen1.EG4.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen1.EG4_end' label='end'/>"&
  "                            </treerow>"&
    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG4' label='104' />"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG4.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen2.EG4.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen2.EG4_end' label='end'/>"&
  "                            </treerow>"&
    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG4' label='104' />"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG4.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen4.EG4.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen4.EG4_end' label='end'/>"&

  "                            </treerow>"&
    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG4' label='104' />"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG4.EG1' label='EG1'/>"&
  "                                <treecell id='treecell_isUnPair._LGen3.EG4.EG3' label='EG3'/>"&
  "                                <treecell id='treecell_LGen3.EG4_end' label='end'/>"&
  "                            </treerow>"&


  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_emptyrow                    //
//                                                                                    //
//  Purpose :                                                                         //
//   To test, whether the correct amount of treerows appear on screen,                //
//   if more treerowiterator is present in the xml                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_emptyrow()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "              <hbox id='hboxid_1' flex='5.0' orientation='vertical'>"&
  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table'>"&
  "                    <treecols>"&
  "                        <treecol id='treecol' disabledongui='true' flex='2.0' label='TreeCol' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
  "                        <treerow/>"&
  "                        <iterator element='EntityGroups' id='EG' source='ExecCtrl'>"&        // {"EG1", "EG2", "EG3", "EG4"}
  "                          <iterator element='LGenList' id='LGen_%EG%' source='ExecCtrl'>"&   // {"LGen1", "LGen2", "LGen3"}
  "                            <treerow>"&
  "                                <treecell id='treecell_%LGen_%EG%%.%EG%' label='' tooltiptext=''>"&     // {101,102,103,104,105}
  "                                   <externaldata element='EntityCount' source='ExecCtrl'>"&
  "                                      <params> <dataparam name='EntityGroup' value='%EG%'></dataparam> </params> " &
  "                                   </externaldata>"&
  "                                </treecell>"&
  "                            </treerow>"&
  "                            <treerow/>"&
  "                          </iterator>"&
  "                        </iterator>"&
  "                        <treerow/>"&
  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&
  "                </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox flex='5.0' id='hboxid_1' orientation='vertical'>"&

  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table' rows='34.000000'>"&
  "                    <treecols>"&
  "                      <treecol id='treecol' flex='2.0' label='TreeCol' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&
//EG1
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG1' label='101' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG1' label='101' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG1' label='101' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG1' label='101' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

//EG2
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG2' label='102' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG2' label='102' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG2' label='102' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG2' label='102' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

//EG3
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG3' label='103' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG3' label='103' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG3' label='103' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG3' label='103' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

//EG4
    //LGen1
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen1.EG4' label='104' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen2
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen2.EG4' label='104' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen4
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen4.EG4' label='104' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

    //LGen3
  "                            <treerow>"&
  "                                <treecell id='treecell_LGen3.EG4' label='104' />"&
  "                            </treerow>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&


  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_emptyrow2                   //
//                                                                                    //
//  Purpose :                                                                         //
//   To test, whether the correct amount of treerows appear on screen,                //
//   if more treerowiterator is present in the xml                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_treerowiteratorChange_emptyrow2()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "              <hbox id='hboxid_1' flex='5.0' orientation='vertical'>"&
  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table'>"&
  "                    <treecols>"&
  "                        <treecol id='treecol' disabledongui='true' flex='2.0' label='TreeCol' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&

  "                              <iterator element='EntityGroups' id='EGYY' source='ExecCtrl'>"&
  "                                <condition element='isUnpair' id='isUnpair.%EGYY%' source='ExecCtrl'>"&
  "                                  <params>"&
  "                                    <dataparam name='EntityGroup' value='%EGYY%'/>"&
  "                                  </params>"&
  "                                  <insertif id='isUnpair.%EGYY%'>"&
  "                                     <treerow/>"&
  "                                  </insertif>"&
  "                                </condition>"&
  "                              </iterator>"&

  "                        <treerow/>"&
  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&
  "                </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox flex='5.0' id='hboxid_1' orientation='vertical'>"&

  "                  <tree hidecolumnpicker='true' id='TSTM_MME_phone_num_Table' rows='3.000000'>"&
  "                    <treecols>"&
  "                      <treecol id='treecol' flex='2.0' label='TreeCol' widgetType='string'/>"&
  "                    </treecols>"&
  "                    <treechildren>"&
  "                      <treeitem>"&
  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

  "                            <treerow>"&
  "                                <treecell label=''/>"&
  "                            </treerow>"&

  "                      </treeitem>"&
  "                    </treechildren>"&
  "                  </tree>"&

  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen4", "LGen3"}});
}


////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_addedIT                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built. A second creategui is called, which contains an iterator  //
//   After a few seconds, we change the content of the iterator                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_addedIT() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX2' value='XX2' />"&
  "           <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "               <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "           </iterator>"&
  "           <label id='XX3' value='XX3' />"&
  "       </hbox>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "             <label id='XX2' value='XX2' />"&
  "             <textbox id='bubu_0' readonly='true' value='LGen1 ' />"&
  "             <textbox id='bubu_1' readonly='true' value='LGen3 ' />"&
  "             <label id='XX3' value='XX3' />"&
  "           </hbox>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, c_gui2,
  -,-,-,-,-,-,-,"hboxid_1");
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_removedIT                          //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built. Then a widget is removed from gui, which contains an      //
//   iterator. After a few seconds, we change the content of the iterator             //
//   and want to see the gui elements not to change, because the widget is not        //
//   on the gui.                                                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_removedIT() runs on EPTF_UIHandler_Test_CT{

  const charstring c_gui := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  "           <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "               <label id='XX2' value='XX2' />"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                   <textbox id='bubu_%LGen::idx%' readonly='true' value='%LGen% ' />"&
  "               </iterator>"&
  "               <label id='XX3' value='XX3' />"&
  "           </hbox>"&
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  const charstring c_expectedGUI := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
  "   <window id='EPTF_Main_Window' orientation='vertical'"&
  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "         <label id='XX1' value='XX1' />"&
  "         <hbox flex='0.000000' />"& // Because the RunTime GUI not delete it
  "       </hbox>"&
  "   </window>"&
  "</Widgets>";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen3"}}, false, -, false, -, -,
  -,-,-,-,-,-,-,-, "hboxid_2");
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_complex                            //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built, which contains an iterator. After a few seconds,          //
//   we change the content of several iterators                                       //
//   and want to see the gui elements to change.                                      //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_complex()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui := 
"<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>
  <window id='EPTF_Main_Window' orientation='vertical'
       title='TTCN constructed window' height='500.000000' width='500.000000'>
  <hbox orientation='vertical'>
    <tabpages id='HostAdmin_tabbox'>
      <tabpage id='HostAdminServer.tab' label='HostAdminServer'
        orientation='vertical'>
        <!--<condition element='isMultipleHosts' id='cond_multipleHosts'
          source='HostAdminServer'>
          <insertif id='cond_multipleHosts'>-->
            <hbox>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.hostStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='Host'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Physical Memory'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Free Memory'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='host' source='ExecCtrl'>
                      <treerow>
                        <treecell label='%host%' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
            </hbox>
          <!--</insertif>
        </condition>-->
        <tabpages layout='LISTCARD'>
          <iterator element='LGenList' id='host' source='ExecCtrl'>
            <tabpage id='HostAdmin.%host%' label='%host%' orientation='vertical'>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.hostStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='Host Statistics'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Value'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <treerow>
                      <treecell label='Physical Memory' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <treerow>
                      <treecell label='Free Memory' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <treerow>
                      <treecell label='CPU Load [%]' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <iterator element='LGenList' id='CpuIdx' source='ExecCtrl'>
                      <params>
                        <dataparam name='HostName' value='%host%' />
                      </params>
                      <treerow>
                        <treecell label='CPU %CpuIdx% Load [%]' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <label value='Processes on this host:' />
              <hbox orientation='horizontal' flex='0.0'>
                <label value='Sort processes by:' flex='0.0' />
                <menulist id='dummyId%host%' disabled='false' editable='true'
                  flex='1.0'>
                  <menupopup>
                    <menuitem label='' selected='false' />
                    <iterator element='LGenList' id='pSortOption'
                      source='ExecCtrl'>
                      <menuitem label='%pSortOption%' selected='false' />
                    </iterator>
                  </menupopup>
                          <externaldata element='selected' source='ExecCtrl'>
                          </externaldata>
                </menulist>
              </hbox>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.processStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='EPTF Process'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='PID'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Memory Usage'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='processIdx'
                      source='ExecCtrl'>
                      <params>
                        <dataparam name='HostName' value='%host%' />
                      </params>
                      <treerow>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <externalvalue id='srcVar' element='EntityCount' source='ExecCtrl'>
                          <params>
                            <dataparam name='HostName' value='%host%' />
                            <dataparam name='ProcessIdx' value='%processIdx%' />
                          </params>
                          <treecell tooltiptext='CPUload'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                          </treecell>
                        </externalvalue>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <label value='All EPTF processes:' />
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.allProcessStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='EPTF Process'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Host'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='PID'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Memory Usage'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='selfName'
                      source='ExecCtrl'>
                      <treerow>
                        <treecell label='%selfName%' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <hbox disabled='false' flex='1.000000' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' disabled='false'
                flex='1.0' gridX='true' gridY='true'
                id='HostAdmin.%host%.allProcessStats.MemUsageChart'
                title='Mem Usage Chart:' zoomable='true'>
                  <iterator element='LGenList' id='selfName' source='ExecCtrl'>
                    <trace
                      id='HostAdmin.%host%.%selfName%.allProcessStats.MemUsageChart.memUsage'
                      maxPoints='10' name='%selfName%' physicalUnitX='sec'
                      physicalUnitY='KB'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                    </trace>
                  </iterator>
                </chart>
              </hbox>
              <hbox disabled='false' flex='1.000000' orientation='horizontal'>
                <chart axisXType='linear' axisYType='linear' disabled='false'
                  flex='1.0' gridX='true' gridY='true'
                  id='HostAdmin.%host%.allProcessStats.CpuLoadChart'
                  title='Cpu Load Chart:' zoomable='true'>
                  <iterator element='LGenList' id='selfName' source='ExecCtrl'>
                    <trace
                      id='HostAdmin.%host%.%selfName%.allProcessStats.CpuLoadChart.memUsage'
                      maxPoints='10' name='%selfName%' physicalUnitX='sec'
                      physicalUnitY='%'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                    </trace>
                  </iterator>
                </chart>
              </hbox>
            </tabpage>
          </iterator>
        </tabpages>
      </tabpage>
    </tabpages>
  </hbox>
  </window>
</Widgets>
";

  const charstring c_expectedGUI := "
<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'> <window xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl' height='500.000000' id='EPTF_Main_Window' orientation='vertical' title='TTCN constructed window' width='500.000000'>
  <hbox flex='1.000000' id='UIHandler_widgetId_0' orientation='vertical'>
    <tabpages flex='1.000000' id='HostAdmin_tabbox'>
      <tabpage id='HostAdminServer.tab' label='HostAdminServer' orientation='vertical'>
        <hbox flex='1.000000' id='UIHandler_widgetId_1' orientation='horizontal'>
          <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.%host%.hostStats' rows='7.000000'>
            <treecols>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_2' label='Host' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_3' label='CPU Load [%]' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_4' label='Physical Memory' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_5' label='Free Memory' widgetType='string'/>
            </treecols>
            <treechildren>
              <treeitem>
                <treerow>
                  <treecell id='UIHandler_widgetId_228' label='LGen1'/>
                  <treecell id='UIHandler_widgetId_229' label='101'/>
                  <treecell id='UIHandler_widgetId_230' label='101'/>
                  <treecell id='UIHandler_widgetId_231' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_232' label='LGen2'/>
                  <treecell id='UIHandler_widgetId_233' label='101'/>
                  <treecell id='UIHandler_widgetId_234' label='101'/>
                  <treecell id='UIHandler_widgetId_235' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_236' label='LGen3'/>
                  <treecell id='UIHandler_widgetId_237' label='101'/>
                  <treecell id='UIHandler_widgetId_238' label='101'/>
                  <treecell id='UIHandler_widgetId_239' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_240' label='LGen4'/>
                  <treecell id='UIHandler_widgetId_241' label='101'/>
                  <treecell id='UIHandler_widgetId_242' label='101'/>
                  <treecell id='UIHandler_widgetId_243' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_244' label='LGen5'/>
                  <treecell id='UIHandler_widgetId_245' label='101'/>
                  <treecell id='UIHandler_widgetId_246' label='101'/>
                  <treecell id='UIHandler_widgetId_247' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_248' label='LGen6'/>
                  <treecell id='UIHandler_widgetId_249' label='101'/>
                  <treecell id='UIHandler_widgetId_250' label='101'/>
                  <treecell id='UIHandler_widgetId_251' label='101'/>
                </treerow>
                <treerow>
                  <treecell label=''/>
                  <treecell label=''/>
                  <treecell label=''/>
                  <treecell label=''/>
                </treerow>
              </treeitem>
            </treechildren>
          </tree>
        </hbox>
        <tabpages flex='1.000000' id='UIHandler_widgetId_19' layout='LISTCARD'>
          <tabpage id='HostAdmin.LGen1' label='LGen1' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_252' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_253' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_254' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_255' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_256' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_257' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_258' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_259' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_837' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_838' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_839' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_840' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_841' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_842' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_843' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_844' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_845' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_846' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_847' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_848' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_267' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_268' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_269' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen1' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_270' label=''/>
                  <menuitem id='UIHandler_widgetId_272' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_273' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_274' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_275' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_276' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_277' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_278' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_279' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_280' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_281' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_849' label='101'/>
                    <treecell id='UIHandler_widgetId_850' label='101'/>
                    <treecell id='UIHandler_widgetId_852' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_853' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_854' label='101'/>
                    <treecell id='UIHandler_widgetId_855' label='101'/>
                    <treecell id='UIHandler_widgetId_857' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_858' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_859' label='101'/>
                    <treecell id='UIHandler_widgetId_860' label='101'/>
                    <treecell id='UIHandler_widgetId_862' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_863' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_864' label='101'/>
                    <treecell id='UIHandler_widgetId_865' label='101'/>
                    <treecell id='UIHandler_widgetId_867' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_868' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_869' label='101'/>
                    <treecell id='UIHandler_widgetId_870' label='101'/>
                    <treecell id='UIHandler_widgetId_872' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_873' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_874' label='101'/>
                    <treecell id='UIHandler_widgetId_875' label='101'/>
                    <treecell id='UIHandler_widgetId_877' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_878' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_298' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_299' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_300' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_301' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_302' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_303' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_305' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_306' label='101'/>
                    <treecell id='UIHandler_widgetId_307' label='101'/>
                    <treecell id='UIHandler_widgetId_308' label='101'/>
                    <treecell id='UIHandler_widgetId_309' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_310' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_311' label='101'/>
                    <treecell id='UIHandler_widgetId_312' label='101'/>
                    <treecell id='UIHandler_widgetId_313' label='101'/>
                    <treecell id='UIHandler_widgetId_314' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_315' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_316' label='101'/>
                    <treecell id='UIHandler_widgetId_317' label='101'/>
                    <treecell id='UIHandler_widgetId_318' label='101'/>
                    <treecell id='UIHandler_widgetId_319' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_320' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_321' label='101'/>
                    <treecell id='UIHandler_widgetId_322' label='101'/>
                    <treecell id='UIHandler_widgetId_323' label='101'/>
                    <treecell id='UIHandler_widgetId_324' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_325' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_326' label='101'/>
                    <treecell id='UIHandler_widgetId_327' label='101'/>
                    <treecell id='UIHandler_widgetId_328' label='101'/>
                    <treecell id='UIHandler_widgetId_329' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_330' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_331' label='101'/>
                    <treecell id='UIHandler_widgetId_332' label='101'/>
                    <treecell id='UIHandler_widgetId_333' label='101'/>
                    <treecell id='UIHandler_widgetId_334' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_335' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen1.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen1.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen1.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen1.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen1.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen1.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen1.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_337' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen1.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen1.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen1.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen1.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen1.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen1.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen1.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
          <tabpage id='HostAdmin.LGen2' label='LGen2' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_339' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_340' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_341' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_342' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_343' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_344' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_345' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_346' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_879' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_880' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_881' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_882' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_883' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_884' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_885' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_886' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_887' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_888' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_889' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_890' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_354' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_355' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_356' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen2' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_357' label=''/>
                  <menuitem id='UIHandler_widgetId_359' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_360' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_361' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_362' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_363' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_364' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_365' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_366' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_367' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_368' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_891' label='101'/>
                    <treecell id='UIHandler_widgetId_892' label='101'/>
                    <treecell id='UIHandler_widgetId_894' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_895' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_896' label='101'/>
                    <treecell id='UIHandler_widgetId_897' label='101'/>
                    <treecell id='UIHandler_widgetId_899' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_900' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_901' label='101'/>
                    <treecell id='UIHandler_widgetId_902' label='101'/>
                    <treecell id='UIHandler_widgetId_904' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_905' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_906' label='101'/>
                    <treecell id='UIHandler_widgetId_907' label='101'/>
                    <treecell id='UIHandler_widgetId_909' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_910' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_911' label='101'/>
                    <treecell id='UIHandler_widgetId_912' label='101'/>
                    <treecell id='UIHandler_widgetId_914' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_915' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_916' label='101'/>
                    <treecell id='UIHandler_widgetId_917' label='101'/>
                    <treecell id='UIHandler_widgetId_919' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_920' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_385' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_386' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_387' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_388' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_389' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_390' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_392' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_393' label='101'/>
                    <treecell id='UIHandler_widgetId_394' label='101'/>
                    <treecell id='UIHandler_widgetId_395' label='101'/>
                    <treecell id='UIHandler_widgetId_396' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_397' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_398' label='101'/>
                    <treecell id='UIHandler_widgetId_399' label='101'/>
                    <treecell id='UIHandler_widgetId_400' label='101'/>
                    <treecell id='UIHandler_widgetId_401' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_402' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_403' label='101'/>
                    <treecell id='UIHandler_widgetId_404' label='101'/>
                    <treecell id='UIHandler_widgetId_405' label='101'/>
                    <treecell id='UIHandler_widgetId_406' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_407' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_408' label='101'/>
                    <treecell id='UIHandler_widgetId_409' label='101'/>
                    <treecell id='UIHandler_widgetId_410' label='101'/>
                    <treecell id='UIHandler_widgetId_411' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_412' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_413' label='101'/>
                    <treecell id='UIHandler_widgetId_414' label='101'/>
                    <treecell id='UIHandler_widgetId_415' label='101'/>
                    <treecell id='UIHandler_widgetId_416' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_417' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_418' label='101'/>
                    <treecell id='UIHandler_widgetId_419' label='101'/>
                    <treecell id='UIHandler_widgetId_420' label='101'/>
                    <treecell id='UIHandler_widgetId_421' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_422' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen2.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen2.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen2.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen2.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen2.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen2.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen2.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_424' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen2.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen2.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen2.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen2.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen2.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen2.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen2.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
          <tabpage id='HostAdmin.LGen3' label='LGen3' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_426' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_427' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_428' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_429' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_430' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_431' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_432' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_433' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_921' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_922' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_923' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_924' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_925' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_926' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_927' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_928' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_929' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_930' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_931' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_932' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_441' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_442' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_443' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen3' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_444' label=''/>
                  <menuitem id='UIHandler_widgetId_446' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_447' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_448' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_449' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_450' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_451' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_452' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_453' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_454' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_455' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_933' label=''/>
                    <treecell id='UIHandler_widgetId_934' label=''/>
                    <treecell id='UIHandler_widgetId_936' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_937' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_938' label=''/>
                    <treecell id='UIHandler_widgetId_939' label=''/>
                    <treecell id='UIHandler_widgetId_941' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_942' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_943' label=''/>
                    <treecell id='UIHandler_widgetId_944' label=''/>
                    <treecell id='UIHandler_widgetId_946' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_947' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_948' label=''/>
                    <treecell id='UIHandler_widgetId_949' label=''/>
                    <treecell id='UIHandler_widgetId_951' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_952' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_953' label=''/>
                    <treecell id='UIHandler_widgetId_954' label=''/>
                    <treecell id='UIHandler_widgetId_956' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_957' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_958' label=''/>
                    <treecell id='UIHandler_widgetId_959' label=''/>
                    <treecell id='UIHandler_widgetId_961' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_962' label=''/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_472' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_473' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_474' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_475' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_476' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_477' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_479' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_480' label='101'/>
                    <treecell id='UIHandler_widgetId_481' label='101'/>
                    <treecell id='UIHandler_widgetId_482' label='101'/>
                    <treecell id='UIHandler_widgetId_483' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_484' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_485' label='101'/>
                    <treecell id='UIHandler_widgetId_486' label='101'/>
                    <treecell id='UIHandler_widgetId_487' label='101'/>
                    <treecell id='UIHandler_widgetId_488' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_489' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_490' label='101'/>
                    <treecell id='UIHandler_widgetId_491' label='101'/>
                    <treecell id='UIHandler_widgetId_492' label='101'/>
                    <treecell id='UIHandler_widgetId_493' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_494' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_495' label='101'/>
                    <treecell id='UIHandler_widgetId_496' label='101'/>
                    <treecell id='UIHandler_widgetId_497' label='101'/>
                    <treecell id='UIHandler_widgetId_498' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_499' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_500' label='101'/>
                    <treecell id='UIHandler_widgetId_501' label='101'/>
                    <treecell id='UIHandler_widgetId_502' label='101'/>
                    <treecell id='UIHandler_widgetId_503' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_504' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_505' label='101'/>
                    <treecell id='UIHandler_widgetId_506' label='101'/>
                    <treecell id='UIHandler_widgetId_507' label='101'/>
                    <treecell id='UIHandler_widgetId_508' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_509' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen3.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen3.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen3.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen3.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen3.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen3.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen3.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_511' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen3.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen3.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen3.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen3.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen3.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen3.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen3.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
          <tabpage id='HostAdmin.LGen4' label='LGen4' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_513' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_514' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_515' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_516' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_517' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_518' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_519' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_520' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_522' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_523' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_524' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_525' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_526' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_527' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_528' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_529' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_530' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_531' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_532' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_533' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_534' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_535' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_536' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen4' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_537' label=''/>
                  <menuitem id='UIHandler_widgetId_539' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_540' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_541' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_542' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_543' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_544' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_545' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_546' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_547' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_548' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_550' label='101'/>
                    <treecell id='UIHandler_widgetId_551' label='101'/>
                    <treecell id='UIHandler_widgetId_553' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_554' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_555' label='101'/>
                    <treecell id='UIHandler_widgetId_556' label='101'/>
                    <treecell id='UIHandler_widgetId_558' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_559' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_560' label='101'/>
                    <treecell id='UIHandler_widgetId_561' label='101'/>
                    <treecell id='UIHandler_widgetId_563' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_564' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_565' label='101'/>
                    <treecell id='UIHandler_widgetId_566' label='101'/>
                    <treecell id='UIHandler_widgetId_568' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_569' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_570' label='101'/>
                    <treecell id='UIHandler_widgetId_571' label='101'/>
                    <treecell id='UIHandler_widgetId_573' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_574' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_575' label='101'/>
                    <treecell id='UIHandler_widgetId_576' label='101'/>
                    <treecell id='UIHandler_widgetId_578' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_579' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_580' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_581' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_582' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_583' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_584' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_585' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_587' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_588' label='101'/>
                    <treecell id='UIHandler_widgetId_589' label='101'/>
                    <treecell id='UIHandler_widgetId_590' label='101'/>
                    <treecell id='UIHandler_widgetId_591' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_592' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_593' label='101'/>
                    <treecell id='UIHandler_widgetId_594' label='101'/>
                    <treecell id='UIHandler_widgetId_595' label='101'/>
                    <treecell id='UIHandler_widgetId_596' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_597' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_598' label='101'/>
                    <treecell id='UIHandler_widgetId_599' label='101'/>
                    <treecell id='UIHandler_widgetId_600' label='101'/>
                    <treecell id='UIHandler_widgetId_601' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_602' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_603' label='101'/>
                    <treecell id='UIHandler_widgetId_604' label='101'/>
                    <treecell id='UIHandler_widgetId_605' label='101'/>
                    <treecell id='UIHandler_widgetId_606' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_607' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_608' label='101'/>
                    <treecell id='UIHandler_widgetId_609' label='101'/>
                    <treecell id='UIHandler_widgetId_610' label='101'/>
                    <treecell id='UIHandler_widgetId_611' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_612' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_613' label='101'/>
                    <treecell id='UIHandler_widgetId_614' label='101'/>
                    <treecell id='UIHandler_widgetId_615' label='101'/>
                    <treecell id='UIHandler_widgetId_616' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_617' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen4.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen4.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen4.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen4.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen4.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen4.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen4.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_619' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen4.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen4.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen4.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen4.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen4.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen4.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen4.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
          <tabpage id='HostAdmin.LGen5' label='LGen5' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_621' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_622' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_623' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_624' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_625' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_626' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_627' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_628' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_630' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_631' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_632' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_633' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_634' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_635' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_636' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_637' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_638' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_639' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_640' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_641' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_642' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_643' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_644' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen5' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_645' label=''/>
                  <menuitem id='UIHandler_widgetId_647' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_648' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_649' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_650' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_651' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_652' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_653' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_654' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_655' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_656' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_658' label='101'/>
                    <treecell id='UIHandler_widgetId_659' label='101'/>
                    <treecell id='UIHandler_widgetId_661' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_662' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_663' label='101'/>
                    <treecell id='UIHandler_widgetId_664' label='101'/>
                    <treecell id='UIHandler_widgetId_666' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_667' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_668' label='101'/>
                    <treecell id='UIHandler_widgetId_669' label='101'/>
                    <treecell id='UIHandler_widgetId_671' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_672' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_673' label='101'/>
                    <treecell id='UIHandler_widgetId_674' label='101'/>
                    <treecell id='UIHandler_widgetId_676' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_677' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_678' label='101'/>
                    <treecell id='UIHandler_widgetId_679' label='101'/>
                    <treecell id='UIHandler_widgetId_681' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_682' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_683' label='101'/>
                    <treecell id='UIHandler_widgetId_684' label='101'/>
                    <treecell id='UIHandler_widgetId_686' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_687' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_688' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_689' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_690' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_691' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_692' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_693' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_695' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_696' label='101'/>
                    <treecell id='UIHandler_widgetId_697' label='101'/>
                    <treecell id='UIHandler_widgetId_698' label='101'/>
                    <treecell id='UIHandler_widgetId_699' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_700' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_701' label='101'/>
                    <treecell id='UIHandler_widgetId_702' label='101'/>
                    <treecell id='UIHandler_widgetId_703' label='101'/>
                    <treecell id='UIHandler_widgetId_704' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_705' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_706' label='101'/>
                    <treecell id='UIHandler_widgetId_707' label='101'/>
                    <treecell id='UIHandler_widgetId_708' label='101'/>
                    <treecell id='UIHandler_widgetId_709' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_710' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_711' label='101'/>
                    <treecell id='UIHandler_widgetId_712' label='101'/>
                    <treecell id='UIHandler_widgetId_713' label='101'/>
                    <treecell id='UIHandler_widgetId_714' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_715' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_716' label='101'/>
                    <treecell id='UIHandler_widgetId_717' label='101'/>
                    <treecell id='UIHandler_widgetId_718' label='101'/>
                    <treecell id='UIHandler_widgetId_719' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_720' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_721' label='101'/>
                    <treecell id='UIHandler_widgetId_722' label='101'/>
                    <treecell id='UIHandler_widgetId_723' label='101'/>
                    <treecell id='UIHandler_widgetId_724' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_725' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen5.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen5.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen5.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen5.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen5.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen5.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen5.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_727' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen5.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen5.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen5.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen5.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen5.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen5.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen5.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
          <tabpage id='HostAdmin.LGen6' label='LGen6' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_729' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_730' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_731' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_732' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_733' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_734' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_735' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_736' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_738' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_739' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_740' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_741' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_742' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_743' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_744' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_745' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_746' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_747' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_748' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_749' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_750' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_751' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_752' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen6' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_753' label=''/>
                  <menuitem id='UIHandler_widgetId_755' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_756' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_757' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_758' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_759' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_760' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_761' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_762' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_763' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_764' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_766' label='101'/>
                    <treecell id='UIHandler_widgetId_767' label='101'/>
                    <treecell id='UIHandler_widgetId_769' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_770' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_771' label='101'/>
                    <treecell id='UIHandler_widgetId_772' label='101'/>
                    <treecell id='UIHandler_widgetId_774' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_775' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_776' label='101'/>
                    <treecell id='UIHandler_widgetId_777' label='101'/>
                    <treecell id='UIHandler_widgetId_779' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_780' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_781' label='101'/>
                    <treecell id='UIHandler_widgetId_782' label='101'/>
                    <treecell id='UIHandler_widgetId_784' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_785' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_786' label='101'/>
                    <treecell id='UIHandler_widgetId_787' label='101'/>
                    <treecell id='UIHandler_widgetId_789' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_790' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_791' label='101'/>
                    <treecell id='UIHandler_widgetId_792' label='101'/>
                    <treecell id='UIHandler_widgetId_794' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_795' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_796' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_797' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_798' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_799' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_800' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_801' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_803' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_804' label='101'/>
                    <treecell id='UIHandler_widgetId_805' label='101'/>
                    <treecell id='UIHandler_widgetId_806' label='101'/>
                    <treecell id='UIHandler_widgetId_807' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_808' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_809' label='101'/>
                    <treecell id='UIHandler_widgetId_810' label='101'/>
                    <treecell id='UIHandler_widgetId_811' label='101'/>
                    <treecell id='UIHandler_widgetId_812' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_813' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_814' label='101'/>
                    <treecell id='UIHandler_widgetId_815' label='101'/>
                    <treecell id='UIHandler_widgetId_816' label='101'/>
                    <treecell id='UIHandler_widgetId_817' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_818' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_819' label='101'/>
                    <treecell id='UIHandler_widgetId_820' label='101'/>
                    <treecell id='UIHandler_widgetId_821' label='101'/>
                    <treecell id='UIHandler_widgetId_822' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_823' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_824' label='101'/>
                    <treecell id='UIHandler_widgetId_825' label='101'/>
                    <treecell id='UIHandler_widgetId_826' label='101'/>
                    <treecell id='UIHandler_widgetId_827' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_828' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_829' label='101'/>
                    <treecell id='UIHandler_widgetId_830' label='101'/>
                    <treecell id='UIHandler_widgetId_831' label='101'/>
                    <treecell id='UIHandler_widgetId_832' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <hbox flex='1.000000' id='UIHandler_widgetId_833' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen6.allProcessStats.MemUsageChart' title='Mem Usage Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen6.LGen1.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen6.LGen2.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen6.LGen3.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen6.LGen4.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen6.LGen5.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='KB'/>
                <trace id='HostAdmin.LGen6.LGen6.allProcessStats.MemUsageChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='KB'/>
              </chart>
            </hbox>
            <hbox flex='1.000000' id='UIHandler_widgetId_835' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' flex='1.000000' gridX='true' gridY='true' id='HostAdmin.LGen6.allProcessStats.CpuLoadChart' title='Cpu Load Chart:' zoomable='true'>
                <trace id='HostAdmin.LGen6.LGen1.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen1' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen6.LGen2.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen2' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen6.LGen3.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen3' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen6.LGen4.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen4' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen6.LGen5.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen5' physicalUnitX='sec' physicalUnitY='%'/>
                <trace id='HostAdmin.LGen6.LGen6.allProcessStats.CpuLoadChart.memUsage' maxPoints='10' name='LGen6' physicalUnitX='sec' physicalUnitY='%'/>
              </chart>
            </hbox>
          </tabpage>
        </tabpages>
      </tabpage>
    </tabpages>
  </hbox>
</window>
</Widgets>
";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}},
    pl_additionalVars:={{"selected","selected",{charstringVal := ""}}});
}

////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
//  Testcase tc_EPTF_UIHandler_Test_iteratorChange_complex_moreXMLs                   //
//                                                                                    //
//  Purpose :                                                                         //
//    A customGUI is built from two XMLs, both of which contain iterators.            //
//   After a few seconds, we change the content of several iterators                  //
//   and want to see the gui elements to change.                                      //
//   This test is similar to <Testcase tc_EPTF_UIHandler_Test_iteratorChange_complex> //
//                                                                                    //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
testcase tc_EPTF_UIHandler_Test_iteratorChange_complex_moreXMLs()  runs on EPTF_UIHandler_Test_CT{
  const charstring c_gui2 := 
  "<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>"&
//  "   <window id='EPTF_Main_Window' orientation='vertical'"&
//  "       title='TTCN constructed window' height='500.000000' width='500.000000'>"&
  "       <hbox id='hboxid_1' flex='0.000000' orientation='vertical'>"&
  "           <label id='XX1' value='XX1' />"&
  
  "           <tree hidecolumnpicker='true' id='TreeID'>"&
  "             <treecols>"&
  "               <treecol id='Treecol_1' flex='1.000000' label='string' widgetType='string'/>"&
  "               <treecol id='Treecol_2' flex='1.000000' label='integerField' widgetType='integerField'/>"&
  "             </treecols>"&
  "             <treechildren>"&
  "               <treeitem>"&
  "                <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <treerow>"&
  "                   <treecell id='Treecell_row%LGen::idx%_1' label='%LGen%'>"&
  "                   </treecell>"&
  "                   <treecell id='Treecell_row%LGen::idx%_2' label='%LGen::idx%'>"&
  "                   </treecell>"&
  "                 </treerow>"&
  "                </iterator>"&
  "               </treeitem>"&
  "             </treechildren>"&
  "           </tree>"&

  "           <label id='XX2' value='XX2' />"&
  "       <hbox id='hboxid_2' flex='0.000000' orientation='vertical'>"&
  "       <tabpages>"&
  "         <iterator element='LGenList' id='host' source='ExecCtrl'>"&
  "           <tabpage id='tabpage.%host%' label='%host%' orientation='vertical'>"&
  "             <hbox id='hboxid_%host%_%LGen%_5' flex='0.000000' orientation='horizontal'>"&
  "               <iterator id='LGen' source='ExecCtrl' element='LGenList'>"&
  "                 <label id='XX1_%host%_%LGen%' value='%LGen%' />"&
  "               </iterator>"&
  "             </hbox>"&
  "           </tabpage>"&
  "         </iterator>"&
  "       </tabpages>"&
  "       </hbox>"&

  "       </hbox>"&
//  "   </window>"&
  "</Widgets>";

  const charstring c_gui := 
"<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'>
  <window id='EPTF_Main_Window' orientation='vertical'
       title='TTCN constructed window' height='500.000000' width='500.000000'>
  <hbox orientation='vertical'>
    <tabpages id='HostAdmin_tabbox'>
      <tabpage id='HostAdminServer.tab' label='HostAdminServer'
        orientation='vertical'>
        <!--<condition element='isMultipleHosts' id='cond_multipleHosts'
          source='HostAdminServer'>
          <insertif id='cond_multipleHosts'>-->
            <hbox>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.hostStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='Host'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Physical Memory'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Free Memory'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='host' source='ExecCtrl'>
                      <treerow>
                        <treecell label='%host%' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
            </hbox>
          <!--</insertif>
        </condition>-->
        <tabpages layout='LISTCARD'>
          <iterator element='LGenList' id='host' source='ExecCtrl'>
            <tabpage id='HostAdmin.%host%' label='%host%' orientation='vertical'>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.hostStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='Host Statistics'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Value'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <treerow>
                      <treecell label='Physical Memory' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <treerow>
                      <treecell label='Free Memory' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <treerow>
                      <treecell label='CPU Load [%]' />
                      <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                      </treecell>
                    </treerow>
                    <iterator element='LGenList' id='CpuIdx' source='ExecCtrl'>
                      <params>
                        <dataparam name='HostName' value='%host%' />
                      </params>
                      <treerow>
                        <treecell label='CPU %CpuIdx% Load [%]' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <label value='Processes on this host:' />
              <hbox orientation='horizontal' flex='0.0'>
                <label value='Sort processes by:' flex='0.0' />
                <menulist id='dummyId%host%' disabled='false' editable='true'
                  flex='1.0'>
                  <menupopup>
                    <menuitem label='' selected='false' />
                    <iterator element='LGenList' id='pSortOption'
                      source='ExecCtrl'>
                      <menuitem label='%pSortOption%' selected='false' />
                    </iterator>
                  </menupopup>
                          <externaldata element='selected' source='ExecCtrl'>
                          </externaldata>
                </menulist>
              </hbox>
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.processStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='EPTF Process'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='PID'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Memory Usage'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='processIdx'
                      source='ExecCtrl'>
                      <params>
                        <dataparam name='HostName' value='%host%' />
                      </params>
                      <treerow>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <externalvalue id='srcVar' element='EntityCount' source='ExecCtrl'>
                          <params>
                            <dataparam name='HostName' value='%host%' />
                            <dataparam name='ProcessIdx' value='%processIdx%' />
                          </params>
                          <treecell tooltiptext='CPUload'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                          </treecell>
                        </externalvalue>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <label value='All EPTF processes:' />
              <tree disabled='false' flex='1.000000' hidecolumnpicker='true'
                id='HostAdmin.%host%.allProcessStats' rows='1.000000'>
                <treecols>
                  <treecol editable='false' flex='1.000000' label='EPTF Process'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Host'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='PID'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='CPU Load [%]'
                    widgetType='string' />
                  <treecol editable='false' flex='1.000000' label='Memory Usage'
                    widgetType='string' />
                </treecols>
                <treechildren>
                  <treeitem>
                    <iterator element='LGenList' id='selfName'
                      source='ExecCtrl'>
                      <treerow>
                        <treecell label='%selfName%' />
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                        <treecell>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                        </treecell>
                      </treerow>
                    </iterator>
                  </treeitem>
                </treechildren>
              </tree>
              <!--<hbox disabled='false' flex='1.000000' orientation='horizontal'>
              <chart axisXType='linear' axisYType='linear' disabled='false'
                flex='1.0' gridX='true' gridY='true'
                id='HostAdmin.%host%.allProcessStats.MemUsageChart'
                title='Mem Usage Chart:' zoomable='true'>
                  <iterator element='LGenList' id='selfName' source='ExecCtrl'>
                    <trace
                      id='HostAdmin.%host%.%selfName%.allProcessStats.MemUsageChart.memUsage'
                      maxPoints='10' name='%selfName%' physicalUnitX='sec'
                      physicalUnitY='KB'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                    </trace>
                  </iterator>
                </chart>
              </hbox>
              <hbox disabled='false' flex='1.000000' orientation='horizontal'>
                <chart axisXType='linear' axisYType='linear' disabled='false'
                  flex='1.0' gridX='true' gridY='true'
                  id='HostAdmin.%host%.allProcessStats.CpuLoadChart'
                  title='Cpu Load Chart:' zoomable='true'>
                  <iterator element='LGenList' id='selfName' source='ExecCtrl'>
                    <trace
                      id='HostAdmin.%host%.%selfName%.allProcessStats.CpuLoadChart.memUsage'
                      maxPoints='10' name='%selfName%' physicalUnitX='sec'
                      physicalUnitY='%'>
                          <externaldata element='EntityCount' source='ExecCtrl'>
                            <params> <dataparam name='EntityGroup' value='EG1'></dataparam> </params>
                          </externaldata>
                    </trace>
                  </iterator>
                </chart>
              </hbox>-->
            </tabpage>
          </iterator>
        </tabpages>
      </tabpage>
    </tabpages>
  </hbox>
  </window>
</Widgets>
";

  const charstring c_expectedGUI := "
<Widgets xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl'> <window xmlns='http://ttcn.ericsson.se/protocolModules/xtdp/xtdl' height='500.000000' id='EPTF_Main_Window' orientation='vertical' title='TTCN constructed window' width='500.000000'>
  <hbox flex='1.000000' id='UIHandler_widgetId_0' orientation='vertical'>
    <tabpages flex='1.000000' id='HostAdmin_tabbox'>
      <tabpage id='HostAdminServer.tab' label='HostAdminServer' orientation='vertical'>
        <hbox flex='1.000000' id='UIHandler_widgetId_1' orientation='horizontal'>
          <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.%host%.hostStats' rows='7.000000'>
            <treecols>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_2' label='Host' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_3' label='CPU Load [%]' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_4' label='Physical Memory' widgetType='string'/>
              <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_5' label='Free Memory' widgetType='string'/>
            </treecols>
            <treechildren>
              <treeitem>
                <treerow>
                  <treecell id='UIHandler_widgetId_222' label='LGen1'/>
                  <treecell id='UIHandler_widgetId_223' label='101'/>
                  <treecell id='UIHandler_widgetId_224' label='101'/>
                  <treecell id='UIHandler_widgetId_225' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_226' label='LGen2'/>
                  <treecell id='UIHandler_widgetId_227' label='101'/>
                  <treecell id='UIHandler_widgetId_228' label='101'/>
                  <treecell id='UIHandler_widgetId_229' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_230' label='LGen3'/>
                  <treecell id='UIHandler_widgetId_231' label='101'/>
                  <treecell id='UIHandler_widgetId_232' label='101'/>
                  <treecell id='UIHandler_widgetId_233' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_234' label='LGen4'/>
                  <treecell id='UIHandler_widgetId_235' label='101'/>
                  <treecell id='UIHandler_widgetId_236' label='101'/>
                  <treecell id='UIHandler_widgetId_237' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_238' label='LGen5'/>
                  <treecell id='UIHandler_widgetId_239' label='101'/>
                  <treecell id='UIHandler_widgetId_240' label='101'/>
                  <treecell id='UIHandler_widgetId_241' label='101'/>
                </treerow>
                <treerow>
                  <treecell id='UIHandler_widgetId_242' label='LGen6'/>
                  <treecell id='UIHandler_widgetId_243' label='101'/>
                  <treecell id='UIHandler_widgetId_244' label='101'/>
                  <treecell id='UIHandler_widgetId_245' label='101'/>
                </treerow>
                <treerow>
                  <treecell label=''/>
                  <treecell label=''/>
                  <treecell label=''/>
                  <treecell label=''/>
                </treerow>
              </treeitem>
            </treechildren>
          </tree>
        </hbox>
        <tabpages flex='1.000000' id='UIHandler_widgetId_19' layout='LISTCARD'>
          <tabpage id='HostAdmin.LGen1' label='LGen1' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_246' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_247' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_248' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_249' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_250' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_251' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_252' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_253' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_813' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_814' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_815' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_816' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_817' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_818' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_819' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_820' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_821' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_822' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_823' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_824' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_261' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_262' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_263' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen1' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_264' label=''/>
                  <menuitem id='UIHandler_widgetId_266' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_267' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_268' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_269' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_270' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_271' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_272' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_273' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_274' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_275' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_825' label='101'/>
                    <treecell id='UIHandler_widgetId_826' label='101'/>
                    <treecell id='UIHandler_widgetId_828' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_829' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_830' label='101'/>
                    <treecell id='UIHandler_widgetId_831' label='101'/>
                    <treecell id='UIHandler_widgetId_833' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_834' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_835' label='101'/>
                    <treecell id='UIHandler_widgetId_836' label='101'/>
                    <treecell id='UIHandler_widgetId_838' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_839' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_840' label='101'/>
                    <treecell id='UIHandler_widgetId_841' label='101'/>
                    <treecell id='UIHandler_widgetId_843' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_844' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_845' label='101'/>
                    <treecell id='UIHandler_widgetId_846' label='101'/>
                    <treecell id='UIHandler_widgetId_848' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_849' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_850' label='101'/>
                    <treecell id='UIHandler_widgetId_851' label='101'/>
                    <treecell id='UIHandler_widgetId_853' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_854' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_292' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen1.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_293' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_294' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_295' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_296' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_297' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_299' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_300' label='101'/>
                    <treecell id='UIHandler_widgetId_301' label='101'/>
                    <treecell id='UIHandler_widgetId_302' label='101'/>
                    <treecell id='UIHandler_widgetId_303' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_304' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_305' label='101'/>
                    <treecell id='UIHandler_widgetId_306' label='101'/>
                    <treecell id='UIHandler_widgetId_307' label='101'/>
                    <treecell id='UIHandler_widgetId_308' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_309' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_310' label='101'/>
                    <treecell id='UIHandler_widgetId_311' label='101'/>
                    <treecell id='UIHandler_widgetId_312' label='101'/>
                    <treecell id='UIHandler_widgetId_313' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_314' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_315' label='101'/>
                    <treecell id='UIHandler_widgetId_316' label='101'/>
                    <treecell id='UIHandler_widgetId_317' label='101'/>
                    <treecell id='UIHandler_widgetId_318' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_319' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_320' label='101'/>
                    <treecell id='UIHandler_widgetId_321' label='101'/>
                    <treecell id='UIHandler_widgetId_322' label='101'/>
                    <treecell id='UIHandler_widgetId_323' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_324' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_325' label='101'/>
                    <treecell id='UIHandler_widgetId_326' label='101'/>
                    <treecell id='UIHandler_widgetId_327' label='101'/>
                    <treecell id='UIHandler_widgetId_328' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
          <tabpage id='HostAdmin.LGen2' label='LGen2' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_329' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_330' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_331' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_332' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_333' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_334' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_335' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_336' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_855' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_856' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_857' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_858' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_859' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_860' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_861' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_862' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_863' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_864' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_865' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_866' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_344' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_345' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_346' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen2' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_347' label=''/>
                  <menuitem id='UIHandler_widgetId_349' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_350' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_351' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_352' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_353' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_354' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_355' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_356' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_357' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_358' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_867' label='101'/>
                    <treecell id='UIHandler_widgetId_868' label='101'/>
                    <treecell id='UIHandler_widgetId_870' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_871' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_872' label='101'/>
                    <treecell id='UIHandler_widgetId_873' label='101'/>
                    <treecell id='UIHandler_widgetId_875' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_876' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_877' label='101'/>
                    <treecell id='UIHandler_widgetId_878' label='101'/>
                    <treecell id='UIHandler_widgetId_880' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_881' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_882' label='101'/>
                    <treecell id='UIHandler_widgetId_883' label='101'/>
                    <treecell id='UIHandler_widgetId_885' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_886' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_887' label='101'/>
                    <treecell id='UIHandler_widgetId_888' label='101'/>
                    <treecell id='UIHandler_widgetId_890' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_891' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_892' label='101'/>
                    <treecell id='UIHandler_widgetId_893' label='101'/>
                    <treecell id='UIHandler_widgetId_895' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_896' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_375' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen2.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_376' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_377' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_378' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_379' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_380' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_382' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_383' label='101'/>
                    <treecell id='UIHandler_widgetId_384' label='101'/>
                    <treecell id='UIHandler_widgetId_385' label='101'/>
                    <treecell id='UIHandler_widgetId_386' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_387' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_388' label='101'/>
                    <treecell id='UIHandler_widgetId_389' label='101'/>
                    <treecell id='UIHandler_widgetId_390' label='101'/>
                    <treecell id='UIHandler_widgetId_391' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_392' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_393' label='101'/>
                    <treecell id='UIHandler_widgetId_394' label='101'/>
                    <treecell id='UIHandler_widgetId_395' label='101'/>
                    <treecell id='UIHandler_widgetId_396' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_397' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_398' label='101'/>
                    <treecell id='UIHandler_widgetId_399' label='101'/>
                    <treecell id='UIHandler_widgetId_400' label='101'/>
                    <treecell id='UIHandler_widgetId_401' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_402' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_403' label='101'/>
                    <treecell id='UIHandler_widgetId_404' label='101'/>
                    <treecell id='UIHandler_widgetId_405' label='101'/>
                    <treecell id='UIHandler_widgetId_406' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_407' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_408' label='101'/>
                    <treecell id='UIHandler_widgetId_409' label='101'/>
                    <treecell id='UIHandler_widgetId_410' label='101'/>
                    <treecell id='UIHandler_widgetId_411' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
          <tabpage id='HostAdmin.LGen3' label='LGen3' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_412' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_413' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_414' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_415' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_416' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_417' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_418' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_419' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_897' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_898' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_899' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_900' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_901' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_902' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_903' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_904' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_905' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_906' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_907' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_908' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_427' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_428' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_429' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen3' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_430' label=''/>
                  <menuitem id='UIHandler_widgetId_432' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_433' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_434' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_435' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_436' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_437' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.processStats' rows='7.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_438' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_439' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_440' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_441' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_909' label=''/>
                    <treecell id='UIHandler_widgetId_910' label=''/>
                    <treecell id='UIHandler_widgetId_912' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_913' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_914' label=''/>
                    <treecell id='UIHandler_widgetId_915' label=''/>
                    <treecell id='UIHandler_widgetId_917' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_918' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_919' label=''/>
                    <treecell id='UIHandler_widgetId_920' label=''/>
                    <treecell id='UIHandler_widgetId_922' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_923' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_924' label=''/>
                    <treecell id='UIHandler_widgetId_925' label=''/>
                    <treecell id='UIHandler_widgetId_927' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_928' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_929' label=''/>
                    <treecell id='UIHandler_widgetId_930' label=''/>
                    <treecell id='UIHandler_widgetId_932' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_933' label=''/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_934' label=''/>
                    <treecell id='UIHandler_widgetId_935' label=''/>
                    <treecell id='UIHandler_widgetId_937' label='' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_938' label=''/>
                  </treerow>
                  <treerow>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                    <treecell label=''/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_458' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen3.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_459' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_460' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_461' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_462' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_463' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_465' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_466' label='101'/>
                    <treecell id='UIHandler_widgetId_467' label='101'/>
                    <treecell id='UIHandler_widgetId_468' label='101'/>
                    <treecell id='UIHandler_widgetId_469' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_470' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_471' label='101'/>
                    <treecell id='UIHandler_widgetId_472' label='101'/>
                    <treecell id='UIHandler_widgetId_473' label='101'/>
                    <treecell id='UIHandler_widgetId_474' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_475' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_476' label='101'/>
                    <treecell id='UIHandler_widgetId_477' label='101'/>
                    <treecell id='UIHandler_widgetId_478' label='101'/>
                    <treecell id='UIHandler_widgetId_479' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_480' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_481' label='101'/>
                    <treecell id='UIHandler_widgetId_482' label='101'/>
                    <treecell id='UIHandler_widgetId_483' label='101'/>
                    <treecell id='UIHandler_widgetId_484' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_485' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_486' label='101'/>
                    <treecell id='UIHandler_widgetId_487' label='101'/>
                    <treecell id='UIHandler_widgetId_488' label='101'/>
                    <treecell id='UIHandler_widgetId_489' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_490' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_491' label='101'/>
                    <treecell id='UIHandler_widgetId_492' label='101'/>
                    <treecell id='UIHandler_widgetId_493' label='101'/>
                    <treecell id='UIHandler_widgetId_494' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
          <tabpage id='HostAdmin.LGen4' label='LGen4' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_495' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_496' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_497' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_498' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_499' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_500' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_501' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_502' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_504' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_505' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_506' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_507' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_508' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_509' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_510' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_511' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_512' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_513' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_514' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_515' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_516' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_517' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_518' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen4' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_519' label=''/>
                  <menuitem id='UIHandler_widgetId_521' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_522' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_523' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_524' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_525' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_526' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_527' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_528' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_529' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_530' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_532' label='101'/>
                    <treecell id='UIHandler_widgetId_533' label='101'/>
                    <treecell id='UIHandler_widgetId_535' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_536' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_537' label='101'/>
                    <treecell id='UIHandler_widgetId_538' label='101'/>
                    <treecell id='UIHandler_widgetId_540' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_541' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_542' label='101'/>
                    <treecell id='UIHandler_widgetId_543' label='101'/>
                    <treecell id='UIHandler_widgetId_545' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_546' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_547' label='101'/>
                    <treecell id='UIHandler_widgetId_548' label='101'/>
                    <treecell id='UIHandler_widgetId_550' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_551' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_552' label='101'/>
                    <treecell id='UIHandler_widgetId_553' label='101'/>
                    <treecell id='UIHandler_widgetId_555' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_556' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_557' label='101'/>
                    <treecell id='UIHandler_widgetId_558' label='101'/>
                    <treecell id='UIHandler_widgetId_560' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_561' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_562' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen4.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_563' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_564' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_565' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_566' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_567' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_569' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_570' label='101'/>
                    <treecell id='UIHandler_widgetId_571' label='101'/>
                    <treecell id='UIHandler_widgetId_572' label='101'/>
                    <treecell id='UIHandler_widgetId_573' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_574' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_575' label='101'/>
                    <treecell id='UIHandler_widgetId_576' label='101'/>
                    <treecell id='UIHandler_widgetId_577' label='101'/>
                    <treecell id='UIHandler_widgetId_578' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_579' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_580' label='101'/>
                    <treecell id='UIHandler_widgetId_581' label='101'/>
                    <treecell id='UIHandler_widgetId_582' label='101'/>
                    <treecell id='UIHandler_widgetId_583' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_584' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_585' label='101'/>
                    <treecell id='UIHandler_widgetId_586' label='101'/>
                    <treecell id='UIHandler_widgetId_587' label='101'/>
                    <treecell id='UIHandler_widgetId_588' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_589' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_590' label='101'/>
                    <treecell id='UIHandler_widgetId_591' label='101'/>
                    <treecell id='UIHandler_widgetId_592' label='101'/>
                    <treecell id='UIHandler_widgetId_593' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_594' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_595' label='101'/>
                    <treecell id='UIHandler_widgetId_596' label='101'/>
                    <treecell id='UIHandler_widgetId_597' label='101'/>
                    <treecell id='UIHandler_widgetId_598' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
          <tabpage id='HostAdmin.LGen5' label='LGen5' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_599' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_600' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_601' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_602' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_603' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_604' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_605' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_606' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_608' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_609' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_610' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_611' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_612' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_613' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_614' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_615' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_616' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_617' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_618' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_619' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_620' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_621' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_622' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen5' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_623' label=''/>
                  <menuitem id='UIHandler_widgetId_625' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_626' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_627' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_628' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_629' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_630' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_631' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_632' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_633' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_634' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_636' label='101'/>
                    <treecell id='UIHandler_widgetId_637' label='101'/>
                    <treecell id='UIHandler_widgetId_639' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_640' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_641' label='101'/>
                    <treecell id='UIHandler_widgetId_642' label='101'/>
                    <treecell id='UIHandler_widgetId_644' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_645' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_646' label='101'/>
                    <treecell id='UIHandler_widgetId_647' label='101'/>
                    <treecell id='UIHandler_widgetId_649' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_650' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_651' label='101'/>
                    <treecell id='UIHandler_widgetId_652' label='101'/>
                    <treecell id='UIHandler_widgetId_654' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_655' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_656' label='101'/>
                    <treecell id='UIHandler_widgetId_657' label='101'/>
                    <treecell id='UIHandler_widgetId_659' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_660' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_661' label='101'/>
                    <treecell id='UIHandler_widgetId_662' label='101'/>
                    <treecell id='UIHandler_widgetId_664' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_665' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_666' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen5.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_667' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_668' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_669' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_670' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_671' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_673' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_674' label='101'/>
                    <treecell id='UIHandler_widgetId_675' label='101'/>
                    <treecell id='UIHandler_widgetId_676' label='101'/>
                    <treecell id='UIHandler_widgetId_677' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_678' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_679' label='101'/>
                    <treecell id='UIHandler_widgetId_680' label='101'/>
                    <treecell id='UIHandler_widgetId_681' label='101'/>
                    <treecell id='UIHandler_widgetId_682' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_683' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_684' label='101'/>
                    <treecell id='UIHandler_widgetId_685' label='101'/>
                    <treecell id='UIHandler_widgetId_686' label='101'/>
                    <treecell id='UIHandler_widgetId_687' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_688' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_689' label='101'/>
                    <treecell id='UIHandler_widgetId_690' label='101'/>
                    <treecell id='UIHandler_widgetId_691' label='101'/>
                    <treecell id='UIHandler_widgetId_692' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_693' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_694' label='101'/>
                    <treecell id='UIHandler_widgetId_695' label='101'/>
                    <treecell id='UIHandler_widgetId_696' label='101'/>
                    <treecell id='UIHandler_widgetId_697' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_698' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_699' label='101'/>
                    <treecell id='UIHandler_widgetId_700' label='101'/>
                    <treecell id='UIHandler_widgetId_701' label='101'/>
                    <treecell id='UIHandler_widgetId_702' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
          <tabpage id='HostAdmin.LGen6' label='LGen6' orientation='vertical'>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.hostStats' rows='9.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_703' label='Host Statistics' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_704' label='Value' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_705' label='Physical Memory'/>
                    <treecell id='UIHandler_widgetId_706' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_707' label='Free Memory'/>
                    <treecell id='UIHandler_widgetId_708' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_709' label='CPU Load [%]'/>
                    <treecell id='UIHandler_widgetId_710' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_712' label='CPU LGen1 Load [%]'/>
                    <treecell id='UIHandler_widgetId_713' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_714' label='CPU LGen2 Load [%]'/>
                    <treecell id='UIHandler_widgetId_715' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_716' label='CPU LGen3 Load [%]'/>
                    <treecell id='UIHandler_widgetId_717' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_718' label='CPU LGen4 Load [%]'/>
                    <treecell id='UIHandler_widgetId_719' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_720' label='CPU LGen5 Load [%]'/>
                    <treecell id='UIHandler_widgetId_721' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_722' label='CPU LGen6 Load [%]'/>
                    <treecell id='UIHandler_widgetId_723' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_724' value='Processes on this host:'/>
            <hbox flex='0.000000' id='UIHandler_widgetId_725' orientation='horizontal'>
              <label flex='0.000000' id='UIHandler_widgetId_726' value='Sort processes by:'/>
              <menulist editable='true' flex='1.000000' id='dummyIdLGen6' label=''>
                <menupopup>
                  <menuitem id='UIHandler_widgetId_727' label=''/>
                  <menuitem id='UIHandler_widgetId_729' label='LGen1'/>
                  <menuitem id='UIHandler_widgetId_730' label='LGen2'/>
                  <menuitem id='UIHandler_widgetId_731' label='LGen3'/>
                  <menuitem id='UIHandler_widgetId_732' label='LGen4'/>
                  <menuitem id='UIHandler_widgetId_733' label='LGen5'/>
                  <menuitem id='UIHandler_widgetId_734' label='LGen6'/>
                </menupopup>
              </menulist>
            </hbox>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.processStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_735' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_736' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_737' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_738' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_740' label='101'/>
                    <treecell id='UIHandler_widgetId_741' label='101'/>
                    <treecell id='UIHandler_widgetId_743' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_744' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_745' label='101'/>
                    <treecell id='UIHandler_widgetId_746' label='101'/>
                    <treecell id='UIHandler_widgetId_748' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_749' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_750' label='101'/>
                    <treecell id='UIHandler_widgetId_751' label='101'/>
                    <treecell id='UIHandler_widgetId_753' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_754' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_755' label='101'/>
                    <treecell id='UIHandler_widgetId_756' label='101'/>
                    <treecell id='UIHandler_widgetId_758' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_759' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_760' label='101'/>
                    <treecell id='UIHandler_widgetId_761' label='101'/>
                    <treecell id='UIHandler_widgetId_763' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_764' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_765' label='101'/>
                    <treecell id='UIHandler_widgetId_766' label='101'/>
                    <treecell id='UIHandler_widgetId_768' label='101' tooltiptext='CPUload'/>
                    <treecell id='UIHandler_widgetId_769' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
            <label id='UIHandler_widgetId_770' value='All EPTF processes:'/>
            <tree flex='1.000000' hidecolumnpicker='true' id='HostAdmin.LGen6.allProcessStats' rows='6.000000'>
              <treecols>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_771' label='EPTF Process' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_772' label='Host' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_773' label='PID' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_774' label='CPU Load [%]' widgetType='string'/>
                <treecol editable='false' flex='1.000000' id='UIHandler_widgetId_775' label='Memory Usage' widgetType='string'/>
              </treecols>
              <treechildren>
                <treeitem>
                  <treerow>
                    <treecell id='UIHandler_widgetId_777' label='LGen1'/>
                    <treecell id='UIHandler_widgetId_778' label='101'/>
                    <treecell id='UIHandler_widgetId_779' label='101'/>
                    <treecell id='UIHandler_widgetId_780' label='101'/>
                    <treecell id='UIHandler_widgetId_781' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_782' label='LGen2'/>
                    <treecell id='UIHandler_widgetId_783' label='101'/>
                    <treecell id='UIHandler_widgetId_784' label='101'/>
                    <treecell id='UIHandler_widgetId_785' label='101'/>
                    <treecell id='UIHandler_widgetId_786' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_787' label='LGen3'/>
                    <treecell id='UIHandler_widgetId_788' label='101'/>
                    <treecell id='UIHandler_widgetId_789' label='101'/>
                    <treecell id='UIHandler_widgetId_790' label='101'/>
                    <treecell id='UIHandler_widgetId_791' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_792' label='LGen4'/>
                    <treecell id='UIHandler_widgetId_793' label='101'/>
                    <treecell id='UIHandler_widgetId_794' label='101'/>
                    <treecell id='UIHandler_widgetId_795' label='101'/>
                    <treecell id='UIHandler_widgetId_796' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_797' label='LGen5'/>
                    <treecell id='UIHandler_widgetId_798' label='101'/>
                    <treecell id='UIHandler_widgetId_799' label='101'/>
                    <treecell id='UIHandler_widgetId_800' label='101'/>
                    <treecell id='UIHandler_widgetId_801' label='101'/>
                  </treerow>
                  <treerow>
                    <treecell id='UIHandler_widgetId_802' label='LGen6'/>
                    <treecell id='UIHandler_widgetId_803' label='101'/>
                    <treecell id='UIHandler_widgetId_804' label='101'/>
                    <treecell id='UIHandler_widgetId_805' label='101'/>
                    <treecell id='UIHandler_widgetId_806' label='101'/>
                  </treerow>
                </treeitem>
              </treechildren>
            </tree>
          </tabpage>
        </tabpages>
      </tabpage>
    </tabpages>
  </hbox>
  <hbox flex='0.000000' id='hboxid_1' orientation='vertical'>
    <label id='XX1' value='XX1'/>
    <tree hidecolumnpicker='true' id='TreeID' rows='6.000000'>
      <treecols>
        <treecol flex='1.000000' id='Treecol_1' label='string' widgetType='string'/>
        <treecol flex='1.000000' id='Treecol_2' label='integerField' widgetType='integerField'/>
      </treecols>
      <treechildren>
        <treeitem>
          <treerow>
            <treecell id='Treecell_row0_1' label='LGen1'/>
            <treecell id='Treecell_row0_2' label='0'/>
          </treerow>
          <treerow>
            <treecell id='Treecell_row1_1' label='LGen2'/>
            <treecell id='Treecell_row1_2' label='1'/>
          </treerow>
          <treerow>
            <treecell id='Treecell_row2_1' label='LGen3'/>
            <treecell id='Treecell_row2_2' label='2'/>
          </treerow>
          <treerow>
            <treecell id='Treecell_row3_1' label='LGen4'/>
            <treecell id='Treecell_row3_2' label='3'/>
          </treerow>
          <treerow>
            <treecell id='Treecell_row4_1' label='LGen5'/>
            <treecell id='Treecell_row4_2' label='4'/>
          </treerow>
          <treerow>
            <treecell id='Treecell_row5_1' label='LGen6'/>
            <treecell id='Treecell_row5_2' label='5'/>
          </treerow>
        </treeitem>
      </treechildren>
    </tree>
    <label id='XX2' value='XX2'/>
    <hbox flex='0.000000' id='hboxid_2' orientation='vertical'>
      <tabpages flex='1.000000' id='UIHandler_widgetId_217'>
        <tabpage id='tabpage.LGen1' label='LGen1' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen1_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen1_LGen1' value='LGen1'/>
            <label id='XX1_LGen1_LGen2' value='LGen2'/>
            <label id='XX1_LGen1_LGen3' value='LGen3'/>
            <label id='XX1_LGen1_LGen4' value='LGen4'/>
            <label id='XX1_LGen1_LGen5' value='LGen5'/>
            <label id='XX1_LGen1_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
        <tabpage id='tabpage.LGen2' label='LGen2' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen2_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen2_LGen1' value='LGen1'/>
            <label id='XX1_LGen2_LGen2' value='LGen2'/>
            <label id='XX1_LGen2_LGen3' value='LGen3'/>
            <label id='XX1_LGen2_LGen4' value='LGen4'/>
            <label id='XX1_LGen2_LGen5' value='LGen5'/>
            <label id='XX1_LGen2_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
        <tabpage id='tabpage.LGen3' label='LGen3' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen3_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen3_LGen1' value='LGen1'/>
            <label id='XX1_LGen3_LGen2' value='LGen2'/>
            <label id='XX1_LGen3_LGen3' value='LGen3'/>
            <label id='XX1_LGen3_LGen4' value='LGen4'/>
            <label id='XX1_LGen3_LGen5' value='LGen5'/>
            <label id='XX1_LGen3_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
        <tabpage id='tabpage.LGen4' label='LGen4' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen4_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen4_LGen1' value='LGen1'/>
            <label id='XX1_LGen4_LGen2' value='LGen2'/>
            <label id='XX1_LGen4_LGen3' value='LGen3'/>
            <label id='XX1_LGen4_LGen4' value='LGen4'/>
            <label id='XX1_LGen4_LGen5' value='LGen5'/>
            <label id='XX1_LGen4_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
        <tabpage id='tabpage.LGen5' label='LGen5' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen5_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen5_LGen1' value='LGen1'/>
            <label id='XX1_LGen5_LGen2' value='LGen2'/>
            <label id='XX1_LGen5_LGen3' value='LGen3'/>
            <label id='XX1_LGen5_LGen4' value='LGen4'/>
            <label id='XX1_LGen5_LGen5' value='LGen5'/>
            <label id='XX1_LGen5_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
        <tabpage id='tabpage.LGen6' label='LGen6' orientation='vertical'>
          <hbox flex='0.000000' id='hboxid_LGen6_%LGen%_5' orientation='horizontal'>
            <label id='XX1_LGen6_LGen1' value='LGen1'/>
            <label id='XX1_LGen6_LGen2' value='LGen2'/>
            <label id='XX1_LGen6_LGen3' value='LGen3'/>
            <label id='XX1_LGen6_LGen4' value='LGen4'/>
            <label id='XX1_LGen6_LGen5' value='LGen5'/>
            <label id='XX1_LGen6_LGen6' value='LGen6'/>
          </hbox>
        </tabpage>
      </tabpages>
    </hbox>
  </hbox>
</window>
</Widgets>
";

  f_EPTF_UIHandler_Test_iteratorChange(c_gui, c_expectedGUI, { charstringlistVal := {"LGen1", "LGen2", "LGen3", "LGen4", "LGen5", "LGen6"}},
    pl_gui2ToLoad := c_gui2,
    pl_additionalVars:={{"selected","selected",{charstringVal := ""}}});
}

//=========================================================================
// Control
//=========================================================================
control{
  
  execute(tc_EPTF_UIHandler_Test_iteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_expandAndReduce()); 
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI6());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreCreateGUI7());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_condition());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_condition2());

  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_expandAndReduce()); 
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI6());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_moreCreateGUI7());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_tabpageiteratorChange_condition());

  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_condition());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator7());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_moreIterator8());
  execute(tc_EPTF_UIHandler_Test_treerowiteratorChange_emptyrow());
  
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_treecelliteratorChange_condition());

  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_treecoliteratorChange_condition());
  
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_treeitemiteratorChange_condition());
  
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_traceiteratorChange_condition());

  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_listitemiteratorChange_condition());
  
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreIterator6());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_externalvalue2());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_menuitemiteratorChange_condition());
  
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand2());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_expand3());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce2());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_reduce3());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_expandAndReduce());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator2());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator3());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator4());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator5());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreIterator6());
  //TODO SJZ 20130411 - nem lehet ilyet leirni, nem lehet externalvalue a valuelistiteratorban!!!
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_externalvalue2());
  //TODO SJZ 20130411 - nem lehet ilyet leirni, nem lehet externalvalue a valuelistiteratorban!!!
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI2());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI3());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI4());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_moreCreateGUI5());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_warning1());
  execute(tc_EPTF_UIHandler_Test_valuelistiteratorChange_condition());
  
  execute(tc_EPTF_UIHandler_Test_iteratorChange_externaldata());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_moreTypeOfIterator());

  execute(tc_EPTF_UIHandler_Test_iteratorChange_addedIT());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_removedIT());

  execute(tc_EPTF_UIHandler_Test_iteratorChange_complex());
  execute(tc_EPTF_UIHandler_Test_iteratorChange_complex_moreXMLs());

}


}  // end of module
