=u2 ÞԙĪ 849ýΗּ""חۼ.|lZýΗּ""Ӎמ؝mAQMԳŭ0CLCרݪ" ; հΗּ""ӍŎּ""ýΗּ""ӍŎּ""ýΗּ""ӍŎּ""ýΗּ"kFwוĜ8594㝡clipdemoclipdemoenglish clipdemoclipdemo menudemomenudemoenglish menudemomenudemo netdemo netdemo english netdemo netdemo tabdemo tabdemo english tabdemo tabdemo tooldemotooldemoenglish tooldemotooldemo dddclipdemo AAclipdemo 0clipdemo *ALL english 22 3 03/03/2417:01:08 APPLICATION AAclipdemo03/03/1710:47:11Untitled Untitled xcAAAction YAclipdemo03/01/2909:53:42Action Standard XML Container component. zzzxcAAAction YAclipdemo 120 Action xcAction YAclipdemo03/01/2909:53:40Action Standard XML Container component. zzzxcAction YAclipdemo 120 Action xcAlign YAclipdemo03/01/2909:53:42Align Standard XML Container component. zzzxcAlign YAclipdemo 120 Align xcAutoload YAclipdemo03/01/2909:53:42Autoload Standard XML Container component. zzzxcAutoload YAclipdemo 120 Autoload xcBitmap YAclipdemo03/01/2909:53:42Mnemonic Standard XML Container component. zzzxcBitmap YAclipdemo 120 Mnemonic xcColumnId YAclipdemo03/01/2909:53:42Column Id Standard XML Container component. zzzxcColumnId YAclipdemo 120 ColumnId xcCount YAclipdemo03/01/2909:53:42Count Standard XML Container component. zzzxcCount YAclipdemo 1 0 Count xcDirection YAclipdemo03/01/2909:53:42Direction Standard XML Container component. zzzxcDirection YAclipdemo 120 Direction xcElement YAclipdemo03/01/2909:53:42Element Standard XML Container component. zzzxcElement YAclipdemo 120 Element xcEventSubset YAclipdemo03/01/2909:53:42Event Subset Name Standard XML Container component. zzzxcEventSubset YAclipdemo 120 EventSubset xcFilename YAclipdemo03/01/2909:53:42Filename Standard XML Container component. zzzxcFilename YAclipdemo 10 Filename xcForceChild YAclipdemo03/01/2909:53:42ForceChild Standard XML Container component. zzzxcForceChild YAclipdemo 120 ForceChild xcFrame YAclipdemo03/01/2909:53:42Frame Standard XML Container component. zzzxcFrame YAclipdemo 120 Frame xcHits YAclipdemo03/01/2909:53:42Hits Standard XML Container component. zzzxcHits YAclipdemo 1 0 Hits xcId YAclipdemo03/01/2909:53:42Identifier Standard XML Container component. zzzxcId YAclipdemo 120 Id xcLabel YAclipdemo03/01/2909:53:42Label Standard XML Container component. zzzxcLabel YAclipdemo 120 Label xcMnemonic YAclipdemo03/01/2909:53:42Mnemonic Standard XML Container component. zzzxcMnemonic YAclipdemo 120 Mnemonic xcSelect YAclipdemo03/01/2909:53:42Select Standard XML Container component. zzzxcSelect YAclipdemo 120 Select xcSort YAclipdemo03/01/2909:53:42Sort Standard XML Container component. zzzxcSort YAclipdemo 120 Sort xcStyle YAclipdemo03/01/2909:53:42Style Standard XML Container component. zzzxcStyle YAclipdemo 120 Style xcSubset YAclipdemo03/01/2909:53:42Subset Name Standard XML Container component. zzzxcSubset YAclipdemo 120 Subset xcTooltip YAclipdemo03/01/2909:53:42Mnemonic Standard XML Container component. zzzxcTooltip YAclipdemo 120 Mnemonic xcUp YAclipdemo03/01/2909:53:42Up Standard XML Container component. zzzxcUp YAclipdemo 120 Up xcValue YAclipdemo03/01/2909:53:42Value Standard XML Container component. zzzxcValue YAclipdemo 10 Value xcWidth YAclipdemo03/01/2909:53:42Width Standard XML Container component. zzzxcWidth YAclipdemo 120 Width xmlCount1 YAclipdemo03/01/2909:53:34Count Standard component for XML processing. zzzxmlCount1 YAclipdemo 1 0 Count xmlCount2 YAclipdemo03/01/2909:53:34Count Standard component for XML processing. zzzxmlCount2 YAclipdemo 1 0 Count xmlDefault YAclipdemo03/01/2909:53:34Default value. Default value used in XML access. zzzxmlDefault YAclipdemo 10 Default xmlElement YAclipdemo03/01/2909:53:34Element Name Standard component for XML processing. zzzxmlElement YAclipdemo 10 Element xmlElement1 YAclipdemo03/01/2909:53:34Element Name Standard component for XML processing. zzzxmlElement1 YAclipdemo 10 Element xmlElement2 YAclipdemo03/01/2909:53:35Element Name Standard component for XML processing. zzzxmlElement2 YAclipdemo 10 Element xmlError YAclipdemo03/01/2909:53:35Error Standard component for XML processing. zzzxmlError YAclipdemo 120 Error xmlFile YAclipdemo03/01/2909:53:35File Name Standard component for XML processing. zzzxmlFile YAclipdemo 10 File xmlFunction YAclipdemo03/01/2909:53:35Function Standard component for XML processing. zzzxmlFunction YAclipdemo 120 Function xmlHits YAclipdemo03/01/2909:53:35Hits Standard component for XML processing. zzzxmlHits YAclipdemo 1 0 Hits xmlHtml YAclipdemo03/01/2909:53:35HTML File Standard component for XML processing. zzzxmlHtml YAclipdemo 10 HTML xmlKey YAclipdemo03/01/2909:53:35XML Key Standard component for XML processing. zzzxmlKey YAclipdemo 10 Key xmlOption YAclipdemo03/01/2909:53:35XSLT Options XSLT Options for passing parameters. Standard component for XML processing. zzzxmlOption YAclipdemo 10 Option xmlOuterkey YAclipdemo03/01/2909:53:35Outer Key Standard component for XML processing. zzzxmlOuterkey YAclipdemo 10 OuterKey xmlSchema YAclipdemo03/01/2909:53:35XML Schema Standard component for XML processing. zzzxmlSchema YAclipdemo 10 XML Schema xmlSchemaPath YAclipdemo03/01/2909:53:35XML XSD Path Standard component for XML processing. zzzxmlSchemaPath YAclipdemo 10 Schema Path xmlStylesheet YAclipdemo03/01/2909:53:35Stylesheet Standard component for XML processing. zzzxmlStylesheet YAclipdemo 10 Stylesheet xmlSubset YAclipdemo03/01/2909:53:35Subset Standard component for XML processing. zzzxmlSubset YAclipdemo 120 Subset xmlSubset2 YAclipdemo03/01/2909:53:35Subset Name Standard component for XML processing. zzzxmlSubset2 YAclipdemo 120 Subset xmlValue YAclipdemo03/01/2909:53:35Untitled Untitled zzzxmlValue YAclipdemo 10 Untitled Display EAclipdemo >AD^rz++ "++ Display++[Empty] Display+)++ Display Display4Display EAclipdemo03/01/2910:07:28Untitled Display value in field. Display EAclipdemo00 9:]q!NOTE --- Display values in field:IF *P02 <> "" THEN S-Display = *P02ELSE S-Display = "[Empty]"ENDIFSHOW *REFRESH S-DisplayFromCB EAclipdemo69FIU+ 6 ++ +<"The string from the clipboard has * characters.4   xmlCount1 FromCB EAclipdemo03/03/0215:25:28Untitled Copy string from Windows clipboard to local variable. FromCB EAclipdemo00 52Yq%NOTE --- Copy from clipboard to *P02:SYSTEM *UI *PASTE *P02LENGTH *P02 L-xmlCount1SMESSAGE 0000 "The string from the clipboard has " *TRIM(L-xmlCount1) " characters."DDDNotepad EAclipdemo.6 notepad.exe4Notepad EAclipdemo03/02/0416:36:51Untitled Start Notepad on Windows Client. DDDNotepad EAclipdemo00 1*SYSTEM *UI "notepad.exe"yyyToCB EAclipdemo4fil/+The current time on *I is .+++ 64ToCB EAclipdemo03/03/0215:25:03Untitled Copy string from local variable to Windows clipboard. ToCB EAclipdemo00 40q?*P01 = "The current time on " *TRIM(*SERVERID) " is " *TIME "."NOTE --- Copy to clipboard:SYSTEM *UI *COPY *P01xcListView EAclipdemo\_be.6W]`cy+++Jbpxml+J/uim+JListView+J@Action+ J @EventSubset++ "+ +J@Style++J@StyleMCLB+)+++ "++J @SortColumn+)+ "++"J@SortDirection+)++JColumns4,2 22 d2 2 2 2 xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection xcListView EAclipdemo03/01/2909:53:42Create ListView Create basic subset for ListView. Standard XML Container component. xcListView EAclipdemo0024XR!V] OVFEXPECTS xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetIF L-xcStyle <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Style" L-xcStyleELSE3 XML *INSERT L-xcSubset *ELEMENT= "@Style" "MCLB"ENDIF,NOTE --- Optional initial column to sort by:IF L-xcColumnId <> "" THEN> XML *INSERT L-xcSubset *ELEMENT= "@SortColumn" L-xcColumnIdENDIFIF L-xcDirection <> "" THENB XML *INSERT L-xcSubset *ELEMENT= "@SortDirection" L-xcDirectionENDIF*XML *INSERT L-xcSubset *ELEMENT= "Columns"000xcListViewCol EAclipdemo?TLORU"+++'J /uim/ListView/Columns+++JColumn+J @ColumnId+J@Title+++J@Sort++J@Align++J@Width4,2 22 d2 2 2 2 xcSubset xcColumnId xcLabel xcSort xcAlign xcWidth xcListViewCol EAclipdemo03/01/2909:53:42Add a Column Add column details to ListView subset. Standard XML Container component. xcListViewCol EAclipdemo0016H+c Bu:EXPECTS xcSubset xcColumnId xcLabel xcSort xcAlign xcWidthNOTE --- Position at Columns:+XML *KEY L-xcSubset "/uim/ListView/Columns"(NOTE --- Add column details to ListView:/XML *INSERT L-xcSubset *ELEMENT= "Column" *DOWN6XML *INSERT L-xcSubset *ELEMENT= "@ColumnId" L-xcLabel3XML *INSERT L-xcSubset *ELEMENT= "@Title" L-xcLabelNOTE --- Sort: Text, Number1XML *INSERT L-xcSubset *ELEMENT= "@Sort" L-xcSort#NOTE --- Align: Left, Right, Center3XML *INSERT L-xcSubset *ELEMENT= "@Align" L-xcAlign1NOTE --- Width in percent of total display width:7XML *INSERT L-xcSubset *ELEMENT= "@Width" L-xcWidth *UP000xcListViewItm EAclipdemoexX[^a4V\_b+++J  /uim/ListView+++JItem+J@Id+++ "+ +J@Select+)+++JValue+ "++J Value/@Sort+)+++42 22 d ^2 2 xcSubset xcId xcValue xcSort xcSelect xcListViewItm EAclipdemo03/01/2909:53:42Add a List Item Add item details to ListView subset. Standard XML Container component. xcListViewItm EAclipdemo0022TKw(@|-EXPECTS xcSubset xcId xcValue xcSort xcSelectNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId*NOTE --- Optionally, select the list item:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIF NOTE --- Add first column value:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.7NOTE --- Use xcListViewVal to add futher column values.xcListViewMod EAclipdemo @CFIknq+++J  /uim/ListView+++JItem+J@Id+JValue+#JValue/@ColumnId42 22 d2  xcSubset xcId xcColumnId xcValue xcListViewMod EAclipdemo03/01/2909:53:42Modifiy List Item Modify single column on sinlge item in ListView. Standard XML Container component. xcListViewMod EAclipdemo0010<f.b(EXPECTS xcSubset xcId xcColumnId xcValueNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValue?XML *INSERT L-xcSubset *ELEMENT= "Value/@ColumnId" L-xcColumnIdxcListViewSel EAclipdemo( DGJMg+++Jbpxml+J/uim+JListView+!J@ActionSelect+ J @EventSubset+JItem+J@Id++42 22 d2 xcSubset xcEventSubset xcId xcListViewSel EAclipdemo03/01/2909:53:42Select List Item Create subset to select an item in a ListView. Standard XML Container component. ,,,xcListViewSel EAclipdemo0012@eL#EXPECTS xcSubset xcEventSubset xcId'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Select"?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId?NOTE --- Add more Item elements to perform multiple selections.,,,xcListViewVal EAclipdemo BEHKNQm+++++JValue+ "+ +J Value/@Sort+)++4^2 2 ,2 xcSubset xcValue xcSort xcListViewVal EAclipdemo03/01/2909:53:42Add List Item Value Add another column value to a ListView. Standard XML Container component. ~~~xcListViewVal EAclipdemo0011>_8?EXPECTS xcSubset xcValue xcSort.NOTE --- XML Key should already be positioned.NOTE --- Add value to ListView:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.xcNetView EAclipdemodgjmp#&)DGdgj++++Jbpxml+J/uim+JNetView+!J@ActionCreate+ J @EventSubset+JNavigate+++J@URL++J@Frame+++J@Header+J @PostData+++!J@HistoryFalse+++"J@AllowAutoLoad+++42 22 d ^2 2 xcSubset xcEventSubset xcFilename xcFrame xcAutoload xcNetView EAclipdemo03/01/2909:53:42Populate NetView Create default subset for NetView. Standard XML Container component. `xcNetView EAclipdemo0028`'YRo3p"XML *INSERT L-xcSubset *ELEMENT= "@AllowAutoLoad" L-xcAutoload "" THEN0 XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel0 NOTE --- Optionally, select a tab as default: IF L-xcSelect <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelect ENDIF IF L-xcMnemonic <> "" THENC XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonic *UP ENDIFENDIF,,,xcTabViewSel EAclipdemoltNQTWZ]Hcfi+++++%J /uim/TabView/Item+C 1 + C  +*(/uim/TabView/Item[ ]/@Select+J False+ +++1//uim/TabView/Item[@Id='* ']/@Select+J True+++42 22 d  m  v2 xcSubset xcId xcHits xcCount xcElement xcTabViewSel EAclipdemo03/01/2909:53:42Select Tab. Make a specific tab current. Standard XML Container component. xcTabViewSel EAclipdemo0017Ja#`4xEXPECTS xcSubset xcId/NOTE --- Set a default tab in a TabView subset.NOTE --- Unselect all tabs: "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmap ENDIF IF L-xcLabel <> "" THEN9 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel ENDIF IF L-xcValue <> "" THEN= XML *INSERT L-xcSubset *ELEMENT= "@Tooltip" L-xcTooltip ENDIFENDIFIF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIF9NOTE --- Leave key so that caller can add further values.<< "" THEN3 NOTE --- Item with no Id becomes Menu parent.3 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId ENDIF6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UP ENDIFENDIF9NOTE --- Leave key so that caller can add further values.xcToolbarMenu EAclipdemo`d8;>AZ]+++JMenu++422 xcSubset xcToolbarMenu EAclipdemo03/01/2909:53:43Add Toolbar Menu Add menu details to Toolbar. Standard XML Container component. xcToolbarMenu EAclipdemo00 64FeEXPECTS xcSubsetNOTE --- Add Menu to Toolbar:-XML *INSERT L-xcSubset *ELEMENT= "Menu" *DOWN9NOTE --- Leave key so that caller can add further values.PPPxcTreeView EAclipdemo<?BE_x+++Jbpxml+J/uim+JTreeView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTreeView EAclipdemo03/01/2909:53:43Create TreeView Create basic subset structure for TreeView. Standard XML Container component. xcTreeView EAclipdemo00 88aJ'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for TreeView:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetLLLxcTreeViewItm EAclipdemoZpTWZ]`y!$'AT++++JItem+J@Id+J@Label+++J @ForceChild+++"True++ J@EventExpand+)+++"True++J +)4,2 22 d2 2 2 2 xcSubset xcId xcLabel xcSelect xcForceChild xcUp xcTreeViewItm EAclipdemo03/01/2909:53:43Add TreeView Item Insert tree node based on supplied arguments. Standard XML Container component. xcTreeViewItm EAclipdemo0020PFe!(Un8EXPECTS xcSubset xcId xcLabel xcSelect xcForceChild xcUp'NOTE --- XML key should be in position.-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelNOTE --- Add expand sign (+)?=XML *INSERT L-xcSubset *ELEMENT= "@ForceChild" L-xcForceChild'NOTE --- Optionally, expand on display:IF L-xcSelect = "True" THEN5 XML *INSERT L-xcSubset *ELEMENT= "@Event" "Expand"ENDIF+NOTE --- Optionally, position XML key back:IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIFLLLxmlTransformSBS EAclipdemoTWZ]`v'Kqwz++++ " ++J++ +J++)++ "R 0++(&2Error in XSLT (*) in *+/++ Jdebug_xslt.xml+!K debug_xslt.xsl+#Kdebug_xslt.xsl+)++R4 `2 2 ,2 ^  .2 xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction xmlTransformSBS EAclipdemo03/01/2909:53:35XSL Transformation Wrapper for XSL transformation. Standard component for XML processing. xmlTransformSBS EAclipdemo0020PEK(9k@EXPECTS xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction?NOTE --- Expects SBS: Subset name, buffer name and subset name.IF L-xmlOption *BLANK THENT XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2ELSEi XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2 *OPTION= L-xmlOptionENDIFIF *XMLSTAT <> 0 THENR *ERROR = "2Error in XSLT (" *TRIM(L-xmlStylesheet) ") in " *TRIM(L-xmlFunction) ERROR *ERROR0 NOTE --- Store source and xslt for diagnosis:* XML *WRITE L-xmlSubset "debug_xslt.xml" TEXT *REMOVE "debug_xslt.xsl"6 TEXT *WRITE *FILE= "debug_xslt.xsl" L-xmlStylesheetENDIF EXIT *XMLSTATxmlValidate EAclipdemo18VY\wz} #+.++Jtmpval+++ "R 0++;+++Jtmpval+ "R 0+ +++;+)+Jtmpval+)++++4&  2 xmlFile xmlSchema xmlError xmlValidate EAclipdemo03/01/2909:53:35Validate XML Validate XML file against XSD schema. Standard component forXML access. ///xmlValidate EAclipdemo0021Rm>nEXPECTS xmlFile xmlSchemaXML *OPEN "tmpval" L-xmlFile0NOTE --- First check if the file is well-formed:IF *XMLSTAT <> 0 THEN L-xmlError = *ERRTEXTELSEH NOTE --- Now check if the data validates against the supplied schema:. XML *VALIDATE "tmpval" *SCHEMA= L-xmlSchema IF *XMLSTAT = 0 THEN L-xmlError = "" ELSE L-xmlError = *ERRTEXT ENDIF XML *CLOSE "tmpval"ENDIFEXIT L-xmlError/NOTE --- Blank return signifies valid document.clipdemo SAclipdemo03/01/2910:10:17Untitled Untitled  clipdemo SAclipdemo[SysScreen];15C:29;157:167;159:1895;15E:9267;15D:6;1D:N;29:3;174:Y;196:N;1B6:N;1BB:1;1BC:1;[SysScreenCont];14E:_Root;150:0;14C:0;14D:1895;151:9267;152:0;F2:3;1A0:Y;21:1;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Clipboard Demo;1B3:N;[SysScreenField];14E:Pb1;14F:_Root;150:62;14C:283;14D:131;151:2483;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb2;14F:_Root;150:205;14C:283;14D:131;151:2483;152:4;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb3;14F:_Root;150:348;14C:283;14D:131;151:2483;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb4;14F:_Root;150:490;14C:283;14D:131;151:2483;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Display;14F:_Root;150:657;14C:283;14D:877;151:3900;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;clipdemo IAclipdemo- - - d- @- Pb1Pb2Pb3Pb4DisplayCopy data to clipboardF-ToCB Start Notepad F-NotepadCopy from Clipboard F-FromCBDisplay in Field F-Displayclipdemo IAclipdemo          clipdemo OAclipdemoDf"Copy data to clipboard"F-ToCB"Start Notepad" F-Notepad"Copy from Clipboard" F-FromCB"Display in Field" F-Displaydddmenudemo AAmenudemo 0menudemo *ALL english 22 3 03/03/2416:59:59 APPLICATION AAmenudemo03/03/1710:47:11Untitled Untitled xcAction YAmenudemo03/03/0215:12:46Action Standard XML Container component. zzzxcAction YAmenudemo 120 Action xcAlign YAmenudemo03/03/0215:12:46Align Standard XML Container component. zzzxcAlign YAmenudemo 120 Align xcAutoLoad YAmenudemo03/03/0215:12:46AutoLoad Standard XML Container component. zzzxcAutoLoad YAmenudemo 120 AutoLoad xcAutoload YAmenudemo03/02/1715:49:09Autoload Standard XML Container component. zzzxcAutoload YAmenudemo 120 Autoload xcBitmap YAmenudemo03/03/0215:12:46Mnemonic Standard XML Container component. zzzxcBitmap YAmenudemo 120 Mnemonic xcBold YAmenudemo03/03/0215:12:46Bold Standard XML Container component. zzzxcBold YAmenudemo 120 Bold xcChecked YAmenudemo03/03/0215:12:46Checked Standard XML Container component. zzzxcChecked YAmenudemo 120 Checked xcColumnId YAmenudemo03/03/0215:12:46Column Id Standard XML Container component. zzzxcColumnId YAmenudemo 120 ColumnId xcCount YAmenudemo03/03/0215:12:46Count Standard XML Container component. zzzxcCount YAmenudemo 1 0 Count xcDirection YAmenudemo03/03/0215:12:46Direction Standard XML Container component. zzzxcDirection YAmenudemo 120 Direction xcElement YAmenudemo03/03/0215:12:46Element Standard XML Container component. zzzxcElement YAmenudemo 120 Element xcEnabled YAmenudemo03/03/0215:12:46Enabled Standard XML Container component. zzzxcEnabled YAmenudemo 120 Enabled xcEvent YAmenudemo03/03/0215:12:46Event Standard XML Container component. zzzxcEvent YAmenudemo 120 Event xcEventSubset YAmenudemo03/03/0215:12:46Event Subset Name Standard XML Container component. zzzxcEventSubset YAmenudemo 120 EventSubset xcFilename YAmenudemo03/03/0215:12:46Filename Standard XML Container component. zzzxcFilename YAmenudemo 10 Filename xcForceChild YAmenudemo03/03/0215:12:46ForceChild Standard XML Container component. zzzxcForceChild YAmenudemo 120 ForceChild xcFrame YAmenudemo03/03/0215:12:46Frame Standard XML Container component. zzzxcFrame YAmenudemo 120 Frame xcHasChild YAmenudemo03/03/0215:12:46HasChild Standard XML Container component. zzzxcHasChild YAmenudemo 120 HasChild xcHits YAmenudemo03/03/0215:12:46Hits Standard XML Container component. zzzxcHits YAmenudemo 1 0 Hits xcId YAmenudemo03/03/0215:12:46Identifier Standard XML Container component. zzzxcId YAmenudemo 120 Id xcIsParent YAmenudemo03/03/0215:12:46Is a Parent Standard XML Container component. zzzxcIsParent YAmenudemo 120 IsParent xcLabel YAmenudemo03/03/0215:12:46Label Standard XML Container component. zzzxcLabel YAmenudemo 120 Label xcLevel YAmenudemo03/03/0215:12:46Level Standard XML Container component. zzzxcLevel YAmenudemo 120 Level xcMnemonic YAmenudemo03/03/0215:12:46Mnemonic Standard XML Container component. zzzxcMnemonic YAmenudemo 120 Mnemonic xcSelect YAmenudemo03/03/0215:12:46Select Standard XML Container component. zzzxcSelect YAmenudemo 120 Select xcSort YAmenudemo03/03/0215:12:46Sort Standard XML Container component. zzzxcSort YAmenudemo 120 Sort xcStyle YAmenudemo03/03/0215:12:46Style Standard XML Container component. zzzxcStyle YAmenudemo 120 Style xcSubset YAmenudemo03/03/0215:12:46Subset Name Standard XML Container component. zzzxcSubset YAmenudemo 120 Subset xcSubset2 YAmenudemo03/03/0215:12:46Subset Name2 Standard XML Container component. zzzxcSubset2 YAmenudemo 120 Subset2 xcTooltip YAmenudemo03/03/0215:12:46Mnemonic Standard XML Container component. zzzxcTooltip YAmenudemo 120 Mnemonic xcUp YAmenudemo03/03/0215:12:46Up Standard XML Container component. zzzxcUp YAmenudemo 120 Up xcUpdate YAmenudemo03/03/0215:12:46Update Standard XML Container component. zzzxcUpdate YAmenudemo 120 Update xcUrl YAmenudemo03/03/0215:12:46Url Standard XML Container component. zzzxcUrl YAmenudemo 10 Url xcValue YAmenudemo03/03/0215:12:46Value Standard XML Container component. zzzxcValue YAmenudemo 10 Value xcWidth YAmenudemo03/03/0215:12:46Width Standard XML Container component. zzzxcWidth YAmenudemo 120 Width xmlCount1 YAmenudemo03/03/1712:17:29Count Standard component for XML processing. zzzxmlCount1 YAmenudemo 1 0 Count xmlCount2 YAmenudemo03/03/1712:17:29Count Standard component for XML processing. zzzxmlCount2 YAmenudemo 1 0 Count xmlDefault YAmenudemo03/03/1712:17:29Default value. Default value used in XML access. zzzxmlDefault YAmenudemo 10 Default xmlElement YAmenudemo03/03/1712:17:29Element Name Standard component for XML processing. zzzxmlElement YAmenudemo 10 Element xmlElement1 YAmenudemo03/03/1712:17:29Element Name Standard component for XML processing. zzzxmlElement1 YAmenudemo 10 Element xmlElement2 YAmenudemo03/03/1712:17:29Element Name Standard component for XML processing. zzzxmlElement2 YAmenudemo 10 Element xmlError YAmenudemo03/03/1712:17:29Error Standard component for XML processing. zzzxmlError YAmenudemo 120 Error xmlFile YAmenudemo03/03/1712:17:29File Name Standard component for XML processing. zzzxmlFile YAmenudemo 10 File xmlFunction YAmenudemo03/03/1712:17:29Function Standard component for XML processing. zzzxmlFunction YAmenudemo 120 Function xmlHits YAmenudemo03/03/1712:17:29Hits Standard component for XML processing. zzzxmlHits YAmenudemo 1 0 Hits xmlHtml YAmenudemo03/03/1712:17:29HTML File Standard component for XML processing. zzzxmlHtml YAmenudemo 10 HTML xmlKey YAmenudemo03/03/1712:17:29XML Key Standard component for XML processing. zzzxmlKey YAmenudemo 10 Key xmlOption YAmenudemo03/03/1712:17:29XSLT Options XSLT Options for passing parameters. Standard component for XML processing. zzzxmlOption YAmenudemo 10 Option xmlOuterkey YAmenudemo03/03/1712:17:29Outer Key Standard component for XML processing. zzzxmlOuterkey YAmenudemo 10 OuterKey xmlSchema YAmenudemo03/03/1712:17:29XML Schema Standard component for XML processing. zzzxmlSchema YAmenudemo 10 XML Schema xmlSchemaPath YAmenudemo03/03/1712:17:29XML XSD Path Standard component for XML processing. zzzxmlSchemaPath YAmenudemo 10 Schema Path xmlStylesheet YAmenudemo03/03/1712:17:29Stylesheet Standard component for XML processing. zzzxmlStylesheet YAmenudemo 10 Stylesheet xmlSubset YAmenudemo03/03/1712:17:29Subset Standard component for XML processing. zzzxmlSubset YAmenudemo 120 Subset xmlSubset2 YAmenudemo03/03/1712:17:29Subset Name Standard component for XML processing. zzzxmlSubset2 YAmenudemo 120 Subset xmlValue YAmenudemo03/03/1712:17:29Untitled Untitled zzzxmlValue YAmenudemo 10 Untitled  . Intro iAmenudemo  New Page 1

Welcome to the Pulldown Menu Demo!

Dynamic Pulldowns are made possible in BuildProfessional using XML data to describe the items of a pulldowns. The implementation is similar to XML containers. Use this application to explore the different capabilities.

  • Press "Add Pulldowns" to initialize and display the menus.
  • Press "Redraw" to update the menus.
  • Check "Checked" and "Disabled" to change items in the "View" menu.
  • Check "Add Many Pulldowns" and "Redraw" to add over 100 more pulldown items.
  • Update a specific item by entering the Id and a new label.
  • Check "Display XML..." option to show the XML used in different situations.

Logic Code

First a the pulldowns must be initialized (and can only occur once per session). After the initialization, the pulldown can be redrawn or updated any number of times. To initialize the pulldowns use the PULLDOWN *INIT command. To redraw or update the pulldowns use PULLDOWN *RENDER.

Pulldown Redraw versus Update.

In a redraw (which is a simple recreate of the whole menu struture) any properites of each item can be changed. On an update you can change individual properties of pulldown items (such as the label, checked / unchecked, enabled/disabled) but not add or remove items. It you need to add a single pulldown menu item, the complete structure must be redrawn.

Implementation.

When designing pulldowns, you would probably start with a static layout saved in a repository blob component. If the structure is sufficient, the menu can be rendered directly from the blob - you can create many blobs for different pulldown menu structures. In most cases though the items or structure will need to change at runtime. In this case you would start with the initial static structure from a blob and then use XML commands or a transformation to change the items or structure.

At runtime you will use the Action=Update method to alter individual items depending on user events.

For user defined or highly configurable environments, the XML used to create the pulldowns could be generated from user profile settings, licensing settings or a database.

Intro iAmenudemo03/02/1114:20:55Untitled Untitled WStaticMenu iAmenudemo+ StaticMenu iAmenudemo03/03/1211:50:27Untitled Untitled YYYAccelerator1 EAmenudemo.(Static Accelerator was pressed.4Accelerator1 EAmenudemo03/02/0615:16:07Untitled Untitled ZZZAccelerator1 EAmenudemo00 1*.MESSAGE 0000 "Static Accelerator was pressed."___Accelerator2 EAmenudemo..#Dynamic Accelerator was pressed at c4Accelerator2 EAmenudemo03/03/1712:33:09Untitled Untitled cccAccelerator2 EAmenudemo00 1*7MESSAGE 0000 "Dynamic Accelerator was pressed at " *UTCLtAddMany EAmenudemo&x{~0Mor+Hj+5=Xu++J  /uim/Menubar++C 1  10+&C  +#J/uim/Menubar/Item+Menu-*+J@Id+J@Label+J@ParentTrue++C 1  10+#C   +JItem+++" 2 4++SubMenu-*-* +J@Id+J@Label+J@ParentTrue+C 1 2+C  +JItem+Item*-* -* +J@Id+J@Label+J +%+ +Item*-* +J@Label+J@Id+)++J + &++J +"4m2 2  ;2 xcSubset xcCount xcLabel AddMany EAmenudemo03/02/1210:05:11Untitled Untitled  VISIT xcMenubarUpd "MenuUpd" "Checked" "" "False" "True" ""ELSE? VISIT xcMenubarUpd "MenuUpd" "Checked" "" "False" "False" ""ENDIF$NOTE --- Render Update to Pulldowns:#PULLDOWN *RENDER *SUBSET= "MenuUpd"NOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "MenuUpd"9 TIE 1; NOTE Tie off of netview to enable accelerators.ENDIFiiiDebug EAmenudemo2Jc "6++ DebugViewIntro+)4Debug EAmenudemo03/03/0314:07:20Untitled Untitled vvvDebug EAmenudemo00 3.?oIF * = *NO THEN. SCREEN *RENDER "DebugView" *SUBSET= "Intro"ENDIFbbbDisable EAmenudemoJMn6T\+" Disabled5++> xcMenubarUpdMenuUpdDisabledFalseFalse++= xcMenubarUpdMenuUpdDisabledFalseTrue+)+++5MenuUpd+++" Debug5++ DisplayXMLMenuUpd++)4Disable EAmenudemo03/03/0215:20:14Untitled Untitled Disable EAmenudemo0015Fk<a#NOTE --- Update Enabled / Disabled:IF S-Disabled = *YES THEN@ VISIT xcMenubarUpd "MenuUpd" "Disabled" "" "False" "" "False"ELSE? VISIT xcMenubarUpd "MenuUpd" "Disabled" "" "False" "" "True"ENDIF$NOTE --- Render Update to Pulldowns:#PULLDOWN *RENDER *SUBSET= "MenuUpd"NOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "MenuUpd"9 TIE 1; NOTE Tie off of netview to enable accelerators.ENDIFDisplayXML EAmenudemoNQTW8QTk+++0 xcNetViewtmp DebugEventTrue+++Z.xml+J+Ktmp+Ktmp+K ++/Jtmp/uim/NetView/Content@tmp+Ktmp++ DebugViewtmp+Jtmp4,2 2 xcSubset xcFilename DisplayXML EAmenudemo03/03/0314:25:00Untitled Untitled DisplayXML EAmenudemo0017J\ 1EdEXPECTS xcSubset$NOTE --- Display the XML in NetView:9VISIT xcNetView "tmp" "DebugEvent" L-xcFilename "" "True"1NOTE --- Insert Subset Content into Creation XML:L-xcFilename = *TEMP ".xml""XML *WRITE L-xcSubset L-xcFilenameTEXT *BUFFER "tmp"TEXT *LOAD "tmp" L-xcFilenameTEXT *REMOVE L-xcFilenameAXML *INSERT "tmp" *ELEMENT= "/uim/NetView/Content" *BUFFER("tmp")TEXT *RELEASE "tmp")SCREEN *RENDER "DebugView" *SUBSET= "tmp"XML *CLOSE "tmp"ItemUpdate EAmenudemoPSVx{069<MPSo++" IsParent5 True++" ItemChecked5++A xcMenubarUpdMenuUpd ItemId ItemLabelTrue+ +B xcMenubarUpdMenuUpd ItemId ItemLabelFalse+)+++5MenuUpd+++" Debug5++ DisplayXMLMenuUpd++)422 xcIsParent ItemUpdate EAmenudemo03/03/0215:17:27Untitled Untitled AAAItemUpdate EAmenudemo0018LfV]:NOTE --- Update an Item:/IF S-IsParent = *YES THEN L-xcIsParent = "True"IF S-ItemChecked = *YES THENK VISIT xcMenubarUpd "MenuUpd" S-ItemId S-ItemLabel L-xcIsParent "True" ""ELSEL VISIT xcMenubarUpd "MenuUpd" S-ItemId S-ItemLabel L-xcIsParent "False" ""ENDIF$NOTE --- Render Update to Pulldowns:#PULLDOWN *RENDER *SUBSET= "MenuUpd"NOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "MenuUpd"9 TIE 1; NOTE Tie off of netview to enable accelerators.ENDIFMenuLoad EAmenudemo BEhkn|+ JMenu StaticMenu+++ 5Menu+++" Debug5+ + DisplayXMLMenu++)4MenuLoad EAmenudemo03/03/0215:18:44Untitled Untitled oooMenuLoad EAmenudemo0011>}-h=NOTE --- Load the Predefined Static Menu from the Repository:$XML *OPEN "Menu" *BLOB= "StaticMenu"NOTE --- Display It:PULLDOWN *LOAD *SUBSET= "Menu"NOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "Menu"9 TIE 1; NOTE Tie off of netview to enable accelerators.ENDIFAMenuRedraw EAmenudemo(| ]{"Au{~ + JMenu StaticMenu+++++ Menu Updated +=J Menu#/uim/Menubar/Item[1]/Item[1]/@Label+++GJ Menu1/uim/Menubar/Item[2]/Item[@Id='Checked']/@Checked+" Checked5++MJMenu1/uim/Menubar/Item[2]/Item[@Id='Checked']/@CheckedTrue+)+++HJ Menu2/uim/Menubar/Item[2]/Item[@Id='Disabled']/@Enabled+" Disabled5++OJMenu2/uim/Menubar/Item[2]/Item[@Id='Disabled']/@EnabledFalse+)+++PJ Menu:/uim/Menubar/Item[2]/Item[@Id='Accelerator2']/@Accelerator+" Accelerator++^JMenu:/uim/Menubar/Item[2]/Item[@Id='Accelerator2']/@Accelerator Accelerator+)+++" Many5++AddManyMenu+)+++ 5Menu+++" Debug5+(+ DisplayXMLMenu++)4MenuRedraw EAmenudemo03/03/0215:18:08Re-render Pulldown. Redraw a pulldown menu. MenuRedraw EAmenudemo0040xZx2L: =!Cc{=NOTE --- Load the Predefined Static Menu from the Repository:$XML *OPEN "Menu" *BLOB= "StaticMenu"7NOTE --- Modify the static menu as defined by the user:BNOTE --- Add a time stamp to prove that the menu has been updated:*P01 = "Menu Updated " *TIMEGXML *MODIFY "Menu" *ELEMENT= "/uim/Menubar/Item[1]/Item[1]/@Label" *P01NOTE --- Add Check Mark Test:PXML *DELETE "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Checked']/@Checked"IF S-Checked = *YES THENZ XML *INSERT "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Checked']/@Checked" "True"ENDIFNOTE --- Add Disabled Test:QXML *DELETE "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Disabled']/@Enabled"IF S-Disabled = *YES THEN\ XML *INSERT "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Disabled']/@Enabled" "False"ENDIF$NOTE --- Assign Dynamic Accelerator:YXML *DELETE "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Accelerator2']/@Accelerator"IF S-Accelerator <> "" THENj XML *INSERT "Menu" *ELEMENT= "/uim/Menubar/Item[2]/Item[@Id='Accelerator2']/@Accelerator" S-AcceleratorENDIFNOTE --- Add Many Pulldowns:IF S-Many = *YES THEN VISIT AddMany "Menu"ENDIFNOTE --- Render Pulldowns: PULLDOWN *RENDER *SUBSET= "Menu"NOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "Menu"9 TIE 1; NOTE Tie off of netview to enable accelerators.ENDIFFFFTest EAmenudemo./2This is a test.4Test EAmenudemo03/03/1211:48:56Untitled Untitled DDDTest EAmenudemo00 1*ERROR "2This is a test."menudemo_Source EAmenudemo8PjmpF4 Accelerator+ Item3-2-1 ItemId+++4 xcNetViewIntro NetViewEventTrue+3JIntro/uim/NetView/ContentEIntro4menudemo_Source EAmenudemo03/03/0215:11:15Untitled Untitled '''menudemo_Source EAmenudemo00 64JbS-Accelerator = "F4"S-ItemId = "Item3-2-1"INOTE --- Prepare Intro Page (i.e. load blob "Intro" into NetView subset):3VISIT xcNetView "Intro" "NetViewEvent" "" "" "True"CXML *INSERT "Intro" *ELEMENT= "/uim/NetView/Content" *BLOB("Intro")xcListView EAmenudemo\_be.6W]`cy+++Jbpxml+J/uim+JListView+J@Action+ J @EventSubset++ "+ +J@Style++J@StyleMCLB+)+++ "++J @SortColumn+)+ "++"J@SortDirection+)++JColumns4,2 22 d2 2 2 2 xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection xcListView EAmenudemo03/03/0215:12:46Create ListView Create basic subset for ListView. Standard XML Container component. xcListView EAmenudemo0024XR!V] OVFEXPECTS xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetIF L-xcStyle <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Style" L-xcStyleELSE3 XML *INSERT L-xcSubset *ELEMENT= "@Style" "MCLB"ENDIF,NOTE --- Optional initial column to sort by:IF L-xcColumnId <> "" THEN> XML *INSERT L-xcSubset *ELEMENT= "@SortColumn" L-xcColumnIdENDIFIF L-xcDirection <> "" THENB XML *INSERT L-xcSubset *ELEMENT= "@SortDirection" L-xcDirectionENDIF*XML *INSERT L-xcSubset *ELEMENT= "Columns"000xcListViewCol EAmenudemo?TLORU"+++'J /uim/ListView/Columns+++JColumn+J @ColumnId+J@Title+++J@Sort++J@Align++J@Width4,2 22 d2 2 2 2 xcSubset xcColumnId xcLabel xcSort xcAlign xcWidth xcListViewCol EAmenudemo03/03/0215:12:46Add a Column Add column details to ListView subset. Standard XML Container component. xcListViewCol EAmenudemo0016H+c Bu:EXPECTS xcSubset xcColumnId xcLabel xcSort xcAlign xcWidthNOTE --- Position at Columns:+XML *KEY L-xcSubset "/uim/ListView/Columns"(NOTE --- Add column details to ListView:/XML *INSERT L-xcSubset *ELEMENT= "Column" *DOWN6XML *INSERT L-xcSubset *ELEMENT= "@ColumnId" L-xcLabel3XML *INSERT L-xcSubset *ELEMENT= "@Title" L-xcLabelNOTE --- Sort: Text, Number1XML *INSERT L-xcSubset *ELEMENT= "@Sort" L-xcSort#NOTE --- Align: Left, Right, Center3XML *INSERT L-xcSubset *ELEMENT= "@Align" L-xcAlign1NOTE --- Width in percent of total display width:7XML *INSERT L-xcSubset *ELEMENT= "@Width" L-xcWidth *UP000xcListViewItm EAmenudemoexX[^a4V\_b+++J  /uim/ListView+++JItem+J@Id+++ "+ +J@Select+)+++JValue+ "++J Value/@Sort+)+++42 22 d ^2 2 xcSubset xcId xcValue xcSort xcSelect xcListViewItm EAmenudemo03/03/0215:12:46Add a List Item Add item details to ListView subset. Standard XML Container component. xcListViewItm EAmenudemo0022TKw(@|-EXPECTS xcSubset xcId xcValue xcSort xcSelectNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId*NOTE --- Optionally, select the list item:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIF NOTE --- Add first column value:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.7NOTE --- Use xcListViewVal to add futher column values.xcListViewMod EAmenudemo @CFIknq+++J  /uim/ListView+++JItem+J@Id+JValue+#JValue/@ColumnId42 22 d2  xcSubset xcId xcColumnId xcValue xcListViewMod EAmenudemo03/03/0215:12:46Modifiy List Item Modify single column on sinlge item in ListView. Standard XML Container component. xcListViewMod EAmenudemo0010<f.b(EXPECTS xcSubset xcId xcColumnId xcValueNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValue?XML *INSERT L-xcSubset *ELEMENT= "Value/@ColumnId" L-xcColumnIdxcListViewSel EAmenudemo( DGJMg+++Jbpxml+J/uim+JListView+!J@ActionSelect+ J @EventSubset+JItem+J@Id++42 22 d2 xcSubset xcEventSubset xcId xcListViewSel EAmenudemo03/03/0215:12:46Select List Item Create subset to select an item in a ListView. Standard XML Container component. ,,,xcListViewSel EAmenudemo0012@eL#EXPECTS xcSubset xcEventSubset xcId'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Select"?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId?NOTE --- Add more Item elements to perform multiple selections.,,,xcListViewVal EAmenudemo BEHKNQm+++++JValue+ "+ +J Value/@Sort+)++4^2 2 ,2 xcSubset xcValue xcSort xcListViewVal EAmenudemo03/03/0215:12:46Add List Item Value Add another column value to a ListView. Standard XML Container component. ~~~xcListViewVal EAmenudemo0011>_8?EXPECTS xcSubset xcValue xcSort.NOTE --- XML Key should already be positioned.NOTE --- Add value to ListView:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.xcMenubarUpd EAmenudemo,fil4RX[^t++Jbpxml+Juim+JMenubar+!J@ActionUpdate++JItem+J@Id+++"True++J@Parent+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcLabel xcIsParent xcChecked xcEnabled xcMenubarUpd EAmenudemo03/03/0215:12:46Update Menubar Update Menubar. Standard XML Container component. xcMenubarUpd EAmenudemo0029b'\$`gKRw "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Check Mark:IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFxcNetView EAmenudemodgjmp#&)DGdgj++++Jbpxml+J/uim+JNetView+!J@ActionCreate+ J @EventSubset+JNavigate+++J@URL++J@Frame+++J@Header+J @PostData+++!J@HistoryFalse+++"J@AllowAutoLoad+++42 22 d ^2 2 xcSubset xcEventSubset xcFilename xcFrame xcAutoLoad xcNetView EAmenudemo03/03/0215:12:47Populate NetView Create default subset for NetView. Standard XML Container component. oxcNetView EAmenudemo0028`'YRo3p"XML *INSERT L-xcSubset *ELEMENT= "@AllowAutoLoad" L-xcAutoLoadKNOTE --- Caller can add content or modify above values after this function.xcNetViewPrt EAmenudemo<?BEHb{++++Jbpxml+J/uim+JNetView+ J@ActionPrint422 xcSubset xcNetViewPrt EAmenudemo03/03/0215:12:47Populate NetView Create default NetView Print subset. Standard XML Container component. ,,,xcNetViewPrt EAmenudemo00 88JpEXPECTS xcSubset$NOTE --- Issue NetView Print action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN2XML *INSERT L-xcSubset *ELEMENT= "@Action" "Print"xcNetViewPrv EAmenudemo<?BEHb{++++Jbpxml+J/uim+JNetView+'J@Action PrintPreview422 xcSubset xcNetViewPrv EAmenudemo03/03/0215:12:47Populate NetView Create default NetView Preview subset. Standard XML Container component. :::xcNetViewPrv EAmenudemo00 88JwEXPECTS xcSubset+NOTE --- Issue NetView PrintPreview action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN9XML *INSERT L-xcSubset *ELEMENT= "@Action" "PrintPreview"LLLxcTabView EAmenudemo:=@Zs++Jbpxml+J/uim+JTabView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTabView EAmenudemo03/03/0215:12:47Create TabView Create default subset for TabView Create. Standard XML Container component. ___xcTabView EAmenudemo00 76_'EXPECTS xcSubset xcEventSubset xcAction%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "TabView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTabViewItm EAmenudemooTWZ{~!'*@`fi++J  /uim/TabView+++ "++JItem+J@Id+J@Label+++ "++J@Select+)++ "++J @Mnemonic+)++)42 22 d2 2 2 xcSubset xcId xcLabel xcMnemonic xcSelect xcTabViewItm EAmenudemo03/03/0215:12:47Add Tab Item Add Tab Item to TabView. Standard XML Container component. xcTabViewItm EAmenudemo0020P ?w ,q{1EXPECTS xcSubset xcId xcLabel xcMnemonic xcSelect"XML *KEY L-xcSubset "/uim/TabView"NOTE --- Insert Tab Item:IF L-xcLabel <> "" THEN0 XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel0 NOTE --- Optionally, select a tab as default: IF L-xcSelect <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelect ENDIF IF L-xcMnemonic <> "" THENC XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonic *UP ENDIFENDIF,,,xcTabViewSel EAmenudemoltNQTWZ]Hcfi+++++%J /uim/TabView/Item+C 1 + C  +*(/uim/TabView/Item[ ]/@Select+J False+ +++1//uim/TabView/Item[@Id='* ']/@Select+J True+++42 22 d  m  v2 xcSubset xcId xcHits xcCount xcElement xcTabViewSel EAmenudemo03/03/0215:12:47Select Tab. Make a specific tab current. Standard XML Container component. xcTabViewSel EAmenudemo0017Ja#`4xEXPECTS xcSubset xcId/NOTE --- Set a default tab in a TabView subset.NOTE --- Unselect all tabs: "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Label:IF L-xcMnemonic <> "" THEN< XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonicENDIFNOTE --- Update Selected:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIFxcToolbar EAmenudemoFP FILOi&+++Jbpxml+J/uim+JToolbar+J@Action+ J @EventSubset+++J@WrapTrue+J@ListFalse+J@FlatTrue42 22 d2 xcSubset xcEventSubset xcAction xcToolbar EAmenudemo03/03/0215:12:47Create Toolbar Create basic subset for Toolbar. Standard XML Container component. mmmxcToolbar EAmenudemo0013BkS <'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetCNOTE --- Caller can modify the following values prior to rendering:/XML *INSERT L-xcSubset *ELEMENT= "@Wrap" "True"0XML *INSERT L-xcSubset *ELEMENT= "@List" "False"/XML *INSERT L-xcSubset *ELEMENT= "@Flat" "True"xcToolbarBtn EAmenudemobehkn.LRh++++J  /uim/Toolbar+++JButton+" Separator+ +"J @SeparatorTrue++J@Id+ "++J@Bitmap+)+ "++J@Label+)+ "++J@Tooltip+)+)+"True++J +)++4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcTooltip xcUp xcToolbarBtn EAmenudemo03/03/0215:12:47Add Toolbar Button Add button details to Toolbar. Standard XML Container component. xcToolbarBtn EAmenudemo0027^Np;Ea -IP5EXPECTS xcSubset xcId xcBitmap xcLabel xcTooltip xcUp9NOTE --- L-xcBitmap is the name of a blob or "Separator"."XML *KEY L-xcSubset "/uim/Toolbar"'NOTE --- Add Button details to Toolbar:/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN IF L-xcBitmap = "Separator" THEN7 XML *INSERT L-xcSubset *ELEMENT= "@Separator" "True"ELSE0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId IF L-xcBitmap <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmap ENDIF IF L-xcLabel <> "" THEN9 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel ENDIF IF L-xcTooltip <> "" THEN= XML *INSERT L-xcSubset *ELEMENT= "@Tooltip" L-xcTooltip ENDIFENDIFIF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIF9NOTE --- Leave key so that caller can add further values.<< "" THEN3 NOTE --- Item with no Id becomes Menu parent.3 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId ENDIF6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UP ENDIFENDIF9NOTE --- Leave key so that caller can add further values.xcToolbarMenu EAmenudemo`d8;>AZ]+++JMenu++422 xcSubset xcToolbarMenu EAmenudemo03/03/0215:12:47Add Toolbar Menu Add menu details to Toolbar. Standard XML Container component. xcToolbarMenu EAmenudemo00 64FeEXPECTS xcSubsetNOTE --- Add Menu to Toolbar:-XML *INSERT L-xcSubset *ELEMENT= "Menu" *DOWN9NOTE --- Leave key so that caller can add further values.xcToolbarUpd EAmenudemo,fil2PVY\r++Jbpxml+Juim+JToolbar+!J@ActionUpdate++JButton+J@Id+++ "++J@Bitmap+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled xcToolbarUpd EAmenudemo03/03/0215:12:47Update Toolbar Update Toolbar. Standard XML Container component. xcToolbarUpd EAmenudemo0029b%Z'.F_#*Oj:EXPECTS xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcIdNOTE --- Update Bitmap:IF L-xcBitmap <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmapENDIFNOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIF,NOTE --- Update Check Mark (button pressed):IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFPPPxcTreeView EAmenudemo<?BE_x+++Jbpxml+J/uim+JTreeView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTreeView EAmenudemo03/03/0215:12:47Create TreeView Create basic subset structure for TreeView. Standard XML Container component. xcTreeView EAmenudemo00 88aJ'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for TreeView:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTreeViewItm EAmenudemojmpsv17:=Sqwz}++++JItem+J@Id+J@Label+++J @ForceChild+++"True++ J@EventExpand+)+++ "++J@Update+)+++"Refresh++J@Action+)++++"True++J +)42 22 d2 2 2 2 ,2 ^2 xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp xcTreeViewItm EAmenudemo03/03/0215:12:47Add TreeView Item Insert tree node based on supplied arguments. Standard XML Container component. xcTreeViewItm EAmenudemo0031f 9nIPm<CpJEXPECTS xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp'NOTE --- XML key should be in position.-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelNOTE --- Add expand sign (+)?=XML *INSERT L-xcSubset *ELEMENT= "@ForceChild" L-xcForceChild'NOTE --- Optionally, expand on display:IF L-xcSelect = "True" THEN5 XML *INSERT L-xcSubset *ELEMENT= "@Event" "Expand"ENDIFNOTE --- Is this an update?IF L-xcUpdate <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Update" L-xcUpdateENDIFNOTE --- Refresh or Add?IF L-xcAction = "Refresh" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcActionENDIF+NOTE --- Optionally, position XML key back:IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIFLLLxcTreeViewUpd EAmenudemoVY\v),/2Heknq++Jbpxml+Juim+JTreeView+!J@ActionUpdate++JItem+J@Id+!J@ActionUpdate++++ "++J@Label+)+++ "++J@Bold+)42 22 d2 2 xcSubset xcId xcLabel xcBold xcTreeViewUpd EAmenudemo03/03/0215:12:47Update Toolbar Update Toolbar. Standard XML Container component. xcTreeViewUpd EAmenudemo0021Rx5d18Og$EXPECTS xcSubset xcId xcLabel xcBold%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"NOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Bold:IF L-xcBold <> "" THEN4 XML *INSERT L-xcSubset *ELEMENT= "@Bold" L-xcBoldENDIFxmlDebugDump EAmenudemoX&x{~S Q/Kj,+++++O debugsubset++++++5J  debugsubset/system/Buffers/Buffer+C 1 +C  +9J  debugsubset/system/Buffers/Buffer[]+ "*R 0/2Error in debug subset+$J debugsubset@Name+Jtmpbpxml+"Jtmp bufferdata@+ J debugsubsettmp+ ++5J  debugsubset/system/Subsets/Subset+C 1 +C  +9J  debugsubset/system/Subsets/Subset[]+ "*R 0/2Error in debug subset+$J debugsubset@Name+"tmp@ +"dbgFile@ +Jtmpbpxml+ J debugsubsettmp+ +++1/LogPath/web/debug_%application%.xml/+L %application%*//+J debugsubset/+J debugsubset+'Debug information stored in /4     xmlHits xmlCount1 xmlValue xmlDebugDump EAmenudemo03/03/1211:48:33Untitled Untitled MuxmlDebugDump EAmenudemo0038t%Sw@ Jd'`!b+NOTE --- Standard Debug Dump Functionality.MNOTE --- Store this function in your application to extract debug information3NOTE --- for viewing in the Developer Debug Viewer.,NOTE --- Extract Debug info to local Subset:"DEBUG *DUMP *SUBSET= "debugsubset"BNOTE --- For each buffer and subset, merge in the respective data:@NOTE --- (This could be performed conditionally for applicationsANOTE --- maintaining large amounts of data in buffers or subsets)EXML *COUNT "debugsubset" *ELEMENT= "/system/Buffers/Buffer" L-xmlHits=FOR L-xmlCount1 = 1; L-xmlCount1 <= L-xmlHits; L-xmlCount1 ++C XML *KEY "debugsubset" "/system/Buffers/Buffer[" L-xmlCount1 "]"= IF *XMLSTAT <> 0 THEN ERROR "2Error in debug subset"; EXIT7 XML *READ "debugsubset" *ELEMENT= "@Name" L-xmlValue# XML *SUBSET "tmp" *ROOT= "bpxml"? XML *INSERT "tmp" *ELEMENT= "bufferdata" *BUFFER(L-xmlValue)* XML *MERGE "debugsubset" *SOURCE= "tmp"ENDFOREXML *COUNT "debugsubset" *ELEMENT= "/system/Subsets/Subset" L-xmlHits=FOR L-xmlCount1 = 1; L-xmlCount1 <= L-xmlHits; L-xmlCount1 ++C XML *KEY "debugsubset" "/system/Subsets/Subset[" L-xmlCount1 "]"= IF *XMLSTAT <> 0 THEN ERROR "2Error in debug subset"; EXIT7 XML *READ "debugsubset" *ELEMENT= "@Name" L-xmlValue& IF L-xmlValue = "tmp" THEN CONTINUE* IF L-xmlValue = "dbgFile" THEN CONTINUE7 XML *SUBSET "tmp" *ROOT= "bpxml" *SOURCE= L-xmlValue* XML *MERGE "debugsubset" *SOURCE= "tmp"ENDFOR?NOTE --- Store in a file for viewing in Developer Debug Viewer::*FILENAME = *ENV("LogPath") "/web/debug_%application%.xml"8REPLACE "%application%" *TRIM(*APPN) *FILENAME *FILENAME"XML *WRITE "debugsubset" *FILENAMEXML *CLOSE "debugsubset"5MESSAGE 0000 "Debug information stored in " *FILENAMELLLxmlTransformSBS EAmenudemoTWZ]`v'Kqwz++++ " ++J++ +J++)++ "R 0++(&2Error in XSLT (*) in *+/++ Jdebug_xslt.xml+!K debug_xslt.xsl+#Kdebug_xslt.xsl+)++R4 `2 2 ,2 ^  .2 xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction xmlTransformSBS EAmenudemo03/03/1712:17:29XSL Transformation Wrapper for XSL transformation. Standard component for XML processing. xmlTransformSBS EAmenudemo0020PEK(9k@EXPECTS xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction?NOTE --- Expects SBS: Subset name, buffer name and subset name.IF L-xmlOption *BLANK THENT XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2ELSEi XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2 *OPTION= L-xmlOptionENDIFIF *XMLSTAT <> 0 THENR *ERROR = "2Error in XSLT (" *TRIM(L-xmlStylesheet) ") in " *TRIM(L-xmlFunction) ERROR *ERROR0 NOTE --- Store source and xslt for diagnosis:* XML *WRITE L-xmlSubset "debug_xslt.xml" TEXT *REMOVE "debug_xslt.xsl"6 TEXT *WRITE *FILE= "debug_xslt.xsl" L-xmlStylesheetENDIF EXIT *XMLSTATxmlValidate EAmenudemo18VY\wz} #+.++Jtmpval+++ "R 0++;+++Jtmpval+ "R 0+ +++;+)+Jtmpval+)++++4&  2 xmlFile xmlSchema xmlError xmlValidate EAmenudemo03/03/1712:17:29Validate XML Validate XML file against XSD schema. Standard component forXML access. ///xmlValidate EAmenudemo0021Rm>nEXPECTS xmlFile xmlSchemaXML *OPEN "tmpval" L-xmlFile0NOTE --- First check if the file is well-formed:IF *XMLSTAT <> 0 THEN L-xmlError = *ERRTEXTELSEH NOTE --- Now check if the data validates against the supplied schema:. XML *VALIDATE "tmpval" *SCHEMA= L-xmlSchema IF *XMLSTAT = 0 THEN L-xmlError = "" ELSE L-xmlError = *ERRTEXT ENDIF XML *CLOSE "tmpval"ENDIFEXIT L-xmlError/NOTE --- Blank return signifies valid document.menudemo SAmenudemo03/03/0314:04:59Untitled Untitled +menudemo SAmenudemo[SysScreen];15C:29;157:167;159:2300;15E:12433;15D:6;1D:N;29:3;174:Y;196:N;1B4:N;1B6:N;1BB:1;1BC:1;[SysScreenCont];14E:_Root;150:0;14C:0;14D:2300;151:12433;152:0;F2:3;1A0:Y;21:1;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;16A:VISIT menudemo_Source;3D:Pulldown Menu Demonstration;1B3:N;[SysScreenCont];14E:GroupBox1;14F:_Root;150:252;14C:250;14D:643;151:4100;152:6;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Draw Pulldowns;1B3:N;[SysScreenCont];14E:GroupBox2;14F:_Root;150:252;14C:7200;14D:643;151:5000;152:5;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Update Item;1B3:N;[SysScreenCont];14E:GroupBox3;14F:_Root;150:252;14C:4550;14D:643;151:2433;152:4;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:View Menu;1B3:N;[SysScreenField];14E:Debug;14F:_Root;150:976;14C:233;14D:100;151:3400;152:3;E1:X;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:DebugView;14F:_Root;150:1062;14C:217;14D:1892;151:12017;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:5;1C5:Intro;[SysScreenField];14E:Pb1;14F:GroupBox1;150:48;14C:367;14D:131;151:1983;152:5;E1:I;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb2;14F:GroupBox1;150:186;14C:367;14D:131;151:1983;152:4;E1:R;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Many;14F:GroupBox1;150:333;14C:317;14D:100;151:2233;152:3;E1:A;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Accelerator;14F:GroupBox1;150:519;14C:367;14D:108;151:733;152:2;E1:A;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Checked;14F:GroupBox3;150:24;14C:267;14D:100;151:1567;152:2;E1:C;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Disabled;14F:GroupBox3;150:114;14C:267;14D:100;151:1567;152:1;E1:D;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:ItemId;14F:GroupBox2;150:119;14C:417;14D:108;151:1567;152:7;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:ItemLabel;14F:GroupBox2;150:119;14C:2333;14D:108;151:1567;152:6;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:ItemChecked;14F:GroupBox2;150:252;14C:433;14D:100;151:1667;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:IsParent;14F:GroupBox2;150:376;14C:433;14D:100;151:1667;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb3;14F:GroupBox2;150:457;14C:3533;14D:131;151:1150;152:5;E1:U;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static1;14F:_Root;150:29;14C:217;14D:169;151:3067;152:1;8A:Arial-14;F2:3;48:"Pulldown Menu Demo";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static3;14F:GroupBox1;150:433;14C:317;14D:100;151:2250;152:1;E1:A;F2:3;48:"Assign Dynamic Accelerator\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static2;14F:GroupBox2;150:24;14C:367;14D:100;151:200;152:4;F2:3;48:"Id\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static4;14F:GroupBox2;150:24;14C:2283;14D:100;151:483;152:3;F2:3;48:"Label\:";1A0:Y;21:4;B2:1;menudemo IAmenudemo O- -- - - - z- >- Fh*- 4I- (-  - - - ).menudemo_Source4DebugDebugViewPb1Pb2ManyAcceleratorCheckedDisabledItemIdItemLabelItemCheckedIsParentPb3F-Debug!Display XML Used to Render Menus:Add Pulldown Menus F-MenuLoad Redraw Menus F-MenuRedrawAdd Many PulldownsF-Check Check Test F-Disable Disabled TestChecked Is a Parent?Update F-ItemUpdate8`menudemo IAmenudemo                           iiimenudemo OAmenudemo t 0 2 4 @ QF-Debug$"Display XML Used to Render Menus:""Add Pulldown Menus" F-MenuLoad"Redraw Menus" F-MenuRedraw"Add Many Pulldowns"F-Check "Check Test" F-Disable"Disabled Test" "Checked""Is a Parent?" "Update" F-ItemUpdate@@@ACCELERATORS kAmenudemoF-Accelerator1F2dddnetdemo AAnetdemo 0netdemo *ALL english 22 3 03/03/2417:00:23 APPLICATION AAnetdemo 03/03/1710:47:11Untitled Untitled ContentType YAnetdemo 03/02/1811:46:48Untitled Untitled zzzContentType YAnetdemo 10 Untitled xcAction YAnetdemo 03/03/0215:03:23Action Standard XML Container component. zzzxcAction YAnetdemo 120 Action xcAlign YAnetdemo 03/03/0215:03:23Align Standard XML Container component. zzzxcAlign YAnetdemo 120 Align xcAutoLoad YAnetdemo 03/03/0215:03:23AutoLoad Standard XML Container component. zzzxcAutoLoad YAnetdemo 120 AutoLoad xcBitmap YAnetdemo 03/03/0215:03:23Mnemonic Standard XML Container component. zzzxcBitmap YAnetdemo 120 Mnemonic xcBold YAnetdemo 03/03/0215:03:23Bold Standard XML Container component. zzzxcBold YAnetdemo 120 Bold xcChecked YAnetdemo 03/03/0215:03:23Checked Standard XML Container component. zzzxcChecked YAnetdemo 120 Checked xcColumnId YAnetdemo 03/03/0215:03:23Column Id Standard XML Container component. zzzxcColumnId YAnetdemo 120 ColumnId xcCount YAnetdemo 03/03/0215:03:23Count Standard XML Container component. zzzxcCount YAnetdemo 1 0 Count xcDirection YAnetdemo 03/03/0215:03:23Direction Standard XML Container component. zzzxcDirection YAnetdemo 120 Direction xcElement YAnetdemo 03/03/0215:03:23Element Standard XML Container component. zzzxcElement YAnetdemo 120 Element xcEnabled YAnetdemo 03/03/0215:03:23Enabled Standard XML Container component. zzzxcEnabled YAnetdemo 120 Enabled xcEvent YAnetdemo 03/03/0215:03:23Event Standard XML Container component. zzzxcEvent YAnetdemo 120 Event xcEventSubset YAnetdemo 03/03/0215:03:23Event Subset Name Standard XML Container component. zzzxcEventSubset YAnetdemo 120 EventSubset xcFilename YAnetdemo 03/03/0215:03:23Filename Standard XML Container component. zzzxcFilename YAnetdemo 10 Filename xcForceChild YAnetdemo 03/03/0215:03:23ForceChild Standard XML Container component. zzzxcForceChild YAnetdemo 120 ForceChild xcFrame YAnetdemo 03/03/0215:03:23Frame Standard XML Container component. zzzxcFrame YAnetdemo 120 Frame xcHasChild YAnetdemo 03/03/0215:03:23HasChild Standard XML Container component. zzzxcHasChild YAnetdemo 120 HasChild xcHits YAnetdemo 03/03/0215:03:23Hits Standard XML Container component. zzzxcHits YAnetdemo 1 0 Hits xcId YAnetdemo 03/03/0215:03:23Identifier Standard XML Container component. zzzxcId YAnetdemo 120 Id xcIsParent YAnetdemo 03/03/0215:03:23Is a Parent Standard XML Container component. zzzxcIsParent YAnetdemo 120 IsParent xcLabel YAnetdemo 03/03/0215:03:23Label Standard XML Container component. zzzxcLabel YAnetdemo 120 Label xcLevel YAnetdemo 03/03/0215:03:23Level Standard XML Container component. zzzxcLevel YAnetdemo 120 Level xcMnemonic YAnetdemo 03/03/0215:03:23Mnemonic Standard XML Container component. zzzxcMnemonic YAnetdemo 120 Mnemonic xcSelect YAnetdemo 03/03/0215:03:23Select Standard XML Container component. zzzxcSelect YAnetdemo 120 Select xcSort YAnetdemo 03/03/0215:03:23Sort Standard XML Container component. zzzxcSort YAnetdemo 120 Sort xcStyle YAnetdemo 03/03/0215:03:23Style Standard XML Container component. zzzxcStyle YAnetdemo 120 Style xcSubset YAnetdemo 03/03/0215:03:23Subset Name Standard XML Container component. zzzxcSubset YAnetdemo 120 Subset xcSubset2 YAnetdemo 03/03/0215:03:23Subset Name2 Standard XML Container component. zzzxcSubset2 YAnetdemo 120 Subset2 xcTooltip YAnetdemo 03/03/0215:03:23Mnemonic Standard XML Container component. zzzxcTooltip YAnetdemo 120 Mnemonic xcUp YAnetdemo 03/03/0215:03:23Up Standard XML Container component. zzzxcUp YAnetdemo 120 Up xcUpdate YAnetdemo 03/03/0215:03:23Update Standard XML Container component. zzzxcUpdate YAnetdemo 120 Update xcUrl YAnetdemo 03/03/0215:03:23Url Standard XML Container component. zzzxcUrl YAnetdemo 10 Url xcValue YAnetdemo 03/03/0215:03:23Value Standard XML Container component. zzzxcValue YAnetdemo 10 Value xcWidth YAnetdemo 03/03/0215:03:23Width Standard XML Container component. zzzxcWidth YAnetdemo 120 Width HTMSample iAnetdemo 

Sample HTML Page

Windows Tabs Controls are available through an XML driven XML Container. This demonstration shows the different functionality available in the TabView XML Container.

HTMSample iAnetdemo 03/02/1912:15:16Untitled Untitled tIntro iAnetdemo 

Welcome to the NetView Demo!

The NetView XML Container allows developers to display HTML content as part of the Windows user interface. The built-in NetView uses the full functionality of Internet Explorer to render page data. Features include:

Render HTML content as part of the Windows user interface. As content is rendered directly from BuildProfessional to the NetView control, no web server is required.

NetView takes advantage of the fantastic rich mark abilities of HTML without having to build a browser based interface. The user is still in Windows, the programmer retains detailed control over the user interface.

Track events by executing logic code. As links are clicked in the NetView area, an associated BuildProfessional function is executed allowing the developer determine an action.

The AutoLoad and History features makes the NetView act much like a normal browser Window to view intructions, documentation or to guide a user through uncommon tasks.

Implementation

The NetView is implemented by painting an XML Container field on any screen. At runtime data is passed to the NetView control through an XML subset (like a tree or list view).

The NetView can be directed to either render content that was supplied as part of the creation XML or navigate to a static or dynamic URL.

Demonstration

Use the tabs to display different types of content. Click the "Display XML" checkbutton to show the XML used to render the views and XML return on events in the NetView control.

Edit the content in the Data field and press the Render button to re-redner the data.

By default the content to display will be transferred as part of the creation XML. The "Load from file" option will write the content to a file and direct NetView to render that file. The "Load from URL" option will direct NetView to get the content via http.

 

Intro iAnetdemo 03/02/2414:32:16Untitled Untitled  JavaSample iAnetdemo 




It's Snowing...

JavaSample iAnetdemo 03/02/1914:59:34Untitled Untitled TWMAPSample iAnetdemo Tv

Select a State:


Guam Guam Delaware New Jersey Washington D.C. Maryland New Jersey Delaware Rhode Island Michigan Michigan Virginia Washington D.C. Oklahoma Kentucky Delaware New Jersey Connecticut Rhode Island Idaho Nevada Arizona Utah New Mexico Texas Kansas Nebraska South Dakota North Dakota Wyoming Colorado Alabama Wisconsin Illinois Louisiana Arkansas Missouri Georgia South Carolina North Carolina Tennessee West Virginia Indiana Ohio New York Pennsylvania Maine Oregon Washington Montana Minnesota Iowa California Mississippi Maryland Vermont New Hampshire Massachusetts Florida

This image only works on a locally installed BuildProfessional Developer. See F-netdemo_source.



MAPSample iAnetdemo 03/02/2511:53:43Untitled Untitled ~~~MapUSA iAnetdemo ~RGIF89aXnֿ̿徾ř߯ߐ֋筭~Ӑҙ`~~th@d``{{{/sssTtPPRnfffp@f@@[[[fD[r0Y00bMUaRRRZJJJSL =HYMBBBH@1=PC:::=|*33387)1<31T2))2~/\**+3f)<.s!(2*w,! !2!)"h#Yf 9ZRJ)NB':?$ 03)"%  ,XnH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c ɳϟ@  =jFCv5<`Q'5yES pk[SL# :6y2Mz/odSl }Ƣ "j%+DUA@ _oߌsܳNs P-g,Aڑ3` faf@p`_k~hs w@^ǎ:3!AGU;R: !M  ĠWrCXu'V @dK, t(P\ fUInEqHS! 6A:)! \^-oy6ЁCi *ā HxBßp $'gHor,%r_u oG`į@v/Zn\"1UVE} &@"\  *7@{'qb0gr>p|7! stuCc0??v0)v M!r"w!6V}!.o"Hi@u'wp,SN6d'wnBa+oU"TVVs5b[0DpyL(w1H p2VQ/r~(]~'Chڂ| p 3E |{#ppX#gшUX]#*.o:u^b[2Eb qQD4gHix!1woLxJe(Unr+R5p5xVe W2lfV}Z6F3v L $9cz9`.7'H$3q7904xj}0 pC9M&%w1s Vop9Sxx0%Ko0|%$ Ys>FRqmq$C=, Sȁ1+qt-zb85W`]FWeZ֑1SPZ!<_.2%o8[@` 0..Py>FCd`!"H !03%wLpZc+` y5Pw0impieڹv@a!< ty@y 3LIvJ;2k" iJj@!b]Px9{9:P9l+{yyVh!<x֔$Igvr}PUh(x SPQ9_"Fa}H`+!7`{8``PWpPC>@'7`#iW3$hƣc% @)s g},7`ylS kԟ1VJ'>Ɇ)(9aazxFPr|iywpaEsQ:JvpШ \PW!*j62MQH2l&G+jF@g:zrF`s@vty_58LI[XIAO;7p9? D0 $rH#!>Mw۶a!)a&3u:JX_P \9oxgg:쨨>Zjݘ:"zJ`&lɠ@~Hj[85d05By+5ڣz эylfqJj%j(,)`i$B,?V|Pc+dd91 $Ƹ;fp33tcyAz廔xmg |\`$PYST!4+fJ~z$z=e`HPںPpt [_U]Tر1-'j _8&lH:JON k,1 kbΙx -D@Gx{oгA陿<4,,jw",0X"_`eёj9jD资1T܃\@"z) PnjxfmQc(kȿ%ձkBF3xR0ĐA/)pvl;) ^u @'mr ]C\[HQ/|/p>/V)u>J5pX~$3q &pIC'qA ve[hU:@15d9Q"gziI,p<,\{NG ? E3-Ч\2=7P/YW)~ha0F22"{[): U  ؏8`z`o\'1 LI@h^}N/@g29^0 LAU^\ki`'.mr ڂvP6?@;!p'tA.xPRڋNp,2sߟHF%m$g1 U!r%> '`9.)rc L'0#Pu-@~(Gm,vHS1}"EN{B$ԃrD·5A.;`:($vټ/޶"7Y00#@`\PaB)4m -R _ >閎E0[*Chm2=OpW \!G.#z '|-+F2拓]ҽ1~l80od p{BH{0е3e4~F\iucE Zf(!U]_2f0U"e 1Bdm",$(3nrW?FOF5prdygB'G}J4U&Xl21w7f_w|z&/: ?UmBl[0oPCUTI@@ D`8v8QD-VAB:c(NiF"\bKSq% <T((4:rĀUj:a' D` v`^VZ D#^`Woi1;r0AXbƍ?Yd6{̙CG;dp" "܀  ,;V䦞:?dKՉcAmDa-f'?X`([DxU-6 P"X]6c̠moCd 549,P<|&߫ <0{y^D [⥉*KvkHIy;T0` 87 C_:@[2>3CN9 l0C+|O| B"B{ЃIڇ4G~ F݀u n'/D& P`6WNlxp:̚vD`ǔ$VBXiS[ Tw&s')dV_p5dC@yÂ6& yP:]H'?   Z A n`El4(20FE wHC Bl )EiSD=!phadjIb5up!gRt9, fȝ:;# $@>!@܀4*IM-A=\lc>66 юUB<(7KC? @hD]{1YM4a&X>j>03 26X7@s X@ 웓~ "N(,0a {5, ؠC kao@5„Y&3ݶ}Cxq2`FHРA :a GfD@)Qt&9Ձyi; 3Ó 6y͏hH &8ˍ<cm5S ?@ p?˽D MA"S @E@as9LȂ([htaȾB5>$_CloApŊ []$ @dy sZhi ,l jm6-*2;|vCh!>n6|1   @ 8;`9(/7,cLK_-Vr j' vB@U$ ջ5 JM |`1e80m :@,P 54@ #S mb(,7'?X=>R(@0$w![bBz!@vq0@xT'ip'@V `ف@, R@Azr` H8:8R= 88=0T9;#;q /3 и"=01 5:t6X J 3(%p `c `/ӿ1)5(+^Q7/ Ҏ.0܏7%%2@Dײ> x *1"(xkȁ@[( 0D d'SL880 pB %XĞjԀX9x2PЃ%ێ0s%b; !8 [X$C+AD,l*H)-P3!r1"'';ClSE LR8BxIh *LA˺"`=J$)5h/0E<@DP`Zl91pLKi7;:+ת8@qG"p(Q8 CR* `PH K7L{j1x9Ep I&H,8˔ ;#PD$32/ķT#B(L,!ټa<8g2 C AA> z":J&1j(J cQ1]}Ÿi:h!{ ) PWd+ = tT&qE3SMȔPVSĠ\rUْ-HY-:Tx#68̀.07,`Ҥ)Z BD$ OIeDT#L&Vz=8:8a+| @=g2i-h8Yu*:`4X @H^y6;249`2BT|m2߬޽PՈZ`Pmݙ_8ŀ C܎k^X2wp,MA$P WՏ!q< ,a8aDz؀҂hF b ܈vaa )5#5hޔڀdSB=t$ ]f4_rc` 3cFY%̃ -(4t% $5<7 @΁>%>` 2A"hw1.;2/DX` T0RvT݁ aZ~/O(im0kfe@CスY ѐP8@o}Uf|f,540rLgu,׬*yK]8xNgUa0a֏0)i )3H#?DHA=43F(tI2LfFu鋬،=` CH 0* 6ž 'J*3 A4$:ȃ dUa_vh]q-@>>hܘbN9Od(v?; C0ХB՟=^r[k=;ZK)h 7>!cG[(ZLrL 7J309qac0X-9!8ٞ,൨%=hjR-"*n2( (n.E=s9P"P }n2Eo0z֙'r(%!сo^+' pa`-A td$ML!SKs-h隑M|@:lc/-q c.X (^H R; G7ɽ;ؼU+%8).;"ۦ艰 *[+N0pW H;@h" |2O@=Z{A|楡5n)PJdAb\ Ȁ|]1<0d& p咾a(1Zj|Rv#r Hj?. 'KY=ø[m6(i67tN+8P6KrT߯0281#^ . 'b/ o\$`1x'E:7hNx~f%{ZD0:օ՞+r#,-xxzO6.0WLmj /w 5=06 R{( /5A'Q#$@>6Ђ:du֩k~  8Ĭk>9V_^ŇJ#>Po'וw#(}w,h „}!Ĉ'Rq)P Ȑ"G,͓ WV(ia  8Ї.VYCNaA5q>:g ,r2^DzɴjײY% 8vԹs2d‚  yIa4eƍ? A" hdc4ԪW>%> ʙd6kVDr cU |R!4 Y 5\lQ͔)Uy1@sPax[a葇lQ݅RWpQ!hdD7 <`-Z"l!h N`eef\! `a>xwU\< )q(Rj%pAGCX&OWQFxufavTFhFѷ%^ [&UH1ŘFJ\$B^dp  P\pa)QGHBQFqFPPs@'%KFV\6` Hpmur ? n6@fБE~QGI١& `+_!aB,m <opP b`tuz0iQ 'Y46GJDz,JA!Q܁ ڀ*<0p;L%c] rRr;FHְ]Q|kؾ7Mʗ-ma"H vU2!hc f]8p- rD5sxs`0\a[Qp 0e ? mq _H/d}JajQވ%iY$$%:0ə >($$U .PȮ-OdfX4vA`# :d)Y\e:TFȃ$GYƙte A3K]MLi{]x@37H A~mذ1Ny& _n Jq6y8 N{a87K1%Iƛ0 /=E!@)y4t] 0ڙ yhx 8`Xў .J>7 f6,<0 4t: rE䞇V^ckd[ظwM?wc<y> 2E  C_ k`~ ȶ'80Xr pP^MWϵA N ^t X_OA@(e*x,Aџ@qED x c!TϡZ`ԁCAJ=!^OZ%٣ } <^eA|,X f\Ǥ4[\A]@m1>ahA; =((]TȚc/z܀ bբ ĘMLP"5bc6$Lf)܄#M=Jl ( D^<>u\"A Vs`@_|OH 0d8H>t\AĘA )r85^c 1aV$J"7֋fAXAyNMt:FHf O})QJ 0M[#`Z|) $&H( -0,5|A FF xQy%HA\T VgX@ Uʚ,KL^Mi(A{V曤AάܞiE_dK>4)_j1RJA@ | WL @@ܦdfJx ^?Q**htáakwnJpA*yxsVYO4(i xZ@ @X|#Z0!XQͅl: @Dc,@@hDi Рƣq@!oˆ E\Dp_tZkWtgB)m@HAn@@E@H^FLEEr%:Щ,։i.s%;2FўܨZDQж,i"l`PV #tDA \A-\H <f /$LVo-FYAD`SAnD/ Qr,mD8mp. o! gA2=$/=In A.An1فb跅Vox=Ac.Ďx&'w=nʝ1^{pDQ,Do&EH% :>G`*(Bm0Uh`%hJ @ 'fsA0Su] A9# /K 1bJ 4D X(9ޘ@%0Ap)f}-3373 (A%rjm m0jA1DUrA<WŢ@%-\rp>y DNMYqCCP1al{!^+1k1 4J4NļKacAlA<>K ,4F93AL[.<0TNQܱh 0@  O%ܨ%A G%C*Xlʗ1GlH^uvuu^LC$~dVjtO%9Ah\L@@eIpw fZ@ѵf|["),zAR\E?ܺc;Vb5H?AVqQO7\:8RD!JJ A@D@DJ|Ԙ@5v&f! ~ђ 2w~shLqwtkNuZrw Wx A`DPVy"~b UAkbFKm  b\5.M_2NJ8Rx" F+ΆW[6 w x |ASTH.ʡ D^jFD$A Hg z]n TQZ20pb9c/5Lux"BZm@ȺAAJI8`A}AHoEq X4x!s |ID[`\O0-| ʶrz: &%FٮA4ѬHvDj}A;xn ڊ9qo# D Ţa 8zao50>߮{ 'Q(q$LȌH@8ep %]$`ȟQ ջ@~K&{8AIATXp7XdoZ_tweʾnj:Gr8̩SO)gAE'§fx4*ukҠL&3\& 9p,5ױg*EQVGKh13YxƷq>ƐLY < 8u":jKS/`guSM6 ="XЦ`;}H֨B " )"B^ 4hh\hȅf4ȣYkx `#a :lTJב")"٤c*#8 #eu͌CkA_&(>x 6n~/ 5uǪo` ˽V - n `, )^:0@R` @4!$Pj`9p![  AQ~$ H67:ʏ7&6Lzc8Y p@ 4"4@ޘa@C>p?3)/ sGp8e-$ƶ=z[d= d  Rxэ jcdxCf D [D0?ZĂ d U D'p#XgtbEeP+ӗDۈ֐Z y(,!h3t!-:A0\S ; $ zhd`M)`¦5a!cr"@ @Љ7a{f@$؆0`͒!P 4 - t1Apg31n-m1dڙ8D%Dm ,@>= |`b+ lI*6jz@CJ'̉ ,@~m; Ҙ@!_DwItc*&k'RzK b-FpRqKJ&6\u^ p;l 2amEƩp /kUm6Ayb |7`HGp NxWd}@~h,Z03˲ Dl@ _\@;$m^ *^w CҧiCƠ"|"Ci6h!Ad,iA1T1)p]IB@ axSβ܋;hH(p\D.,`W cC,2e2t5`+)dxPr~v;0^ rn#$Q0?OJU#4R- NF #!xC|O h ~P/Œ+ 񳝃&9avB`&9aL=Qޟ;2 'w >mʨH#8`2 $qU47kdk% hR/:,K+6d;Z.v6dՍƻ´l҆:|\ze9Fc)BcsQ^p=٠>*嵔/N\wj*Hs``gЕ)` sP1p==.[`nn{.nq A^VL8Ρ@ %<Ǵ_tΉf(}-9Q;! & !}#`V D5F@ *$~N0B]; :oL`<,eX&z| "v8 ޏȪiEw   oj b @{l.bgjf|` @ Ub2Z:P;(jlnj2 &nf y6o`N#o$̣^^<x4 D2 H@.@&B #Z`O5"E UB0p 薋WT`mPQZ"#N N. 14^`$ 1 SJ,؎Lb8|` Ȓ)@!4N"  QX l njk(åhb.b 4< Ա[ 2`, 2#t 4?I  Q` j (頒r(tDX^{2R^#;2 B>B R,ʑ ` ʑ͂q0KK I G` L# Qн |j`Re(bneG-2>D-dg~)NI ,d% /,z30ʾ?Q ,2=kl` / 4 >DtVS&j^"D'q37&#8/  @4 9a`@2cNf, 0 J u"@` @ s= (ddsJ5g5tHp['p@!S Ƙ0@:7@ @3AJAy`T <  >04"`6+u ڠ˂%PU dJS\'# ހ `Z G? D&I;+Œ+0CHr8p62X@"΀ | 28QVKLtMLG4AASFnsF V 8c}5 X2j`C/e&ZV@^f bA Y%" pvjFZQ0g3Hנmin;Vn?6dJuv?<5Ȕ .v%ݠ5Nt  ]b0ľ4ZQSKS7tF%P*@ĢX`L,@5MWIW a :b.2C lm䫂 ~׸n W tGyr@z b4n3"E2JuQuBþG}Ol i 5C0;L)%6쟈@HWWbM*,4BU v6jCzPVDr7:dw5 @ -Qx?fW2z]xXOUDP~6Q4A-wS+ _G&@=]kFP 'XW6*(gU~`^$aJw,`{ .w+8nɀnsW^x0 0.  lY pp=}u=C_i%<`@md,*|͆I`3;)KlmE46tC`Rnk6@gQ2Z0zbh1|4u=WxTwlL)9IPϔ O3j"^I]km?sӡ d`D() 3 C p y3(Zn9Rϊ/F`T `c`M { ˪2k{ wrAC ?۟O ` `(Mjm;ZIt bЖ(ɚ*ncm{ ' D6;8GʴU;ꢪQ Ć#3`lRu'" ӬbvInd:0DDM^yߔd}, {ں{R* hd(_O;W[绾cW:XbL`&@SJ,|6|1g !` {5 O  ԥ {i*<<*4 @ );kHx`XJρ` }1CEHZnѠ2A\U[gHoY\ e *&TD,qȑBmɠRKG nöc` `a;Ǽ^'͡}n >Vs|χ}<ɧǢ ^\b|#/}xa- aPԯ!rt+b8 ! &@(vO{0>.}I?>U~}Y ũ [ʢB' fi=P `TL@d0@ksCr ]JgE(b+e @ tjlͭͧ[~(!%~ȼOf3pdo_B/^ XI`(^IcҖo^>e>\^L}~ fŹ [Ps0ߡB6j$n F^QW [LD`U6k  JA˜P8{B8f%2hzgCG``_p ;a$… :|1,| 1ƍ;z#8xH<2ʕSʼn̙4kڼ3)SjGСzݓGL2ɒ80?Bs5(…HrX 7ܹt5-",&\  )q);9;N2||%f;{v(eg<]%j-Yy=٣gxؘpY܁c,C`xa8p C ˛/?P(0 .F 0 U9Ry ( iQpl!lna~!QzA|Ax\Qa]!R`cC! 7y< ,Xl-PH!'@Pٚ)f&{eXag@:w7@ {Pal7:H5 VѲr@@ s ChEM΂`15"!^1b7A7gp)tCv!,ȷ |~A=^y=MKɐOЄdN)pBRfY$X6 g»0th  WoK+ ̤p}RXAD4rpDvg8gҨgx'rSÄf݄DBQĀ L$ 2qp\,'W7rp1 jPz utJ S:9m hXD0՞E+V<0)K&L{Fk0"/19а+?%S`h rrW6c%l .c `6qx^Z h0jh3;IT X`ha`2OGM #zRt~ode*؁"c؉ `]-o?o1ׯィrH\0vg?J qtf`qP`F>5owZ.,}4jPyi8-AuAOd]@vo@`d7pgwr`(S8؁5`g'HałGt1G\,?)@/h"GFrGBD((\gdHۆ!0fiTUȁeIs tA6<%4}gOzc^(@5F 1gyGvn$_Ef#: Kv}|xL0t )(`D"{xF`ȍ1`7Gq!E*@NPp,RYRp<\Vlbpp{ $gSw|؇Rs݈]`?#Tx N@4@`JHTpA*Kԑo%d>1zf?2cHudyy` sٍ[Sh/}&HpN@wq`2ɂLC~sqScFP$@bvpa7s1Hyb~ʸZS\0Q(Hs#|Z8%QN@6a5=$1&wDSs#D!<}0EY_@wx~tLg$f_rqFz3X@@N 81jГs@ 1PS`H{)&P'fIHDbp@ yUr'"*0NPМ 0EZŝ{䑆|@״t)(c]xbV* @Pzy-Bbz@x4.p JzmoE_DP^QLjHH2_ @| sL$_9*ZzC"B!q AlnP*Z.Q3LcTJ=uvkPHevJ[x.T,YvA׆J-0b pg\$1JTiGI,oĩ_Y.x3\y>qG׶H$JB59@! s,@ʇ;.zxffY1yc27zIzAeHڭ4 0&4VE5CZ2gB(D^HWm!"1cʘ2*.tq G&[ 3dZ(R>'hrЦc{l0ujVwVz#D>[,f KhH+1rZ&5?EfOee@o y dosd, 3mK_KWpMxBH{U,|o@Lei~YZ <$T7z`d+ [(pZk]pBCDZЛY2EaxHfi \!EqC 5۽e63 qn3@H$0[.Qh1/,@ۨ c+8 &ƿ$hF% ,mS`Rv(ڧeT @fx_/Ptpd\C81cjN0^ ۨid~3,]o\էK}a`[ 2/N׉DA8F;4qYӰp ǭBt\[G;9lp,؊v}@D z  l7a0Zd\,}E{î^+Rپ2QB!^@QQ88yA;/ 1=Պ!!)&(0 CXplgt1FrSPz1K`\E%pdi/S2< 7r`.+:u1-.wZ ɍ@C1W:E:QT%Պ=}MQ(vM21/%[) +А{`p֗JC :Mus:]3v#ׯlDpJQG/5zmzѹl}`1} >Ő4/@͛>֪: M8RPҺk+fPBK5jۉی]DPhcm}}@QfKФ3aj]@ju Kۍ4sR ipjTV%{.mI0P <@<!`J3\ >,x]5P>'&2WZ1bkp s,^!x@FT[\-KJ5 DN"(\t-^}1^} xP8^'C:5P1gBg0㾎@ٔ}l;gJ];$,%:HRòZPfp?Ş9W>OsH'|"l'hs/l?v"$$Z<f0G|y:>˩|&k*Ϻy`mY$uh[tJSR/1VI{ٽ:oW"[H=^,LE,+^{]lrNs<Sm`|6T(`,`2 gizy gKZEݕ3u_ htH.#~<*P:N"v(a$&2 ^.ʮrnX໘ @%Vn*U,ƒ,ʒR(JXEq"]sJhiʔ%& .\ $NI&L`7rK;a8a)Uh f4mtƉcOuQI.eS,IUV)WaŎFOTH۷exH]y_&\0r`ҥ˙3rL~&@0_LXa&~l`'j1ViL4m9fkܹuv'WwxXɿ=ir ow"G?YǑ'sG,~`Ah9 4|-:*bc0,T* >ޘì3DSTqEh` C$"b .~6@n Ž4TD:;"sO>0$($.@0MH*8< Ҩctp! HA T6-ҵs2W` hL`A$"P(q VPA}Z:`[1`ԅ *30CYe5GqwW4sXxL{v0'4vkeSl >+/"٪+xxt Pp_#iD_% i#7%xPH~R R la7`&"X! Po $l0A "Yj%ZB QJ.8`` +8;QF)B sLtkcсJd&X\g̓uGAWDoSьfHް"l xLp$yB0 C [S b`{}nj&l_=Dl 0أPDS 0 5^fdGQuK BJ x``~ {.л/B~@;o.0j <{! @D!ػ o7fsFBdѐB嫇StCL^wڠs4׍^+Y(0=TPlM7ꝟ FK07pamPɴhiX~_oaO| 5q>'؂8@H{a,28( %03XCJܛc; 0/;&5xꋃ-0P' "T 4 2x:@3`5( /2P0<,@:K=_i!*)@5? A8h.'H"qcd#330,8h*>#!`;<37 *sR>1ȁBHd04;@ۋI-D 8Pj   S)4Ȍ|**y +X:NR%4?,㩁/̋Df\ ?CƥB. )٪'0{{ @.x728!gÂ83 BZc$f  Bh ȁF 5 8- 0 0D0 PX6R:|{/[ ъ"jI:@PG$ D*+Q![59 @=;HL \3Jl ;>7 $ ؛d*2K?) ؀Ā!Xc L PH ;p(<<)$Ǻ ؉ ϱA,PO xL,*N4*@7`m%N< hD QP=5,D5QL h>Y.$y.z;}&E PD\-R6]K;P} X!w*S036-KB)Q P7:OP.HC)@;؂!L SՁ5Xİ18R) A@-56 1˘ LʩWUi]F1҇*7tU6@3H%FʨɜVt% -mPP+. @5"R*ғ{t׿ӌ˪- <Hh K+W<7ؽȀuO =U'>Y1Dv'XRi+w($X%Y*vTR mS!bX7~ّEՠ)֟PX|g0\CU=>]3ٴU5ܱ%V@)P*C^(׻M/PSYY&ވ,_xP+XFVUЂW3pzQiUނ%`C1 x1Ti-aè/[E\ FpȯLZ Kxy`tU݈ 4V4^x=] _aiahk:PÁd`%Uu,~h%S6,&Uإy$P]gzN]EJ6N-,3cx$]݀ 1b=:Ù\\D6.v bu| 6@e.܈5+<7@ee51)PH+$~OZ.Ԝݪ˦He/0H1@R.f^I7>-HBcZn.X/dlnȁ[AvT^gƀ[tm^_|]- )Hhh d~h5h'`:hң#CAD/h!ْ^Q7Ud h iiiijj.j>jNj^jnj;MapUSA iAnetdemo 03/02/2510:25:44Untitled Untitled States iAnetdemo  Delaware New Jersey Washington D.C. Maryland New Jersey Delaware Rhode Island Puerto Rico Hawaii Alaska Michigan Michigan Virginia Washington D.C. Oklahoma Kentucky Delaware New Jersey Connecticut Rhode Island Idaho Nevada Arizona Utah New Mexico Texas Kansas Nebraska South Dakota North Dakota Wyoming Colorado Alabama Wisconsin Illinois Louisiana Arkansas Missouri Georgia South Carolina North Carolina Tennessee West Virginia Indiana Ohio New York Pennsylvania Maine Oregon Washington Montana Minnesota Iowa California Mississippi Maryland Vermont New Hampshire Massachusetts Florida States iAnetdemo 03/02/2511:26:43Untitled Untitled TXTSample iAnetdemo sJust plain text Line 1 Line 2 Line 3 TXTSample iAnetdemo 03/02/1813:57:38Untitled Untitled Tabs iAnetdemo  Tabs iAnetdemo 03/02/2510:39:31Untitled Untitled XMLSample iAnetdemo X Hand Tools Hand tools and accessories 15% Corded Corded Electrical Tools 25% Wireless Wireless (battery driven) Electrical Tools 35% XMLSample iAnetdemo 03/02/1811:37:42Untitled Untitled z>testxml iAnetdemo z 50 1 1 Unspecified Character 0 Action Left False False False False LeadingSign Action Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Align Left False False False False LeadingSign Align Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Autoload Left False False False False LeadingSign Autoload Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Mnemonic Left False False False False LeadingSign Mnemonic Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Bold Left False False False False LeadingSign Bold Standard XML Container component. 2003-02-17T01:27:10 50 1 1 Unspecified Character 0 Checked Left False False False False LeadingSign Checked Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 ColumnId Left False False False False LeadingSign Column Id Standard XML Container component. 2003-02-14T02:20:26 9 1 1 SignedNumeric Character 0 Count Left False False False False LeadingSign Count Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Direction Left False False False False LeadingSign Direction Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Element Left False False False False LeadingSign Element Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Enabled Left False False False False LeadingSign Enabled Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Event Left False False False False LeadingSign Event Standard XML Container component. 2003-02-14T03:58:20 50 1 1 Unspecified Character 0 EventSubset Left False False False False LeadingSign Event Subset Name Standard XML Container component. 2003-02-14T02:20:26 250 1 1 Unspecified Character 0 Filename Left False False False False LeadingSign Filename Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 ForceChild Left False False False False LeadingSign ForceChild Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Frame Left False False False False LeadingSign Frame Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 HasChild Left False False False False LeadingSign HasChild Standard XML Container component. 2003-02-14T04:00:01 9 1 1 SignedNumeric Character 0 Hits Left False False False False LeadingSign Hits Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Id Left False False False False LeadingSign Identifier Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 IsParent Left False False False False LeadingSign Is a Parent Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Label Left False False False False LeadingSign Label Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Level Left False False False False LeadingSign Level Standard XML Container component. 2003-02-14T03:59:00 50 1 1 Unspecified Character 0 Mnemonic Left False False False False LeadingSign Mnemonic Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Select Left False False False False LeadingSign Select Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Sort Left False False False False LeadingSign Sort Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Style Left False False False False LeadingSign Style Standard XML Container component. 2003-02-14T02:20:26 50 1 1 Unspecified Character 0 Subset Left False False False False LeadingSign Subset Name Standard XML Container component. 2003-02-14T02:20:26 testxml iAnetdemo 03/02/2113:49:07Untitled Untitled testxsl iAnetdemo  testxsl iAnetdemo 03/02/2113:43:13Untitled Untitled iiiDebug EAnetdemo 2Jc "6++ DebugViewIntro+)4Debug EAnetdemo 03/02/1813:16:06Untitled Untitled vvvDebug EAnetdemo 00 3.?oIF * = *NO THEN. SCREEN *RENDER "DebugView" *SUBSET= "Intro"ENDIFDisplayXML EAnetdemo NQTW8QTk+++0 xcNetViewtmp DebugEventTrue+++Z.xml+J+Ktmp+Ktmp+K ++/Jtmp/uim/NetView/Content@tmp+Ktmp++ DebugViewtmp+Jtmp4,2 2 xcSubset xcFilename DisplayXML EAnetdemo 03/03/0314:17:01Untitled Untitled DisplayXML EAnetdemo 0017J\ 1EdEXPECTS xcSubset$NOTE --- Display the XML in NetView:9VISIT xcNetView "tmp" "DebugEvent" L-xcFilename "" "True"1NOTE --- Insert Subset Content into Creation XML:L-xcFilename = *TEMP ".xml""XML *WRITE L-xcSubset L-xcFilenameTEXT *BUFFER "tmp"TEXT *LOAD "tmp" L-xcFilenameTEXT *REMOVE L-xcFilenameAXML *INSERT "tmp" *ELEMENT= "/uim/NetView/Content" *BUFFER("tmp")TEXT *RELEASE "tmp")SCREEN *RENDER "DebugView" *SUBSET= "tmp"XML *CLOSE "tmp"Render EAnetdemo (|.QTvy2lrux+++Ktmp+Ktmp Data++" LoadFromFile5+++ sample+LogPath/web/+K + http://*I/bptmp/++" LoadFromUrl5++++)+++Ktmp+: xcNetView NetViewData NetViewEventTrue++++: xcNetView NetViewData NetViewEventTrue+7J NetViewData/uim/NetView/Content@tmp+)+++  File+  Url+ File Url+++NetView NetViewData+++" Debug5+(+ DisplayXML NetViewData+)42 2 , xcLabel xcFilename xcUrl Render EAnetdemo 03/02/2510:57:38Untitled Untitled Render EAnetdemo 0040x )vA`~E;Y3NOTE --- Display a content / file / url in NetView:/NOTE --- Put Data field contents into a buffer:TEXT *BUFFER "tmp"TEXT *RAW "tmp" S-DataIF S-LoadFromFile = *YES THENK NOTE --- Save Page Content to file and ask NetView to display that file: L-xcLabel = "sample"3 L-xcFilename = *ENV("LogPath") "/web/" L-xcLabel TEXT *REMOVE L-xcFilename; L-xcUrl = "http://" *TRIM(*SERVERID) "/bptmp/" L-xcLabel IF S-LoadFromUrl <> *YES THEN NOTE --- Load from file L-xcUrl = L-xcFilename ENDIF NOTE --- Write data to file:( TEXT *WRITE *FILE= L-xcFilename "tmp"A VISIT xcNetView "NetViewData" "NetViewEvent" L-xcUrl "" "True"ELSE' NOTE --- Load Page Content into XML:< VISIT xcNetView "NetViewData" "NetViewEvent" "" "" "True"L XML *INSERT "NetViewData" *ELEMENT= "/uim/NetView/Content" *BUFFER("tmp")ENDIFNOTE --- Show the files used:S-File = L-xcFilenameS-Url = L-xcUrlSHOW *REFRESH S-File S-UrlNOTE --- Render the content:/SCREEN *RENDER "NetView" *SUBSET= "NetViewData"NOTE --- Display the XML used:IF S-Debug = *YES THEN! VISIT DisplayXML "NetViewData"ENDIF444RenderMap EAnetdemo FILO .+++; xcNetView NetViewData NetViewEventFalse+7J NetViewData/uim/NetView/Content@Map+++NetView NetViewData+++" Debug5+ + DisplayXML NetViewData+)4RenderMap EAnetdemo 03/03/0314:17:29Untitled Untitled RenderMap EAnetdemo 0013Bw$Bs3NOTE --- Display a content / file / url in NetView:$NOTE --- Load Page Content into XML::VISIT xcNetView "NetViewData" "NetViewEvent" "" "" "False"IXML *INSERT "NetViewData" *ELEMENT= "/uim/NetView/Content" *BUFFER("Map")NOTE --- Render the content:/SCREEN *RENDER "NetView" *SUBSET= "NetViewData"NOTE --- Display the XML used:IF S-Debug = *YES THEN! VISIT DisplayXML "NetViewData"ENDIFRenderUrl EAnetdemo Z]`TZ]`cf++" AutoLoad5++ True++ False+)++: xcNetView NetViewData NetViewEvent Url++" UseHistory5+ +AJ  NetViewData/uim/NetView/Navigate/@HistoryTrue+)+++++NetView NetViewData+++" Debug5++ DisplayXML NetViewData+)422 xcAutoLoad RenderUrl EAnetdemo 03/02/2415:15:27Untitled Untitled GGGRenderUrl EAnetdemo 0023V"?@)NOTE --- Display a file / url in NetView:IF S-AutoLoad = *YES THEN L-xcAutoLoad = "True"ELSE L-xcAutoLoad = "False"ENDIFBVISIT xcNetView "NetViewData" "NetViewEvent" S-Url "" L-xcAutoLoadIF S-UseHistory = *YES THENN XML *MODIFY "NetViewData" *ELEMENT= "/uim/NetView/Navigate/@History" "True"ENDIFNOTE --- Render the content:/SCREEN *RENDER "NetView" *SUBSET= "NetViewData"NOTE --- Display the XML used:IF S-Debug = *YES THEN! VISIT DisplayXML "NetViewData"ENDIFnetdemo_NetEvent EAnetdemo 9Oq58;x 6>AD[^  *-0Lntwz+++" Debug5++  DisplayXML NetViewEvent+)++"ViewMap+++:J NetViewEvent/uim/NetView/Navigate/@URL+"bp://++; xcNetView NetViewData NetViewEventFalse++NetView NetViewData++++9 1+ StateCode+  Url+ StateCode Url+++: xcListViewSel ListViewSel ListViewEvent+States ListViewSel++)++9BViewURL+9++:J NetViewEvent/uim/NetView/Navigate/@URL+++*(3Do you want to navigate to: +/+++ "i 2+8++; xcNetView NetViewData NetViewEventFalse+" UseHistory5+++AJ  NetViewData/uim/NetView/Navigate/@HistoryTrue+)+++NetView NetViewData+++" Debug5+3+ DisplayXML NetViewData+)+++  Url+ Url Url+)+)4   xcUrl xcCount netdemo_NetEventEAnetdemo 03/03/0215:01:34Untitled Untitled fnetdemo_NetEvent EAnetdemo 0057;BZ<m6`wT^zH} 6}4k#:U_?NOTE --- We will not get to this function if AutoLoad = "True"."NOTE --- Display the XML returned:IF S-Debug = *YES THEN" VISIT DisplayXML "NetViewEvent"ENDIFIF V-View = "Map" THEN) NOTE --- What URL does the user want?:J XML *READ "NetViewEvent" *ELEMENT= "/uim/NetView/Navigate/@URL" L-xcUrl" IF L-xcUrl[1,5] <> "bp://" THENE VISIT xcNetView "NetViewData" "NetViewEvent" L-xcUrl "" "False"/ NOTE --- Tell NetView to process the URL:5 SCREEN *RENDER "NetView" *SUBSET= "NetViewData" ELSEF NOTE --- Extract the Id from the link selected (last two chars): LENGTH L-xcUrl L-xcCount L-xcCount = L-xcCount - 1( S-StateCode = L-xcUrl[L-xcCount,2] S-Url = L-xcUrl% SHOW *REFRESH S-StateCode S-Url0 NOTE --- Select the State in the ListView:L VISIT xcListViewSel "ListViewSel" "ListViewEvent" L-xcUrl[L-xcCount,2]4 SCREEN *RENDER "States" *SUBSET= "ListViewSel" ENDIFELSEIF V-View = "URL" THEN) NOTE --- What URL does the user want?:J XML *READ "NetViewEvent" *ELEMENT= "/uim/NetView/Navigate/@URL" L-xcUrlU NOTE --- Is this demo we just want to show that we can track / verify page clicks:3 *ERROR = "3Do you want to navigate to: " L-xcUrl ERROR *ERRORc NOTE --- and optionally display the desired URL or do nothing (or take the user somewhere else): IF *ERRSTAT <> 2 THEN' NOTE --- Proceed with navigation.E VISIT xcNetView "NetViewData" "NetViewEvent" L-xcUrl "" "False"! IF S-UseHistory = *YES THENT XML *MODIFY "NetViewData" *ELEMENT= "/uim/NetView/Navigate/@History" "True" ENDIF/ NOTE --- Tell NetView to process the URL:5 SCREEN *RENDER "NetView" *SUBSET= "NetViewData"$ NOTE --- Display the XML used: IF S-Debug = *YES THEN' VISIT DisplayXML "NetViewData" ENDIF< NOTE --- Update Url Display (as if we were a browser): S-Url = L-xcUrl SHOW *REFRESH S-Url ENDIFENDIFHHHnetdemo_Setup EAnetdemo 03+ Tabs Tabs4netdemo_Setup EAnetdemo 03/02/2114:57:53Untitled Untitled vvvnetdemo_Setup EAnetdemo 00 2,`2NOTE --- Let the tabs render whatever it wants to:SHOW *REFRESH S-Tabsnetdemo_TabEvent EAnetdemo $tw0M` )<\o+5J TabsEvent/uim/TabView/Item[1]/@Id++ View++"URL+ +Detail UrlDetails+ http://www.google.com Url+5 AutoLoad+ AutoLoad AutoLoad+ RenderUrl+$BMap++Detail MapDetails+ RenderMap+$+++Detail PageDetails++"HTM++@HTM Data+BXML++@XML Data+BTXT++@TXT Data+BJava++@Java Data+++)++ Data Data+++ Render+)422 xcId netdemo_TabEventEAnetdemo 03/02/2510:55:21Untitled Untitled netdemo_TabEvent EAnetdemo 0036pCYv)Dc(4>WuNOTE --- Read the event XML:AXML *READ "TabsEvent" *ELEMENT= "/uim/TabView/Item[1]/@Id" L-xcIdV-View = L-xcIdIF L-xcId = "URL" THEN# SCREEN *PANEL= Detail UrlDetails" S-Url = "http://www.google.com" S-AutoLoad = *YES SHOW *REFRESH S-AutoLoad VISIT RenderUrlELSEIF L-xcId = "Map" THEN# SCREEN *PANEL= Detail MapDetails VISIT RenderMapELSE NOTE --- Display details:$ SCREEN *PANEL= Detail PageDetails IF L-xcId = "HTM" THEN S-Data = *BUFFER("HTM") ELSEIF L-xcId = "XML" THEN S-Data = *BUFFER("XML") ELSEIF L-xcId = "TXT" THEN S-Data = *BUFFER("TXT") ELSEIF L-xcId = "Java" THEN S-Data = *BUFFER("Java") ELSE EXIT ENDIF SHOW *REFRESH S-Data NOTE --- Render the data: VISIT RenderENDIF,,,netdemo_source EAnetdemo jux{ -Qj $HKNQo 0<+++4 xcNetViewIntro NetViewEventTrue+3JIntro/uim/NetView/ContentEIntro+++JTabsTabs++++KHTM+!KHTM HTMSample+KXML+!KXML XMLSample+KTXT+!KTXT TXTSample+KJava+#KJava JavaSample+KMap+!KMap MAPSample++++KMapImage+#KMapImageMapUSA+#!LogPath/web/map.gif+KMapImage+++JStatesStates4 xcFilename netdemo_source EAnetdemo 03/03/0214:59:07Untitled Untitled netdemo_source EAnetdemo 0031fr6Ss CX;m *DELAY = 0HNOTE --- Prepare Intro Page (i.e. load blob "Intro" into NetView subset:3VISIT xcNetView "Intro" "NetViewEvent" "" "" "True"CXML *INSERT "Intro" *ELEMENT= "/uim/NetView/Content" *BLOB("Intro")NOTE --- Get data for tabs:XML *OPEN "Tabs" *BLOB= "Tabs"#NOTE --- Get data for page samples:TEXT *BUFFER "HTM"#TEXT *LOAD "HTM" *BLOB= "HTMSample"TEXT *BUFFER "XML"#TEXT *LOAD "XML" *BLOB= "XMLSample"TEXT *BUFFER "TXT"#TEXT *LOAD "TXT" *BLOB= "TXTSample"TEXT *BUFFER "Java"%TEXT *LOAD "Java" *BLOB= "JavaSample"TEXT *BUFFER "Map"#TEXT *LOAD "Map" *BLOB= "MAPSample"ANOTE --- Export GIF from Blob for Map Demo (LogPath must be set):TEXT *BUFFER "MapImage"%TEXT *LOAD "MapImage" *BLOB= "MapUSA"0L-xcFilename = *ENV("LogPath") "/web/" "map.gif"*TEXT *WRITE *FILE= L-xcFilename "MapImage"%NOTE --- Get a ListView of US States:"XML *OPEN "States" *BLOB= "States"xcListView EAnetdemo \_be.6W]`cy+++Jbpxml+J/uim+JListView+J@Action+ J @EventSubset++ "+ +J@Style++J@StyleMCLB+)+++ "++J @SortColumn+)+ "++"J@SortDirection+)++JColumns4,2 22 d2 2 2 2 xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection xcListView EAnetdemo 03/03/0215:03:23Create ListView Create basic subset for ListView. Standard XML Container component. xcListView EAnetdemo 0024XR!V] OVFEXPECTS xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetIF L-xcStyle <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Style" L-xcStyleELSE3 XML *INSERT L-xcSubset *ELEMENT= "@Style" "MCLB"ENDIF,NOTE --- Optional initial column to sort by:IF L-xcColumnId <> "" THEN> XML *INSERT L-xcSubset *ELEMENT= "@SortColumn" L-xcColumnIdENDIFIF L-xcDirection <> "" THENB XML *INSERT L-xcSubset *ELEMENT= "@SortDirection" L-xcDirectionENDIF*XML *INSERT L-xcSubset *ELEMENT= "Columns"000xcListViewCol EAnetdemo ?TLORU"+++'J /uim/ListView/Columns+++JColumn+J @ColumnId+J@Title+++J@Sort++J@Align++J@Width4,2 22 d2 2 2 2 xcSubset xcColumnId xcLabel xcSort xcAlign xcWidth xcListViewCol EAnetdemo 03/03/0215:03:23Add a Column Add column details to ListView subset. Standard XML Container component. xcListViewCol EAnetdemo 0016H+c Bu:EXPECTS xcSubset xcColumnId xcLabel xcSort xcAlign xcWidthNOTE --- Position at Columns:+XML *KEY L-xcSubset "/uim/ListView/Columns"(NOTE --- Add column details to ListView:/XML *INSERT L-xcSubset *ELEMENT= "Column" *DOWN6XML *INSERT L-xcSubset *ELEMENT= "@ColumnId" L-xcLabel3XML *INSERT L-xcSubset *ELEMENT= "@Title" L-xcLabelNOTE --- Sort: Text, Number1XML *INSERT L-xcSubset *ELEMENT= "@Sort" L-xcSort#NOTE --- Align: Left, Right, Center3XML *INSERT L-xcSubset *ELEMENT= "@Align" L-xcAlign1NOTE --- Width in percent of total display width:7XML *INSERT L-xcSubset *ELEMENT= "@Width" L-xcWidth *UP000xcListViewItm EAnetdemo exX[^a4V\_b+++J  /uim/ListView+++JItem+J@Id+++ "+ +J@Select+)+++JValue+ "++J Value/@Sort+)+++42 22 d ^2 2 xcSubset xcId xcValue xcSort xcSelect xcListViewItm EAnetdemo 03/03/0215:03:23Add a List Item Add item details to ListView subset. Standard XML Container component. xcListViewItm EAnetdemo 0022TKw(@|-EXPECTS xcSubset xcId xcValue xcSort xcSelectNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId*NOTE --- Optionally, select the list item:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIF NOTE --- Add first column value:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.7NOTE --- Use xcListViewVal to add futher column values.xcListViewMod EAnetdemo @CFIknq+++J  /uim/ListView+++JItem+J@Id+JValue+#JValue/@ColumnId42 22 d2  xcSubset xcId xcColumnId xcValue xcListViewMod EAnetdemo 03/03/0215:03:23Modifiy List Item Modify single column on sinlge item in ListView. Standard XML Container component. xcListViewMod EAnetdemo 0010<f.b(EXPECTS xcSubset xcId xcColumnId xcValueNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValue?XML *INSERT L-xcSubset *ELEMENT= "Value/@ColumnId" L-xcColumnIdxcListViewSel EAnetdemo ( DGJMg+++Jbpxml+J/uim+JListView+!J@ActionSelect+ J @EventSubset+JItem+J@Id++42 22 d2 xcSubset xcEventSubset xcId xcListViewSel EAnetdemo 03/03/0215:03:23Select List Item Create subset to select an item in a ListView. Standard XML Container component. ,,,xcListViewSel EAnetdemo 0012@eL#EXPECTS xcSubset xcEventSubset xcId'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Select"?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId?NOTE --- Add more Item elements to perform multiple selections.,,,xcListViewVal EAnetdemo BEHKNQm+++++JValue+ "+ +J Value/@Sort+)++4^2 2 ,2 xcSubset xcValue xcSort xcListViewVal EAnetdemo 03/03/0215:03:23Add List Item Value Add another column value to a ListView. Standard XML Container component. ~~~xcListViewVal EAnetdemo 0011>_8?EXPECTS xcSubset xcValue xcSort.NOTE --- XML Key should already be positioned.NOTE --- Add value to ListView:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.xcMenubarUpd EAnetdemo ,fil4RX[^t++Jbpxml+Juim+JMenubar+!J@ActionUpdate++JItem+J@Id+++"True++J@Parent+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcLabel xcIsParent xcChecked xcEnabled xcMenubarUpd EAnetdemo 03/03/0215:03:23Update Menubar Update Menubar. Standard XML Container component. xcMenubarUpd EAnetdemo 0029b'\$`gKRw "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Check Mark:IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFxcNetView EAnetdemo dgjmp#&)DGdgj++++Jbpxml+J/uim+JNetView+!J@ActionCreate+ J @EventSubset+JNavigate+++J@URL++J@Frame+++J@Header+J @PostData+++!J@HistoryFalse+++"J@AllowAutoLoad+++42 22 d ^2 2 xcSubset xcEventSubset xcFilename xcFrame xcAutoLoad xcNetView EAnetdemo 03/03/0215:03:23Populate NetView Create default subset for NetView. Standard XML Container component. oxcNetView EAnetdemo 0028`'YRo3p"XML *INSERT L-xcSubset *ELEMENT= "@AllowAutoLoad" L-xcAutoLoadKNOTE --- Caller can add content or modify above values after this function.xcNetViewPrt EAnetdemo <?BEHb{++++Jbpxml+J/uim+JNetView+ J@ActionPrint422 xcSubset xcNetViewPrt EAnetdemo 03/03/0215:03:23Populate NetView Create default NetView Print subset. Standard XML Container component. ,,,xcNetViewPrt EAnetdemo 00 88JpEXPECTS xcSubset$NOTE --- Issue NetView Print action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN2XML *INSERT L-xcSubset *ELEMENT= "@Action" "Print"xcNetViewPrv EAnetdemo <?BEHb{++++Jbpxml+J/uim+JNetView+'J@Action PrintPreview422 xcSubset xcNetViewPrv EAnetdemo 03/03/0215:03:23Populate NetView Create default NetView Preview subset. Standard XML Container component. :::xcNetViewPrv EAnetdemo 00 88JwEXPECTS xcSubset+NOTE --- Issue NetView PrintPreview action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN9XML *INSERT L-xcSubset *ELEMENT= "@Action" "PrintPreview"LLLxcTabView EAnetdemo :=@Zs++Jbpxml+J/uim+JTabView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTabView EAnetdemo 03/03/0215:03:23Create TabView Create default subset for TabView Create. Standard XML Container component. ___xcTabView EAnetdemo 00 76_'EXPECTS xcSubset xcEventSubset xcAction%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "TabView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTabViewItm EAnetdemo oTWZ{~!'*@`fi++J  /uim/TabView+++ "++JItem+J@Id+J@Label+++ "++J@Select+)++ "++J @Mnemonic+)++)42 22 d2 2 2 xcSubset xcId xcLabel xcMnemonic xcSelect xcTabViewItm EAnetdemo 03/03/0215:03:24Add Tab Item Add Tab Item to TabView. Standard XML Container component. xcTabViewItm EAnetdemo 0020P ?w ,q{1EXPECTS xcSubset xcId xcLabel xcMnemonic xcSelect"XML *KEY L-xcSubset "/uim/TabView"NOTE --- Insert Tab Item:IF L-xcLabel <> "" THEN0 XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel0 NOTE --- Optionally, select a tab as default: IF L-xcSelect <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelect ENDIF IF L-xcMnemonic <> "" THENC XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonic *UP ENDIFENDIF,,,xcTabViewSel EAnetdemo ltNQTWZ]Hcfi+++++%J /uim/TabView/Item+C 1 + C  +*(/uim/TabView/Item[ ]/@Select+J False+ +++1//uim/TabView/Item[@Id='* ']/@Select+J True+++42 22 d  m  v2 xcSubset xcId xcHits xcCount xcElement xcTabViewSel EAnetdemo 03/03/0215:03:24Select Tab. Make a specific tab current. Standard XML Container component. xcTabViewSel EAnetdemo 0017Ja#`4xEXPECTS xcSubset xcId/NOTE --- Set a default tab in a TabView subset.NOTE --- Unselect all tabs: "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Label:IF L-xcMnemonic <> "" THEN< XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonicENDIFNOTE --- Update Selected:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIFxcToolbar EAnetdemo FP FILOi&+++Jbpxml+J/uim+JToolbar+J@Action+ J @EventSubset+++J@WrapTrue+J@ListFalse+J@FlatTrue42 22 d2 xcSubset xcEventSubset xcAction xcToolbar EAnetdemo 03/03/0215:03:24Create Toolbar Create basic subset for Toolbar. Standard XML Container component. mmmxcToolbar EAnetdemo 0013BkS <'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetCNOTE --- Caller can modify the following values prior to rendering:/XML *INSERT L-xcSubset *ELEMENT= "@Wrap" "True"0XML *INSERT L-xcSubset *ELEMENT= "@List" "False"/XML *INSERT L-xcSubset *ELEMENT= "@Flat" "True"xcToolbarBtn EAnetdemo behkn.LRh++++J  /uim/Toolbar+++JButton+" Separator+ +"J @SeparatorTrue++J@Id+ "++J@Bitmap+)+ "++J@Label+)+ "++J@Tooltip+)+)+"True++J +)++4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcTooltip xcUp xcToolbarBtn EAnetdemo 03/03/0215:03:24Add Toolbar Button Add button details to Toolbar. Standard XML Container component. xcToolbarBtn EAnetdemo 0027^Np;Ea -IP5EXPECTS xcSubset xcId xcBitmap xcLabel xcTooltip xcUp9NOTE --- L-xcBitmap is the name of a blob or "Separator"."XML *KEY L-xcSubset "/uim/Toolbar"'NOTE --- Add Button details to Toolbar:/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN IF L-xcBitmap = "Separator" THEN7 XML *INSERT L-xcSubset *ELEMENT= "@Separator" "True"ELSE0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId IF L-xcBitmap <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmap ENDIF IF L-xcLabel <> "" THEN9 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel ENDIF IF L-xcTooltip <> "" THEN= XML *INSERT L-xcSubset *ELEMENT= "@Tooltip" L-xcTooltip ENDIFENDIFIF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIF9NOTE --- Leave key so that caller can add further values.<< "" THEN3 NOTE --- Item with no Id becomes Menu parent.3 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId ENDIF6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UP ENDIFENDIF9NOTE --- Leave key so that caller can add further values.xcToolbarMenu EAnetdemo `d8;>AZ]+++JMenu++422 xcSubset xcToolbarMenu EAnetdemo 03/03/0215:03:24Add Toolbar Menu Add menu details to Toolbar. Standard XML Container component. xcToolbarMenu EAnetdemo 00 64FeEXPECTS xcSubsetNOTE --- Add Menu to Toolbar:-XML *INSERT L-xcSubset *ELEMENT= "Menu" *DOWN9NOTE --- Leave key so that caller can add further values.xcToolbarUpd EAnetdemo ,fil2PVY\r++Jbpxml+Juim+JToolbar+!J@ActionUpdate++JButton+J@Id+++ "++J@Bitmap+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled xcToolbarUpd EAnetdemo 03/03/0215:03:24Update Toolbar Update Toolbar. Standard XML Container component. xcToolbarUpd EAnetdemo 0029b%Z'.F_#*Oj:EXPECTS xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcIdNOTE --- Update Bitmap:IF L-xcBitmap <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmapENDIFNOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIF,NOTE --- Update Check Mark (button pressed):IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFPPPxcTreeView EAnetdemo <?BE_x+++Jbpxml+J/uim+JTreeView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTreeView EAnetdemo 03/03/0215:03:24Create TreeView Create basic subset structure for TreeView. Standard XML Container component. xcTreeView EAnetdemo 00 88aJ'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for TreeView:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTreeViewItm EAnetdemo jmpsv17:=Sqwz}++++JItem+J@Id+J@Label+++J @ForceChild+++"True++ J@EventExpand+)+++ "++J@Update+)+++"Refresh++J@Action+)++++"True++J +)42 22 d2 2 2 2 ,2 ^2 xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp xcTreeViewItm EAnetdemo 03/03/0215:03:24Add TreeView Item Insert tree node based on supplied arguments. Standard XML Container component. xcTreeViewItm EAnetdemo 0031f 9nIPm<CpJEXPECTS xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp'NOTE --- XML key should be in position.-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelNOTE --- Add expand sign (+)?=XML *INSERT L-xcSubset *ELEMENT= "@ForceChild" L-xcForceChild'NOTE --- Optionally, expand on display:IF L-xcSelect = "True" THEN5 XML *INSERT L-xcSubset *ELEMENT= "@Event" "Expand"ENDIFNOTE --- Is this an update?IF L-xcUpdate <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Update" L-xcUpdateENDIFNOTE --- Refresh or Add?IF L-xcAction = "Refresh" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcActionENDIF+NOTE --- Optionally, position XML key back:IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIFLLLxcTreeViewUpd EAnetdemo VY\v),/2Heknq++Jbpxml+Juim+JTreeView+!J@ActionUpdate++JItem+J@Id+!J@ActionUpdate++++ "++J@Label+)+++ "++J@Bold+)42 22 d2 2 xcSubset xcId xcLabel xcBold xcTreeViewUpd EAnetdemo 03/03/0215:03:24Update Toolbar Update Toolbar. Standard XML Container component. xcTreeViewUpd EAnetdemo 0021Rx5d18Og$EXPECTS xcSubset xcId xcLabel xcBold%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"NOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Bold:IF L-xcBold <> "" THEN4 XML *INSERT L-xcSubset *ELEMENT= "@Bold" L-xcBoldENDIFMapDetails SAnetdemo 03/02/2513:09:48Untitled Untitled MapDetails SAnetdemo [SysScreen];15C:29;157:167;159:500;15E:15100;15D:6;1D:N;29:3;174:N;196:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:500;151:15100;152:0;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:States;14F:_Root;150:0;14C:4400;14D:754;151:4100;152:7;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:2;1C5:States;[SysScreenField];14E:StateCode;14F:_Root;150:181;14C:1850;14D:108;151:2067;152:6;E1:U;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Url;14F:_Root;150:319;14C:1850;14D:108;151:2067;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb1;14F:_Root;150:324;14C:13700;14D:131;151:1150;152:4;E1:R;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:LbState;14F:_Root;150:181;14C:433;14D:100;151:933;152:1;E1:U;F2:3;48:"State Code\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static1;14F:_Root;150:43;14C:433;14D:100;151:2767;152:2;F2:3;48:"Select a State from the Map below\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static2;14F:_Root;150:319;14C:433;14D:100;151:1133;152:3;F2:3;48:"Link Selected\:";1A0:Y;21:4;B2:1;MapDetails IAnetdemo -  - i- EIR- StatesStateCodeUrlPb1Render F-RenderMaphhhMapDetails IAnetdemo          [[[MapDetails OAnetdemo >@BD "Render" F-RenderMapPageDetails SAnetdemo 03/02/2513:10:03Untitled Untitled PageDetails SAnetdemo [SysScreen];15C:29;157:167;159:500;15E:15100;15D:6;1D:N;29:3;174:N;196:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:500;151:15100;152:0;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:Data;14F:_Root;150:14;14C:633;14D:700;151:8400;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:Y;122:Y;19C:N;111:N;E3:Y;1E:Y;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:File;14F:_Root;150:14;14C:10200;14D:108;151:3233;152:9;F2:3;6F:N;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Url;14F:_Root;150:138;14C:10200;14D:108;151:3233;152:1;F2:3;6F:N;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:LoadFromFile;14F:_Root;150:248;14C:10150;14D:100;151:1733;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb1;14F:_Root;150:324;14C:13700;14D:131;151:1150;152:4;E1:R;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:LoadFromUrl;14F:_Root;150:338;14C:10150;14D:100;151:1900;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static2;14F:_Root;150:0;14C:50;14D:100;151:433;152:6;F2:3;48:"Data\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static4;14F:_Root;150:19;14C:9650;14D:100;151:317;152:7;F2:3;48:"File\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static5;14F:_Root;150:138;14C:9567;14D:100;151:417;152:8;F2:3;48:"URL\:";1A0:Y;21:4;B2:1;|||PageDetails IAnetdemo - u0- - - s- O- }DataFileUrlLoadFromFilePb1LoadFromUrlLoad from fileRender F-Render Load from URLPageDetails IAnetdemo  u0           PageDetails OAnetdemo JLNPcw"Load from file" "Render" F-Render"Load from URL"UrlDetails SAnetdemo 03/02/2513:10:27Untitled Untitled UrlDetails SAnetdemo [SysScreen];15C:29;157:167;159:500;15E:15100;15D:6;1D:N;29:3;174:N;196:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:500;151:15100;152:0;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:Url;14F:_Root;150:19;14C:983;14D:108;151:13400;152:1;E1:U;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb2;14F:_Root;150:19;14C:14583;14D:108;151:267;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:Y;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:AutoLoad;14F:_Root;150:119;14C:900;14D:100;151:4400;152:4;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:UseHistory;14F:_Root;150:219;14C:933;14D:100;151:3400;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static5;14F:_Root;150:19;14C:350;14D:100;151:417;152:5;E1:U;F2:3;48:"URL\:";1A0:Y;21:4;B2:1;NNNUrlDetails IAnetdemo - - `- A- UrlPb2AutoLoadUseHistoryGo F-RenderUrl.Auto Load Pages (don't trap every page click)?Use History (allow Back event)?hhhUrlDetails IAnetdemo         UrlDetails OAnetdemo >@S"Go" F-RenderUrl1"Auto Load Pages (don't trap every page click)?"""Use History (allow Back event)?"netdemo SAnetdemo 03/02/2513:10:41Untitled Untitled Hpnetdemo SAnetdemo [SysScreen];15C:29;157:167;159:3324;15E:15767;15D:6;1D:N;29:3;174:Y;196:N;1B6:N;1BB:1;1BC:1;[SysScreenCont];14E:_Root;150:0;14C:0;14D:3324;151:15767;152:0;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;16A:VISIT netdemo_source;3D:"NetView Demonstration";1B3:N;[SysScreenCont];14E:Detail;14F:_Root;150:162;14C:300;14D:500;151:15133;152:3;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:1;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:Setup;14F:_Root;150:14;14C:100;14D:8;151:17;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tabs;14F:_Root;150:0;14C:167;14D:1123;151:15367;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:4;1C5:Tabs;[SysScreenField];14E:Debug;14F:_Root;150:738;14C:6083;14D:100;151:2733;152:7;E1:X;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:NetView;14F:_Root;150:824;14C:217;14D:3892;151:5767;152:6;E1:N;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:5;[SysScreenField];14E:DebugView;14F:_Root;150:824;14C:6083;14D:3892;151:9483;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:5;1C5:Intro;[SysScreenLabel];14E:Static3;14F:_Root;150:748;14C:250;14D:100;151:1350;152:4;E1:N;F2:3;48:"NetView Results\:";1A0:Y;21:4;B2:1;netdemo IAnetdemo !-  -   - -  w-  (.netdemo_source4SetupTabsDebugNetViewDebugViewF-netdemo_SetupF-netdemo_TabEventF-DebugDisplay XML used in NetViewF-netdemo_NetEventnetdemo IAnetdemo              netdemo OAnetdemo DVkF-netdemo_SetupF-netdemo_TabEventF-Debug"Display XML used in NetView"F-netdemo_NetEventAAAView VAnetdemo  dddtabdemo AAtabdemo 1tabdemo *ALL english 3 03/03/2417:00:42 APPLICATION AAtabdemo 03/03/1710:47:11tabdemo tabdemo Month YAtabdemo 03/02/1712:33:22Month zzzMonth YAtabdemo 120 Month xcAction YAtabdemo 03/03/0215:06:19Action Standard XML Container component. zzzxcAction YAtabdemo 120 Action xcAlign YAtabdemo 03/03/0215:06:19Align Standard XML Container component. zzzxcAlign YAtabdemo 120 Align xcAutoLoad YAtabdemo 03/03/0215:06:19AutoLoad Standard XML Container component. zzzxcAutoLoad YAtabdemo 120 AutoLoad xcBitmap YAtabdemo 03/03/0215:06:19Mnemonic Standard XML Container component. zzzxcBitmap YAtabdemo 120 Mnemonic xcBold YAtabdemo 03/03/0215:06:19Bold Standard XML Container component. zzzxcBold YAtabdemo 120 Bold xcChecked YAtabdemo 03/03/0215:06:19Checked Standard XML Container component. zzzxcChecked YAtabdemo 120 Checked xcColumnId YAtabdemo 03/03/0215:06:19Column Id Standard XML Container component. zzzxcColumnId YAtabdemo 120 ColumnId xcCount YAtabdemo 03/03/0215:06:19Count Standard XML Container component. zzzxcCount YAtabdemo 1 0 Count xcDirection YAtabdemo 03/03/0215:06:19Direction Standard XML Container component. zzzxcDirection YAtabdemo 120 Direction xcElement YAtabdemo 03/03/0215:06:19Element Standard XML Container component. zzzxcElement YAtabdemo 120 Element xcEnabled YAtabdemo 03/03/0215:06:19Enabled Standard XML Container component. zzzxcEnabled YAtabdemo 120 Enabled xcEvent YAtabdemo 03/03/0215:06:19Event Standard XML Container component. zzzxcEvent YAtabdemo 120 Event xcEventSubset YAtabdemo 03/03/0215:06:19Event Subset Name Standard XML Container component. zzzxcEventSubset YAtabdemo 120 EventSubset xcFilename YAtabdemo 03/03/0215:06:19Filename Standard XML Container component. zzzxcFilename YAtabdemo 10 Filename xcForceChild YAtabdemo 03/03/0215:06:19ForceChild Standard XML Container component. zzzxcForceChild YAtabdemo 120 ForceChild xcFrame YAtabdemo 03/03/0215:06:19Frame Standard XML Container component. zzzxcFrame YAtabdemo 120 Frame xcHasChild YAtabdemo 03/03/0215:06:19HasChild Standard XML Container component. zzzxcHasChild YAtabdemo 120 HasChild xcHits YAtabdemo 03/03/0215:06:19Hits Standard XML Container component. zzzxcHits YAtabdemo 1 0 Hits xcId YAtabdemo 03/03/0215:06:19Identifier Standard XML Container component. zzzxcId YAtabdemo 120 Id xcIsParent YAtabdemo 03/03/0215:06:19Is a Parent Standard XML Container component. zzzxcIsParent YAtabdemo 120 IsParent xcLabel YAtabdemo 03/03/0215:06:19Label Standard XML Container component. zzzxcLabel YAtabdemo 120 Label xcLevel YAtabdemo 03/03/0215:06:19Level Standard XML Container component. zzzxcLevel YAtabdemo 120 Level xcMnemonic YAtabdemo 03/03/0215:06:19Mnemonic Standard XML Container component. zzzxcMnemonic YAtabdemo 120 Mnemonic xcSelect YAtabdemo 03/03/0215:06:19Select Standard XML Container component. zzzxcSelect YAtabdemo 120 Select xcSort YAtabdemo 03/03/0215:06:19Sort Standard XML Container component. zzzxcSort YAtabdemo 120 Sort xcStyle YAtabdemo 03/03/0215:06:19Style Standard XML Container component. zzzxcStyle YAtabdemo 120 Style xcSubset YAtabdemo 03/03/0215:06:19Subset Name Standard XML Container component. zzzxcSubset YAtabdemo 120 Subset xcSubset2 YAtabdemo 03/03/0215:06:19Subset Name2 Standard XML Container component. zzzxcSubset2 YAtabdemo 120 Subset2 xcTooltip YAtabdemo 03/03/0215:06:19Mnemonic Standard XML Container component. zzzxcTooltip YAtabdemo 120 Mnemonic xcUp YAtabdemo 03/03/0215:06:19Up Standard XML Container component. zzzxcUp YAtabdemo 120 Up xcUpdate YAtabdemo 03/03/0215:06:19Update Standard XML Container component. zzzxcUpdate YAtabdemo 120 Update xcUrl YAtabdemo 03/03/0215:06:19Url Standard XML Container component. zzzxcUrl YAtabdemo 10 Url xcValue YAtabdemo 03/03/0215:06:19Value Standard XML Container component. zzzxcValue YAtabdemo 10 Value xcWidth YAtabdemo 03/03/0215:06:19Width Standard XML Container component. zzzxcWidth YAtabdemo 120 Width xmlCount1 YAtabdemo 03/02/1414:20:32Count Standard component for XML processing. zzzxmlCount1 YAtabdemo 1 0 Count xmlCount2 YAtabdemo 03/02/1414:20:32Count Standard component for XML processing. zzzxmlCount2 YAtabdemo 1 0 Count xmlDefault YAtabdemo 03/02/1414:20:32Default value. Default value used in XML access. zzzxmlDefault YAtabdemo 10 Default xmlElement YAtabdemo 03/02/1414:20:32Element Name Standard component for XML processing. zzzxmlElement YAtabdemo 10 Element xmlElement1 YAtabdemo 03/02/1414:20:32Element Name Standard component for XML processing. zzzxmlElement1 YAtabdemo 10 Element xmlElement2 YAtabdemo 03/02/1414:20:32Element Name Standard component for XML processing. zzzxmlElement2 YAtabdemo 10 Element xmlError YAtabdemo 03/02/1414:20:32Error Standard component for XML processing. zzzxmlError YAtabdemo 120 Error xmlFile YAtabdemo 03/02/1414:20:32File Name Standard component for XML processing. zzzxmlFile YAtabdemo 10 File xmlFunction YAtabdemo 03/02/1414:20:32Function Standard component for XML processing. zzzxmlFunction YAtabdemo 120 Function xmlHits YAtabdemo 03/02/1414:20:32Hits Standard component for XML processing. zzzxmlHits YAtabdemo 1 0 Hits xmlHtml YAtabdemo 03/02/1414:20:32HTML File Standard component for XML processing. zzzxmlHtml YAtabdemo 10 HTML xmlKey YAtabdemo 03/02/1414:20:33XML Key Standard component for XML processing. zzzxmlKey YAtabdemo 10 Key xmlOption YAtabdemo 03/02/1414:20:33XSLT Options XSLT Options for passing parameters. Standard component for XML processing. zzzxmlOption YAtabdemo 10 Option xmlOuterkey YAtabdemo 03/02/1414:20:33Outer Key Standard component for XML processing. zzzxmlOuterkey YAtabdemo 10 OuterKey xmlSchema YAtabdemo 03/02/1414:20:33XML Schema Standard component for XML processing. zzzxmlSchema YAtabdemo 10 XML Schema xmlSchemaPath YAtabdemo 03/02/1414:20:33XML XSD Path Standard component for XML processing. zzzxmlSchemaPath YAtabdemo 10 Schema Path xmlStylesheet YAtabdemo 03/02/1414:20:33Stylesheet Standard component for XML processing. zzzxmlStylesheet YAtabdemo 10 Stylesheet xmlSubset YAtabdemo 03/02/1414:20:33Subset Standard component for XML processing. zzzxmlSubset YAtabdemo 120 Subset xmlSubset2 YAtabdemo 03/02/1414:20:33Subset Name Standard component for XML processing. zzzxmlSubset2 YAtabdemo 120 Subset xmlValue YAtabdemo 03/02/1414:20:33Untitled Untitled zzzxmlValue YAtabdemo 10 Untitled  . Intro iAtabdemo  

Welcome to the TabView Demo!

Windows Tabs Controls are available through an XML driven XML Container. This demonstration shows the different functionality available in the TabView XML Container.

Use this application to explore the different capabilities:

  • Render TabViews at runtime. The number of tabs and their properties are detemined at runtime. One tab can be preselected before rendering.
  • If the tabs do not fit on a single row, the tabs can either scroll horizontally or be displayed as multiple rows.
  • Tabs can be displayed at the top or bottom of the tab control.
  • Mnemonics can be assigned to each tab.
  • An Update can alter the label of a tab or change the currently selected tab.

Implementation

The tab control is painted as an xml container of type TabView. The tab control is not a container in itself - instead it is painted on top of a container. The action performed when clicking on a tab should populate a container with appropriate information.

Only one tab can be selected at once. The logic action associated with the XML Container is executed when the user clicks on a tab. The event logic needs to read the event XML to detemine the tab that was selected.

Intro iAtabdemo 03/02/1416:55:34Untitled Untitled x|myList iAtabdemo w XP_COLOR_3DDKSHADOW XP_COLOR_3DDKSHADOW Windows Theme XP_COLOR_3DFACE XP_COLOR_3DFACE Windows Theme XP_COLOR_BTNFACE XP_COLOR_BTNFACE Windows Theme XP_COLOR_3DHIGHLIGHT XP_COLOR_3DHIGHLIGHT Windows Theme XP_COLOR_BTNHIGHLIGHT XP_COLOR_BTNHIGHLIGHT Windows Theme XP_COLOR_3DLIGHT XP_COLOR_3DLIGHT Windows Theme XP_COLOR_3DSHADOW XP_COLOR_3DSHADOW Windows Theme XP_COLOR_BTNSHADOW XP_COLOR_BTNSHADOW Windows Theme XP_COLOR_ACTIVEBORDER XP_COLOR_ACTIVEBORDER Windows Theme XP_COLOR_ACTIVECAPTION XP_COLOR_ACTIVECAPTION Windows Theme XP_COLOR_APPWORKSPACE XP_COLOR_APPWORKSPACE Windows Theme XP_COLOR_BACKGROUND XP_COLOR_BACKGROUND Windows Theme XP_COLOR_DESKTOP XP_COLOR_DESKTOP Windows Theme XP_COLOR_BTNTEXT XP_COLOR_BTNTEXT Windows Theme XP_COLOR_CAPTIONTEXT XP_COLOR_CAPTIONTEXT Windows Theme XP_COLOR_GRAYTEXT XP_COLOR_GRAYTEXT Windows Theme XP_COLOR_HIGHLIGHT XP_COLOR_HIGHLIGHT Windows Theme XP_COLOR_HIGHLIGHTTEXT XP_COLOR_HIGHLIGHTTEXT Windows Theme XP_COLOR_INACTIVEBORDER XP_COLOR_INACTIVEBORDER Windows Theme XP_COLOR_INACTIVECAPTION XP_COLOR_INACTIVECAPTION Windows Theme XP_COLOR_INACTIVECAPTIONTEXT XP_COLOR_INACTIVECAPTIONTEXT Windows Theme XP_COLOR_INFOBK XP_COLOR_INFOBK Windows Theme XP_COLOR_INFOTEXT XP_COLOR_INFOTEXT Windows Theme XP_COLOR_MENU XP_COLOR_MENU Windows Theme XP_COLOR_MENUTEXT XP_COLOR_MENUTEXT Windows Theme XP_COLOR_SCROLLBAR XP_COLOR_SCROLLBAR Windows Theme XP_COLOR_WINDOW XP_COLOR_WINDOW Windows Theme XP_COLOR_WINDOWFRAME XP_COLOR_WINDOWFRAME Windows Theme XP_COLOR_WINDOWTEXT XP_COLOR_WINDOWTEXT Windows Theme 0.255.255 Aqua #00FFFF Base HTML 0.0.0 Black #000000 Base HTML 0.0.255 Blue #0000FF Base HTML 255.0.255 Fuchsia #FF00FF Base HTML 128.128.128 Gray #808080 Base HTML 0.128.0 Green #008000 Base HTML 0.255.0 Lime #00FF00 Base HTML 128.0.0 Maroon 800000 Base HTML 0.0.128 Navy #000080 Base HTML 128.128.0 Olive #808000 Base HTML 128.0.128 Purple #800080 Base HTML 255.0.0 Red #FF0000 Base HTML 192.192.192 Silver #C0C0C0 Base HTML 0.128.128 Teal #008080 Base HTML 255.255.255 White #FFFFFF Base HTML 255.255.0 Yellow #FFFF00 Base HTML 0.0.0 #000000 Standard Color Map 0.0.51 #000033 Standard Color Map 0.0.102 #000066 Standard Color Map 0.0.153 #000099 Standard Color Map 0.0.204 #0000CC Standard Color Map 0.0.255 #0000FF Standard Color Map 0.51.0 #003300 Standard Color Map 0.51.51 #003333 Standard Color Map 0.51.102 #003366 Standard Color Map 0.51.153 #003399 Standard Color Map 0.51.204 #0033CC Standard Color Map 0.51.255 #0033FF Standard Color Map 0.102.0 #006600 Standard Color Map 0.102.51 #006633 Standard Color Map 0.102.102 #006666 Standard Color Map 0.102.153 #006699 Standard Color Map 0.102.204 #0066CC Standard Color Map 0.102.255 #0066FF Standard Color Map 0.153.0 #009900 Standard Color Map 0.153.51 #009933 Standard Color Map 0.153.102 #009966 Standard Color Map 0.153.153 #009999 Standard Color Map 0.153.204 #0099CC Standard Color Map 0.153.255 #0099FF Standard Color Map 0.204.0 #00CC00 Standard Color Map 0.204.51 #00CC33 Standard Color Map 0.204.102 #00CC66 Standard Color Map 0.204.153 #00CC99 Standard Color Map 0.204.204 #00CCCC Standard Color Map 0.204.255 #00CCFF Standard Color Map 0.255.0 #00FF00 Standard Color Map 0.255.51 #00FF33 Standard Color Map 0.255.102 #00FF66 Standard Color Map 0.255.153 #00FF99 Standard Color Map 0.255.204 #00FFCC Standard Color Map 0.255.255 #00FFFF Standard Color Map 51.0.0 #330000 Standard Color Map 51.0.51 #330033 Standard Color Map 51.0.102 #330066 Standard Color Map 51.0.153 #330099 Standard Color Map 51.0.204 #3300CC Standard Color Map 51.0.255 #3300FF Standard Color Map 51.51.0 #333300 Standard Color Map 51.51.51 #333333 Standard Color Map 51.51.102 #333366 Standard Color Map 51.51.153 #333399 Standard Color Map 51.51.204 #3333CC Standard Color Map 51.51.255 #3333FF Standard Color Map 51.102.0 #336600 Standard Color Map 51.102.51 #336633 Standard Color Map 51.102.102 #336666 Standard Color Map 51.102.153 #336699 Standard Color Map 51.102.204 #3366CC Standard Color Map 51.102.255 #3366FF Standard Color Map 51.153.0 #339900 Standard Color Map 51.153.51 #339933 Standard Color Map 51.153.102 #339966 Standard Color Map 51.153.153 #339999 Standard Color Map 51.153.204 #3399CC Standard Color Map 51.153.255 #3399FF Standard Color Map 51.204.0 #33CC00 Standard Color Map 51.204.51 #33CC33 Standard Color Map 51.204.102 #33CC66 Standard Color Map 51.204.153 #33CC99 Standard Color Map 51.204.204 #33CCCC Standard Color Map 51.204.255 #33CCFF Standard Color Map 51.255.0 #33FF00 Standard Color Map 51.255.51 #33FF33 Standard Color Map 51.255.102 #33FF66 Standard Color Map 51.255.153 #33FF99 Standard Color Map 51.255.204 #33FFCC Standard Color Map 51.255.255 #33FFFF Standard Color Map 102.0.0 #660000 Standard Color Map 102.0.51 #660033 Standard Color Map 102.0.102 #660066 Standard Color Map 102.0.153 #660099 Standard Color Map 102.0.204 #6600CC Standard Color Map 102.0.255 #6600FF Standard Color Map 102.51.0 #663300 Standard Color Map 102.51.51 #663333 Standard Color Map 102.51.102 #663366 Standard Color Map 102.51.153 #663399 Standard Color Map 102.51.204 #6633CC Standard Color Map 102.51.255 #6633FF Standard Color Map 102.102.0 #666600 Standard Color Map 102.102.51 #666633 Standard Color Map 102.102.102 #666666 Standard Color Map 102.102.153 #666699 Standard Color Map 102.102.204 #6666CC Standard Color Map 102.102.255 #6666FF Standard Color Map 102.153.0 #669900 Standard Color Map 102.153.51 #669933 Standard Color Map 102.153.102 #669966 Standard Color Map 102.153.153 #669999 Standard Color Map 102.153.204 #6699CC Standard Color Map 102.153.255 #6699FF Standard Color Map 102.204.0 #66CC00 Standard Color Map 102.204.51 #66CC33 Standard Color Map 102.204.102 #66CC66 Standard Color Map 102.204.153 #66CC99 Standard Color Map 102.204.204 #66CCCC Standard Color Map 102.204.255 #66CCFF Standard Color Map 102.255.0 #66FF00 Standard Color Map 102.255.51 #66FF33 Standard Color Map 102.255.102 #66FF66 Standard Color Map 102.255.153 #66FF99 Standard Color Map 102.255.204 #66FFCC Standard Color Map 102.255.255 #66FFFF Standard Color Map 153.0.0 #990000 Standard Color Map 153.0.51 #990033 Standard Color Map 153.0.102 #990066 Standard Color Map 153.0.153 #990099 Standard Color Map 153.0.204 #9900CC Standard Color Map 153.0.255 #9900FF Standard Color Map 153.51.0 #993300 Standard Color Map 153.51.51 #993333 Standard Color Map 153.51.102 #993366 Standard Color Map 153.51.153 #993399 Standard Color Map 153.51.204 #9933CC Standard Color Map 153.51.255 #9933FF Standard Color Map 153.102.0 #996600 Standard Color Map 153.102.51 #996633 Standard Color Map 153.102.102 #996666 Standard Color Map 153.102.153 #996699 Standard Color Map 153.102.204 #9966CC Standard Color Map 153.102.255 #9966FF Standard Color Map 153.153.0 #999900 Standard Color Map 153.153.51 #999933 Standard Color Map 153.153.102 #999966 Standard Color Map 153.153.153 #999999 Standard Color Map 153.153.204 #9999CC Standard Color Map 153.153.255 #9999FF Standard Color Map 153.204.0 #99CC00 Standard Color Map myList iAtabdemo 03/02/1713:05:06Untitled Untitled myTree iAtabdemo  myTree iAtabdemo 03/02/1915:15:32Untitled Untitled jbnoutback iAtabdemo j6BM6j6(f  $1-!0*0.+3;@8";@26:)B1"G<"HF&OD6D49I<7DH9QC!RJ&OR9JJ2KR)ZN/XX9RJ9RV1^N9ZR1cT9ZZ1cZ4_b1k^6nhOHBJNPBZJTXKFSZFcRTRX]]TBcZGWcFc^FcgRcZP^ed]]acfFkVOmWRsZBkcJkcFscBkkGpkZmWTmcRkkRwg`o`^sgth[vqfDksKwnJ{sKt|ZgsZwkZssWv~iiscskeumsukc{sct~qusoq|Xtiusks{s{{kwsw{{xsXdkkw{w{ws|o{{{}yxv}ũƥƭΥƭ÷έεέʵêȷֵֵзؿιȪƩȻеεغA347BB633((-*:7449^x4(47;E5(EPPXA5;%(*9,*(7336 _|  YFLLFF:::FG::FCC66BC7APFPPP:$47AZ:MZ;E;LLF:4A7((|,F:|p433;L: A633366+374(L  Q_ 4(3X7 33(:FQ*7A3 *9 (:|435*4Z;P(5;;((44 4(3:**(  7A@  (:LJ=9:L[A7::9FFYAA33F:L9-F:FG)FYPPZQE4%+Z_LZx$9,,$- ((E;*:6C7AA733 Z;(9*((( ((5Y =9$$:+4F % :Z77=F:F*::4(F*94A7  @(6BX3AFFLJJF:G76AFE:7B7Y4FG  A::+4:]]ZEE;4(:Z:GF4**9:7*(4  :*ZLPA(((5( 4;00;;QL9**%((((5(@:%9" +663( 6@:++:~L$=L(44 4F:::PB A@6XB6776AFFFII=F+7YXGMZGXC@CBA7AG A:L:-=I<9*LY3(((*F**:943AA3    ::FL;X_ E0% ;L;E E0(*(9*(40%$ @X( *(+GGG( :~xMZ$F(:F+(+:L(F7(3BBA7FFFFG@XBFLSNNLM@XXGLMZYXY@XB36 A3:QF:I/9 Y5BPA;*ZQL94 ((5AB64:(4EXA(_*;0%%049* %%(0A3 +   YA (:43677Z::*(__F_**:*4:4**=%4A76AZ::LJLLB76_FLLQLOMFC@CFLLLZZXYXBA6BA77F*-I/)4|APP;xZ,99* 3BPXA 4*9E *pQ[LZ;%$*4*02E1%24((AAA  633 4F(+7Y++:FZ|_+p, 9(:4FQZ:*(33BXB67 A3ALLIL^^LLFBBPLLLQZVMFMFFFLLLLFFGXZ:( A3BP:F-$$*(4(F((:P_533A  *:*44(xxx:LZ;"**44;;000000(3333( BB6  7F376F_Y63+xGD(FF99%(L:::QZL4:A33776377AFQQQQQQLLQLLJJLQQLNQQQQLLQQQLFMFL*7A3A 4$B73((:;F:((733   ZYZ+4L_|=:4; 9$E(% %2==LL4AA3 35 ((FZ4:PBGZYYC6G:::I,$9=::Z9F:(*4++A33AAY*LLVVSLQLQQQLJQLQLLLLJLLLQLLQQLLLF4*4443B Z* Z3PPA766B3:*7(6366 3 QL*3[ZZ+:x~|-9F(4 =E9*(%%9LQE=EFFzL( 3X6(33;LQJJZZZ*FZGZG+F**ZL9JJLLLFL9 4((7 (77BA:EZZQQLSSV\\QQQSQLSLQLQQLLLLLJQQQLQQLFF=LLFA66++4:3[_F76((4X3 BBXXPB(  p %9:ZFGG_|x^_F**(4",EE*994**:FLFJF:9*  77EQIJSJQ\eZQLFx[(4(F::9LQF-$:*((*E337PX3ELQLSSSJJS\\QQNLQQV\QQQLJLQLLLQQQQ\QJ,QLFFZM(X3 36P447777(33337BB633   L-,:FLF[[~~MFF:;E09EEL:*444LQ*:LLLI:FL* (@GLFJ=JVJSJQQLZ:F[F(3 4F::*9+((PPE94A73PB35;QJJJN\SQJL\SQ\QQQSSQSJJJQLLLQQQQQJSJ9JQFF^L*4A4LEPBB7GX76Y (  F (Z ,,%9F-M:~|MZJL99;%,,9JJ=*4FxZ99JJI=99L (A6376AAF_LZLIJQ^J9JVpMCCC 34Z=**3(447GA7ABY74[ZQSNJINSJJ\SSSSSSNJSUSSSSVQQQZZ\\QQQQLEEFE:E:73P7EL:::FYAXBP3 4 " p,% 4xxDMML,%0""*JQQ9%*4~ZJ=9LL="9  Y4*4;ELZLFZpQZQLJLQ,,=9:MY@@[GZPAB;4g9(*37(*4GALPXZ__ZZQ\V\qy\\e\\^\^^e\\QQ]^\QQ\QLQ\]]\\\]egQ,9$9FF(737B 7*(YZ;4::(* Z7A7 ( QLQ"%*xxDx~L^\S\J""%LZQ9%(*~:p=LLLZ" ,,<^Q\\^F-F^pperreQ,:FLFG|ZD|ZAAGFZLz,94 414(;4E;;FZ^ggsgizieeeey}yi{vtdei}r]]]^eegegg\\]e{}}}}}\ry\IJg_XG3B 9L,~z9E9* F(53 * ,=='#>????/Nb' KNy& *I!& #s9"4rJ9E73A+:7G+*)--VyytdKHVVNreidddtaqeJQ=L=JdffitffhitiifhffiitmmhfllhhviahhhhhhhtiahkkkllttddbbL-_Z~^da`a?Uaahaaadadddbd`daaahaiSN^D:G+M_x~_|^NVNVq!KT?'UUaUTUaUy //b   , ,!Q]%4\LI;33P7A+37XB(*:-NbtqdVVVNSUeteedfietU\\\Ueiiiitliffiiiifiililmmkkhllivtthhlkihiffhhhhhhhihhdd^QF_QQSda?UKadd`UddaUVaaVaaahhhahitVN)DG|~~x~||~VJI?V^bVTT?UUUti/ddd #I!% #! &!"9%%%*4A6BB6B6AAPP344::-NJbedbVJ9S<\qbedhkvtitldetihktttmmkttttttwmmlmmkkkhhhhhhhllliflhhhhhhhhiihhffg\L4E=<\ebVVVddahhhhdaN,-^:~|pc/$MNSKUbVIVUUUUUU{VV\d. 8",F %#!-*=Q]4*;(33BBBGYAA[QQQE9ZZ:L99,/N\IL=Q\dNdihkkkhkkhhkkhhkkkkkkmmmmkkkkkmmmmkkkkhlkklhlllllhhlhlhhhikhhiiee]:*9LI#'IVx~p):/-pZx|OVddeerVJddKSdUqbbbaN!" E9"<*:F+:ZLA7AB374LZQge^ree\994;EEL:9%99LE4Egeredttttkkmkhkkkhhkkkkkkkkmmmkkmkkmmmmmkkklmmmmmmklhmkkkmkkkkkmmlide~xZ9, ,/J/.Uad?\ee/IJV\eddU 'bqSNVx~Mp$-/pxxp)ONVded\rIVNJ/rN^H&'vhK=]U{mw{te/bK{>',   :ZDFovvvdLMCC/y/Z AB44%'#! i>n Ve/Opx&ShTUeezydmowt/ii 9*  < ---,9hbZG:\L<&4EEL%,Thm`ayyOJ9%(1 "<< мj &^bq!, 8JJ  #KU8"% /ttwk`T./rb^^ğrVtwm>`h?mfdet.. TTkub}x-$94(*4"9  #$$Ҿ> Hepbq!"UK, "Jid<IthtaaH!eVVJ|cyVV`h`>` 8I\\<"K#?ilT/H^$F((;E(($кn ?Nb//rH!,K8K& ,SSUid<%E US^/'yqyH!V&'' $9%U'S^=F::^I.Vdwh`avtKdy}y/// " ~$,LQvU8ssE(  33 37|FxG++(P[5(   4 **|缲nkumhvyt#Sedyeyx-r/  {=e}$,9]9Q=,9x4L 7x 4PB6CC6 Y5A3  P:F$,IJеjhhu`tqVK.I\S\^rSSdvai{dbNb^Dx,,,Je~=IL]}%%9Z[4|  F (_Q*33X(37A (*Z ^, 齲khu}',,?i\8J^ydwwatb/i #z!}er#r\%E93(( [[++((((+F  :-ὺnuul?deir{tҺ.t&V'#~^N.y^$Q*  L= [+ 3P ~Q ( :L$-$нuukTUSSdtawo?qbK   ~~=^I&H!9:* 7((p^*46 L~  :$ожokivT?aa`ury !*~Ny,&!=]99 677FLz,9E:+ (* Y3A  3(F$w`l{fivdнҽдT?er/ $*(( ,e&rN(ZE (76Y6(PL+MQFABGBAEZ(F3 44,:Zع'../J%"9L(9*p=~e/$ 5; 7XG:44G:[ZLFLYEs_:+33P;0 "^$9nh./ee\^Z-(4~}|rrq!_ (5BAA6B_E9( (F*JI(([+G73 :* =^$FКҺ'N},,LJe^"L^rer8,9 E_7ABYs  +$p;L:+Fx +( Q,:) :꽴紵k }r^L*9zQ"~py^\Q9 (4+~_ 7**rL4:p +g<F+ a }yzQLQL]s}}r}&NrQ$    G* Qs9"IeV,9*++ F_=L(*L(󽫻u.{v,}K8},}SJL( ;(76 3P3 3 }r\S.VNIF:$:[_FF\g"9xQF;(к輊K/y}k.9"I^9Z((P5A333 (3QE2]z 8E 7 *$   *ggSzQLpZQ\r}$*:__|prdd/&^]}^9=p+нkЄkkwҽkֽԹ`>'I,z]EA( =*  (Zz]nwչwشaa 'KVi{}J9991]P3 (363(4|Q-:*G4_~F$|xI:zJ Qr,xZZF|,$`k?taԩqyd'{{ˮUL%40_[373 4(4 ZG FMD$*F:+x~Z=!! r~Q^pr,pL_ZLF(ꌌitKa.vmҼָ}i'iU9Z[APP( (xF+G[FMp_[|pMp^~$"=$zV,I^QJ^Q~M::G66긼kh{KS.'vT괙֭qte&'ء\L;Yx x|;+ *:47GY**|x|Z-|QV,::^^/S,~IQxZ63G@@wиwtiUSI,#'hhyy}{y^pLJҙv]]sZFF4 +::F(737Y3:[~r!zZ*-F|Z~N!rLZs,ZL33XB6Йadm``TUUr 9˫Շ/yyչyzrpyի\esI"$(++ 47BXA[LLg]}J=:MG)~! ~Z9"gLF:(A3B7 wihhh'} U]" t}Nعy}ml'=*PY73(%0*꾴d]Sd\9PP99 (+ꛣ{<(0Q]iz99*$*$9!$:;:737A36YZ}g]Z[YY7734 B7+AXBPYQ}fv궽`? \ffm`tH/,Qg]s}'}#l}ivvvж`szE]Jv}Q%4_L473PzQ]ʻ}QzWhw>i<=]LE(A(34J,$%\Q}R88? n`'?w>`#i Һ`mvzg{vS^F_4_;4((J䶽mػd?s]sE]Z;7((3*<L""=#K'Kdk#v{<#U弫忿nleS!LL;3(0Q꼺紫wjlz}Q]_P47AZE44"siW8 vi>i}{K'vKT??|++C 4 20+C  +Tab+, xcTabViewItmmyTabs+&4AddTabs EAtabdemo 03/02/1414:38:27Add more Tabs. AddTabs EAtabdemo 00 64MpNOTE --- Add more tabs:!FOR *P01 = 4; *P01 <= 20; *P01 ++ *P02 = "Tab" *P01. VISIT xcTabViewItm "myTabs" *P02 *P02 "" ""ENDFORiiiDebug EAtabdemo 2Jc "6++ DebugViewIntro+)4Debug EAtabdemo 03/03/0314:08:24Toggle Debug. Toggle Debug. vvvDebug EAtabdemo 00 3.?oIF * = *NO THEN. SCREEN *RENDER "DebugView" *SUBSET= "Intro"ENDIFDisplayXML EAtabdemo NQTW8QTk+++0 xcNetViewtmp DebugEventTrue+++Z.xml+J+Ktmp+Ktmp+K ++/Jtmp/uim/NetView/Content@tmp+Ktmp++ DebugViewtmp+Jtmp4,2 2 xcSubset xcFilename DisplayXML EAtabdemo 03/03/0314:24:35Display XML Use NetView to display XML data. DisplayXML EAtabdemo 0017J\ 1EdEXPECTS xcSubset$NOTE --- Display the XML in NetView:9VISIT xcNetView "tmp" "DebugEvent" L-xcFilename "" "True"1NOTE --- Insert Subset Content into Creation XML:L-xcFilename = *TEMP ".xml""XML *WRITE L-xcSubset L-xcFilenameTEXT *BUFFER "tmp"TEXT *LOAD "tmp" L-xcFilenameTEXT *REMOVE L-xcFilenameAXML *INSERT "tmp" *ELEMENT= "/uim/NetView/Content" *BUFFER("tmp")TEXT *RELEASE "tmp")SCREEN *RENDER "DebugView" *SUBSET= "tmp"XML *CLOSE "tmp"PPPRenderTabs EAtabdemo (!nq9?BE Ghknq!+0 xcTabViewmyTabs myTabsEventCreate+++3J myTabs/uim/TabView/@Style Style++" MultiRow5+ +4J myTabs/uim/TabView/@MultiRowTrue+)+++> xcTabViewItmmyTabsTab1 Tab1 Tab1Mnemonic+> xcTabViewItmmyTabsTab2 Tab2 Tab2Mnemonic+> xcTabViewItmmyTabsTab3 Tab3 Tab3Mnemonic+++64/uim/TabView/Item[* DefaultTab ]/@Select+JmyTabsTrue++++" AddMany5++AddTabs+)+++TabFieldmyTabs+ TabField TabField+++" Debug5+!+ DisplayXMLmyTabs+)4 xmlElement RenderTabs EAtabdemo 03/02/1417:02:20Render tabs Render the tabs as described by the user. "JRenderTabs EAtabdemo 0033j:},i%?QX~/NOTE --- Create the basic TabView XML document:/VISIT xcTabView "myTabs" "myTabsEvent" "Create"NOTE --- Set Style:Zz *1BXML *READ "ListEvent" *ELEMENT= "/uim/ListView/Item[1]/@Id" L-xcIdIF L-xcId *BLANK THEN EXIT9NOTE --- Remember this item so that it can be reselected:V-ListViewItem = L-xcId!NOTE --- Display the selected id:S-ListItemId = L-xcIdSHOW *REFRESH S-ListItemIdNOTE --- Set background color:FIELD *BGCOL= L-xcId S-Preview3NOTE --- Set Brush (either solid-RGB or XP string):IF L-xcId[1,2] = "XP" THEN L-xmlValue = L-xcIdELSE L-xmlValue = "solid-" L-xcIdENDIF"FIELD *BRUSH= L-xmlValue S-Previewtabdemo_ListDbl EAtabdemo 6o~6J ListEvent/uim/ListView/Item[1]/@Id+ " +++3 Preview Preview422 xcId tabdemo_ListDbl EAtabdemo 03/02/1715:36:24List Event Display the selected color. tabdemo_ListDbl EAtabdemo 00 52vBXML *READ "ListEvent" *ELEMENT= "/uim/ListView/Item[1]/@Id" L-xcIdIF L-xcId *BLANK THEN EXITNOTE --- Set foreground color:FIELD *FGCOL= L-xcId S-PreviewLLLtabdemo_TabField EAtabdemo $'z}8w&;>_wz+7J myTabsEvent/uim/TabView/Item[1]/@Id++"Tab1++DisplayListbox+++ ListFieldmyList+++" ListViewItem++< xcListViewSel myListSel ListEvent ListViewItem+ ListField myListSel+)++ ListField ListField+ Preview Preview++BTab2++DisplayTree+TreemyTree+ Tree Tree++BTab3++DisplayFields+++DisplayPicture+)+++ UpdateId+ UpdateId UpdateId++++" Debug5+'+ DisplayXML myTabsEvent+)422 xcId tabdemo_TabFieldEAtabdemo 03/02/2514:09:42Action on Tabs Display appropriate window based on tab that was selected. Atabdemo_TabField EAtabdemo 0039v4e&D`})/V]NOTE --- Read the event XML:CXML *READ "myTabsEvent" *ELEMENT= "/uim/TabView/Item[1]/@Id" L-xcIdIF L-xcId = "Tab1" THEN% SCREEN *PANEL= "Display" "Listbox" NOTE --- Display List:/ SCREEN *RENDER "ListField" *SUBSET= "myList" NOTE --- Re-select Item: IF V-ListViewItem <> "" THEN@ VISIT xcListViewSel "myListSel" "ListEvent" V-ListViewItem5 SCREEN *RENDER "ListField" *SUBSET= "myListSel" ENDIF SHOW *REFRESH S-ListField SHOW *REFRESH S-PreviewELSEIF L-xcId = "Tab2" THEN" SCREEN *PANEL= "Display" "Tree"* SCREEN *RENDER "Tree" *SUBSET= "myTree" SHOW *REFRESH S-TreeELSEIF L-xcId = "Tab3" THEN$ SCREEN *PANEL= "Display" "Fields"ELSE% SCREEN *PANEL= "Display" "Picture"ENDIF%NOTE --- Display the selected tab id:S-UpdateId = L-xcIdSHOW *REFRESH S-UpdateId"NOTE --- Display the XML returned:IF S-Debug = *YES THEN! VISIT DisplayXML "myTabsEvent"ENDIFtabdemo_Tree EAtabdemo X @knq%(+<(J TreeEvent TreeEvent.xml+++6J TreeEvent/uim/TreeView/Current/@Id+9J TreeEvent/uim/TreeView/Current/@Level+ "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Style" L-xcStyleELSE3 XML *INSERT L-xcSubset *ELEMENT= "@Style" "MCLB"ENDIF,NOTE --- Optional initial column to sort by:IF L-xcColumnId <> "" THEN> XML *INSERT L-xcSubset *ELEMENT= "@SortColumn" L-xcColumnIdENDIFIF L-xcDirection <> "" THENB XML *INSERT L-xcSubset *ELEMENT= "@SortDirection" L-xcDirectionENDIF*XML *INSERT L-xcSubset *ELEMENT= "Columns"000xcListViewCol EAtabdemo ?TLORU"+++'J /uim/ListView/Columns+++JColumn+J @ColumnId+J@Title+++J@Sort++J@Align++J@Width4,2 22 d2 2 2 2 xcSubset xcColumnId xcLabel xcSort xcAlign xcWidth xcListViewCol EAtabdemo 03/03/0215:06:20Add a Column Add column details to ListView subset. Standard XML Container component. xcListViewCol EAtabdemo 0016H+c Bu:EXPECTS xcSubset xcColumnId xcLabel xcSort xcAlign xcWidthNOTE --- Position at Columns:+XML *KEY L-xcSubset "/uim/ListView/Columns"(NOTE --- Add column details to ListView:/XML *INSERT L-xcSubset *ELEMENT= "Column" *DOWN6XML *INSERT L-xcSubset *ELEMENT= "@ColumnId" L-xcLabel3XML *INSERT L-xcSubset *ELEMENT= "@Title" L-xcLabelNOTE --- Sort: Text, Number1XML *INSERT L-xcSubset *ELEMENT= "@Sort" L-xcSort#NOTE --- Align: Left, Right, Center3XML *INSERT L-xcSubset *ELEMENT= "@Align" L-xcAlign1NOTE --- Width in percent of total display width:7XML *INSERT L-xcSubset *ELEMENT= "@Width" L-xcWidth *UP000xcListViewItm EAtabdemo exX[^a4V\_b+++J  /uim/ListView+++JItem+J@Id+++ "+ +J@Select+)+++JValue+ "++J Value/@Sort+)+++42 22 d ^2 2 xcSubset xcId xcValue xcSort xcSelect xcListViewItm EAtabdemo 03/03/0215:06:20Add a List Item Add item details to ListView subset. Standard XML Container component. xcListViewItm EAtabdemo 0022TKw(@|-EXPECTS xcSubset xcId xcValue xcSort xcSelectNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId*NOTE --- Optionally, select the list item:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIF NOTE --- Add first column value:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.7NOTE --- Use xcListViewVal to add futher column values.xcListViewMod EAtabdemo @CFIknq+++J  /uim/ListView+++JItem+J@Id+JValue+#JValue/@ColumnId42 22 d2  xcSubset xcId xcColumnId xcValue xcListViewMod EAtabdemo 03/03/0215:06:20Modifiy List Item Modify single column on sinlge item in ListView. Standard XML Container component. xcListViewMod EAtabdemo 0010<f.b(EXPECTS xcSubset xcId xcColumnId xcValueNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValue?XML *INSERT L-xcSubset *ELEMENT= "Value/@ColumnId" L-xcColumnIdxcListViewSel EAtabdemo ( DGJMg+++Jbpxml+J/uim+JListView+!J@ActionSelect+ J @EventSubset+JItem+J@Id++42 22 d2 xcSubset xcEventSubset xcId xcListViewSel EAtabdemo 03/03/0215:06:20Select List Item Create subset to select an item in a ListView. Standard XML Container component. ,,,xcListViewSel EAtabdemo 0012@eL#EXPECTS xcSubset xcEventSubset xcId'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Select"?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId?NOTE --- Add more Item elements to perform multiple selections.,,,xcListViewVal EAtabdemo BEHKNQm+++++JValue+ "+ +J Value/@Sort+)++4^2 2 ,2 xcSubset xcValue xcSort xcListViewVal EAtabdemo 03/03/0215:06:20Add List Item Value Add another column value to a ListView. Standard XML Container component. ~~~xcListViewVal EAtabdemo 0011>_8?EXPECTS xcSubset xcValue xcSort.NOTE --- XML Key should already be positioned.NOTE --- Add value to ListView:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.xcMenubarUpd EAtabdemo ,fil4RX[^t++Jbpxml+Juim+JMenubar+!J@ActionUpdate++JItem+J@Id+++"True++J@Parent+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcLabel xcIsParent xcChecked xcEnabled xcMenubarUpd EAtabdemo 03/03/0215:06:20Update Menubar Update Menubar. Standard XML Container component. xcMenubarUpd EAtabdemo 0029b'\$`gKRw "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Check Mark:IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFxcNetView EAtabdemo dgjmp#&)DGdgj++++Jbpxml+J/uim+JNetView+!J@ActionCreate+ J @EventSubset+JNavigate+++J@URL++J@Frame+++J@Header+J @PostData+++!J@HistoryFalse+++"J@AllowAutoLoad+++42 22 d ^2 2 xcSubset xcEventSubset xcFilename xcFrame xcAutoLoad xcNetView EAtabdemo 03/03/0215:06:20Populate NetView Create default subset for NetView. Standard XML Container component. oxcNetView EAtabdemo 0028`'YRo3p"XML *INSERT L-xcSubset *ELEMENT= "@AllowAutoLoad" L-xcAutoLoadKNOTE --- Caller can add content or modify above values after this function.xcNetViewPrt EAtabdemo <?BEHb{++++Jbpxml+J/uim+JNetView+ J@ActionPrint422 xcSubset xcNetViewPrt EAtabdemo 03/03/0215:06:20Populate NetView Create default NetView Print subset. Standard XML Container component. ,,,xcNetViewPrt EAtabdemo 00 88JpEXPECTS xcSubset$NOTE --- Issue NetView Print action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN2XML *INSERT L-xcSubset *ELEMENT= "@Action" "Print"xcNetViewPrv EAtabdemo <?BEHb{++++Jbpxml+J/uim+JNetView+'J@Action PrintPreview422 xcSubset xcNetViewPrv EAtabdemo 03/03/0215:06:20Populate NetView Create default NetView Preview subset. Standard XML Container component. :::xcNetViewPrv EAtabdemo 00 88JwEXPECTS xcSubset+NOTE --- Issue NetView PrintPreview action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN9XML *INSERT L-xcSubset *ELEMENT= "@Action" "PrintPreview"LLLxcTabView EAtabdemo :=@Zs++Jbpxml+J/uim+JTabView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTabView EAtabdemo 03/03/0215:06:20Create TabView Create default subset for TabView Create. Standard XML Container component. ___xcTabView EAtabdemo 00 76_'EXPECTS xcSubset xcEventSubset xcAction%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "TabView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTabViewItm EAtabdemo oTWZ{~!'*@`fi++J  /uim/TabView+++ "++JItem+J@Id+J@Label+++ "++J@Select+)++ "++J @Mnemonic+)++)42 22 d2 2 2 xcSubset xcId xcLabel xcMnemonic xcSelect xcTabViewItm EAtabdemo 03/03/0215:06:20Add Tab Item Add Tab Item to TabView. Standard XML Container component. xcTabViewItm EAtabdemo 0020P ?w ,q{1EXPECTS xcSubset xcId xcLabel xcMnemonic xcSelect"XML *KEY L-xcSubset "/uim/TabView"NOTE --- Insert Tab Item:IF L-xcLabel <> "" THEN0 XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel0 NOTE --- Optionally, select a tab as default: IF L-xcSelect <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelect ENDIF IF L-xcMnemonic <> "" THENC XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonic *UP ENDIFENDIF,,,xcTabViewSel EAtabdemo ltNQTWZ]Hcfi+++++%J /uim/TabView/Item+C 1 + C  +*(/uim/TabView/Item[ ]/@Select+J False+ +++1//uim/TabView/Item[@Id='* ']/@Select+J True+++42 22 d  m  v2 xcSubset xcId xcHits xcCount xcElement xcTabViewSel EAtabdemo 03/03/0215:06:20Select Tab. Make a specific tab current. Standard XML Container component. xcTabViewSel EAtabdemo 0017Ja#`4xEXPECTS xcSubset xcId/NOTE --- Set a default tab in a TabView subset.NOTE --- Unselect all tabs: "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Label:IF L-xcMnemonic <> "" THEN< XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonicENDIFNOTE --- Update Selected:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIFxcToolbar EAtabdemo FP FILOi&+++Jbpxml+J/uim+JToolbar+J@Action+ J @EventSubset+++J@WrapTrue+J@ListFalse+J@FlatTrue42 22 d2 xcSubset xcEventSubset xcAction xcToolbar EAtabdemo 03/03/0215:06:20Create Toolbar Create basic subset for Toolbar. Standard XML Container component. mmmxcToolbar EAtabdemo 0013BkS <'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetCNOTE --- Caller can modify the following values prior to rendering:/XML *INSERT L-xcSubset *ELEMENT= "@Wrap" "True"0XML *INSERT L-xcSubset *ELEMENT= "@List" "False"/XML *INSERT L-xcSubset *ELEMENT= "@Flat" "True"xcToolbarBtn EAtabdemo behkn.LRh++++J  /uim/Toolbar+++JButton+" Separator+ +"J @SeparatorTrue++J@Id+ "++J@Bitmap+)+ "++J@Label+)+ "++J@Tooltip+)+)+"True++J +)++4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcTooltip xcUp xcToolbarBtn EAtabdemo 03/03/0215:06:20Add Toolbar Button Add button details to Toolbar. Standard XML Container component. xcToolbarBtn EAtabdemo 0027^Np;Ea -IP5EXPECTS xcSubset xcId xcBitmap xcLabel xcTooltip xcUp9NOTE --- L-xcBitmap is the name of a blob or "Separator"."XML *KEY L-xcSubset "/uim/Toolbar"'NOTE --- Add Button details to Toolbar:/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN IF L-xcBitmap = "Separator" THEN7 XML *INSERT L-xcSubset *ELEMENT= "@Separator" "True"ELSE0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId IF L-xcBitmap <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmap ENDIF IF L-xcLabel <> "" THEN9 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel ENDIF IF L-xcTooltip <> "" THEN= XML *INSERT L-xcSubset *ELEMENT= "@Tooltip" L-xcTooltip ENDIFENDIFIF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIF9NOTE --- Leave key so that caller can add further values.<< "" THEN3 NOTE --- Item with no Id becomes Menu parent.3 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId ENDIF6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UP ENDIFENDIF9NOTE --- Leave key so that caller can add further values.xcToolbarMenu EAtabdemo `d8;>AZ]+++JMenu++422 xcSubset xcToolbarMenu EAtabdemo 03/03/0215:06:20Add Toolbar Menu Add menu details to Toolbar. Standard XML Container component. xcToolbarMenu EAtabdemo 00 64FeEXPECTS xcSubsetNOTE --- Add Menu to Toolbar:-XML *INSERT L-xcSubset *ELEMENT= "Menu" *DOWN9NOTE --- Leave key so that caller can add further values.xcToolbarUpd EAtabdemo ,fil2PVY\r++Jbpxml+Juim+JToolbar+!J@ActionUpdate++JButton+J@Id+++ "++J@Bitmap+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled xcToolbarUpd EAtabdemo 03/03/0215:06:20Update Toolbar Update Toolbar. Standard XML Container component. xcToolbarUpd EAtabdemo 0029b%Z'.F_#*Oj:EXPECTS xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcIdNOTE --- Update Bitmap:IF L-xcBitmap <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmapENDIFNOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIF,NOTE --- Update Check Mark (button pressed):IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFPPPxcTreeView EAtabdemo <?BE_x+++Jbpxml+J/uim+JTreeView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTreeView EAtabdemo 03/03/0215:06:20Create TreeView Create basic subset structure for TreeView. Standard XML Container component. xcTreeView EAtabdemo 00 88aJ'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for TreeView:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTreeViewItm EAtabdemo jmpsv17:=Sqwz}++++JItem+J@Id+J@Label+++J @ForceChild+++"True++ J@EventExpand+)+++ "++J@Update+)+++"Refresh++J@Action+)++++"True++J +)42 22 d2 2 2 2 ,2 ^2 xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp xcTreeViewItm EAtabdemo 03/03/0215:06:21Add TreeView Item Insert tree node based on supplied arguments. Standard XML Container component. xcTreeViewItm EAtabdemo 0031f 9nIPm<CpJEXPECTS xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp'NOTE --- XML key should be in position.-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelNOTE --- Add expand sign (+)?=XML *INSERT L-xcSubset *ELEMENT= "@ForceChild" L-xcForceChild'NOTE --- Optionally, expand on display:IF L-xcSelect = "True" THEN5 XML *INSERT L-xcSubset *ELEMENT= "@Event" "Expand"ENDIFNOTE --- Is this an update?IF L-xcUpdate <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Update" L-xcUpdateENDIFNOTE --- Refresh or Add?IF L-xcAction = "Refresh" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcActionENDIF+NOTE --- Optionally, position XML key back:IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIFLLLxcTreeViewUpd EAtabdemo VY\v),/2Heknq++Jbpxml+Juim+JTreeView+!J@ActionUpdate++JItem+J@Id+!J@ActionUpdate++++ "++J@Label+)+++ "++J@Bold+)42 22 d2 2 xcSubset xcId xcLabel xcBold xcTreeViewUpd EAtabdemo 03/03/0215:06:21Update Toolbar Update Toolbar. Standard XML Container component. xcTreeViewUpd EAtabdemo 0021Rx5d18Og$EXPECTS xcSubset xcId xcLabel xcBold%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"NOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Bold:IF L-xcBold <> "" THEN4 XML *INSERT L-xcSubset *ELEMENT= "@Bold" L-xcBoldENDIFxmlDebugDump EAtabdemo X&x{~S Q/Kj,+++++O debugsubset++++++5J  debugsubset/system/Buffers/Buffer+C 1 +C  +9J  debugsubset/system/Buffers/Buffer[]+ "*R 0/2Error in debug subset+$J debugsubset@Name+Jtmpbpxml+"Jtmp bufferdata@+ J debugsubsettmp+ ++5J  debugsubset/system/Subsets/Subset+C 1 +C  +9J  debugsubset/system/Subsets/Subset[]+ "*R 0/2Error in debug subset+$J debugsubset@Name+"tmp@ +"dbgFile@ +Jtmpbpxml+ J debugsubsettmp+ +++1/LogPath/web/debug_%application%.xml/+L %application%*//+J debugsubset/+J debugsubset+'Debug information stored in /4     xmlHits xmlCount1 xmlValue xmlDebugDump EAtabdemo 03/02/1414:24:50Debug Dump Untitled MuxmlDebugDump EAtabdemo 0038t%Sw@ Jd'`!b+NOTE --- Standard Debug Dump Functionality.MNOTE --- Store this function in your application to extract debug information3NOTE --- for viewing in the Developer Debug Viewer.,NOTE --- Extract Debug info to local Subset:"DEBUG *DUMP *SUBSET= "debugsubset"BNOTE --- For each buffer and subset, merge in the respective data:@NOTE --- (This could be performed conditionally for applicationsANOTE --- maintaining large amounts of data in buffers or subsets)EXML *COUNT "debugsubset" *ELEMENT= "/system/Buffers/Buffer" L-xmlHits=FOR L-xmlCount1 = 1; L-xmlCount1 <= L-xmlHits; L-xmlCount1 ++C XML *KEY "debugsubset" "/system/Buffers/Buffer[" L-xmlCount1 "]"= IF *XMLSTAT <> 0 THEN ERROR "2Error in debug subset"; EXIT7 XML *READ "debugsubset" *ELEMENT= "@Name" L-xmlValue# XML *SUBSET "tmp" *ROOT= "bpxml"? XML *INSERT "tmp" *ELEMENT= "bufferdata" *BUFFER(L-xmlValue)* XML *MERGE "debugsubset" *SOURCE= "tmp"ENDFOREXML *COUNT "debugsubset" *ELEMENT= "/system/Subsets/Subset" L-xmlHits=FOR L-xmlCount1 = 1; L-xmlCount1 <= L-xmlHits; L-xmlCount1 ++C XML *KEY "debugsubset" "/system/Subsets/Subset[" L-xmlCount1 "]"= IF *XMLSTAT <> 0 THEN ERROR "2Error in debug subset"; EXIT7 XML *READ "debugsubset" *ELEMENT= "@Name" L-xmlValue& IF L-xmlValue = "tmp" THEN CONTINUE* IF L-xmlValue = "dbgFile" THEN CONTINUE7 XML *SUBSET "tmp" *ROOT= "bpxml" *SOURCE= L-xmlValue* XML *MERGE "debugsubset" *SOURCE= "tmp"ENDFOR?NOTE --- Store in a file for viewing in Developer Debug Viewer::*FILENAME = *ENV("LogPath") "/web/debug_%application%.xml"8REPLACE "%application%" *TRIM(*APPN) *FILENAME *FILENAME"XML *WRITE "debugsubset" *FILENAMEXML *CLOSE "debugsubset"5MESSAGE 0000 "Debug information stored in " *FILENAMELLLxmlTransformSBS EAtabdemo TWZ]`v'Kqwz++++ " ++J++ +J++)++ "R 0++(&2Error in XSLT (*) in *+/++ Jdebug_xslt.xml+!K debug_xslt.xsl+#Kdebug_xslt.xsl+)++R4 `2 2 ,2 ^  .2 xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction xmlTransformSBS EAtabdemo 03/02/1414:20:33XSL Transformation Wrapper for XSL transformation. Standard component for XML processing. xmlTransformSBS EAtabdemo 0020PEK(9k@EXPECTS xmlSubset xmlStylesheet xmlSubset2 xmlOption xmlFunction?NOTE --- Expects SBS: Subset name, buffer name and subset name.IF L-xmlOption *BLANK THENT XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2ELSEi XML *TRANSFRM *SUBSET= L-xmlSubset *BUFFER= L-xmlStylesheet *SUBSET= L-xmlSubset2 *OPTION= L-xmlOptionENDIFIF *XMLSTAT <> 0 THENR *ERROR = "2Error in XSLT (" *TRIM(L-xmlStylesheet) ") in " *TRIM(L-xmlFunction) ERROR *ERROR0 NOTE --- Store source and xslt for diagnosis:* XML *WRITE L-xmlSubset "debug_xslt.xml" TEXT *REMOVE "debug_xslt.xsl"6 TEXT *WRITE *FILE= "debug_xslt.xsl" L-xmlStylesheetENDIF EXIT *XMLSTATxmlValidate EAtabdemo 18VY\wz} #+.++Jtmpval+++ "R 0++;+++Jtmpval+ "R 0+ +++;+)+Jtmpval+)++++4&  2 xmlFile xmlSchema xmlError xmlValidate EAtabdemo 03/02/1414:20:33Validate XML Validate XML file against XSD schema. Standard component forXML access. ///xmlValidate EAtabdemo 0021Rm>nEXPECTS xmlFile xmlSchemaXML *OPEN "tmpval" L-xmlFile0NOTE --- First check if the file is well-formed:IF *XMLSTAT <> 0 THEN L-xmlError = *ERRTEXTELSEH NOTE --- Now check if the data validates against the supplied schema:. XML *VALIDATE "tmpval" *SCHEMA= L-xmlSchema IF *XMLSTAT = 0 THEN L-xmlError = "" ELSE L-xmlError = *ERRTEXT ENDIF XML *CLOSE "tmpval"ENDIFEXIT L-xmlError/NOTE --- Blank return signifies valid document.Fields SAtabdemo 03/02/1414:18:55  Fields SAtabdemo [SysScreen];15C:457;157:1483;159:1062;15E:8683;15D:6;1D:N;29:3;174:N;196:N;1B4:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:1062;151:8683;152:0;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenCont];14E:Cntnr11;14F:_Root;150:210;14C:6000;14D:452;151:2150;152:2;F2:3;1A0:Y;21:1;17D:Y;9F:N;19F:N;3C:1;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:PushButton2;14F:_Root;150:124;14C:483;14D:146;151:1217;152:10;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Edit8;14F:_Root;150:124;14C:2067;14D:146;151:600;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:ListBox5;14F:_Root;150:114;14C:4633;14D:400;151:1183;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:LabelEdit10;14F:_Root;150:219;14C:2950;14D:146;151:1133;152:3;F2:3;6F:N;1A0:Y;2:Y;17D:N;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:RadioButton3;14F:_Root;150:329;14C:533;14D:146;151:1283;152:9;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CheckBox7;14F:_Root;150:367;14C:2400;14D:146;151:1117;152:6;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:IconButton4;14F:_Root;150:529;14C:683;14D:200;151:600;152:8;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:DropDownList6;14F:_Root;150:543;14C:2683;14D:154;151:1417;152:7;F2:3;6F:N;1A0:Y;2:Y;17D:Y;9F:Y;19F:Y;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static9;14F:_Root;150:48;14C:3433;14D:100;151:433;152:4;F2:3;48:"Label";1A0:Y;21:4;B2:1;[SysScreenRect];14E:Rect12;14F:_Root;150:767;14C:2717;14D:231;151:2200;152:11;F2:3;1A0:Y;21:1;Fields IAtabdemo P- 4- -  - - -   - PushButton2Edit8ListBox5LabelEdit10RadioButton3CheckBox7IconButton4DropDownList6LabelLabelFields IAtabdemo                  vvvFields OAtabdemo VXZ\^hrt"Label""Label"Listbox SAtabdemo 03/02/1716:00:20 Listbox SAtabdemo [SysScreen];15C:457;157:1483;159:1062;15E:8683;15D:6;1D:N;29:3;174:N;196:N;1B4:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:1062;151:8683;152:0;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:ListField;14F:_Root;150:81;14C:233;14D:1269;151:6500;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:2;1C5:inputXML;[SysScreenField];14E:Preview;14F:_Root;150:95;14C:6867;14D:1223;151:1533;152:6;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:Y;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:ListItemId;14F:_Root;150:900;14C:1133;14D:108;151:3067;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static4;14F:_Root;150:0;14C:250;14D:100;151:2067;152:5;F2:3;48:"Select a color from the list\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static8;14F:_Root;150:0;14C:6850;14D:100;151:683;152:4;F2:3;48:"Preview\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static1;14F:_Root;150:905;14C:267;14D:100;151:583;152:1;F2:3;48:"Item Id\:";1A0:Y;21:4;B2:1;Listbox IAtabdemo -   b- B- 2ListFieldPreviewListItemIdF-tabdemo_ListF-tabdemo_ListDbl)Double click to set the foreground color.Listbox IAtabdemo       2 Listbox OAtabdemo @8[F-tabdemo_ListF-tabdemo_ListDbl,"Double click to set the foreground color."Picture SAtabdemo 03/02/1711:25:48 Picture SAtabdemo [SysScreen];15C:457;157:1483;159:1062;15E:7100;15D:6;1D:N;29:3;174:N;196:N;1B4:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:1062;151:7100;152:0;F2:3;1A0:Y;17D:N;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:Picture0;14F:_Root;150:119;14C:1483;14D:1015;151:3133;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:N;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;kkkPicture IAtabdemo 09   Picture0#outbackxxxPicture IAtabdemo   888Picture OAtabdemo , Z-outbackTree SAtabdemo 03/02/1712:24:23 iTree SAtabdemo [SysScreen];15C:457;157:1483;159:1062;15E:8683;15D:6;1D:N;29:3;174:N;196:N;1B4:N;1B6:N;1BB:1;1BC:2;[SysScreenCont];14E:_Root;150:0;14C:0;14D:1062;151:8683;152:0;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;1B3:N;[SysScreenField];14E:Tree;14F:_Root;150:148;14C:233;14D:1346;151:4500;152:8;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:3;1C5:inputXML;[SysScreenField];14E:TreeId;14F:_Root;150:162;14C:6167;14D:108;151:1567;152:7;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:TreeLabel;14F:_Root;150:286;14C:6167;14D:108;151:1567;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:TreeBold;14F:_Root;150:395;14C:6117;14D:100;151:900;152:1;E1:B;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb1;14F:_Root;150:886;14C:6867;14D:131;151:1567;152:6;E1:T;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static4;14F:_Root;150:67;14C:233;14D:100;151:2283;152:5;F2:3;48:"Select an Item from the Tree\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static1;14F:_Root;150:162;14C:5083;14D:100;151:683;152:3;F2:3;48:"Node Id\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static2;14F:_Root;150:286;14C:5083;14D:100;151:967;152:4;F2:3;48:"Node Label\:";1A0:Y;21:4;B2:1;ZZZTree IAtabdemo -  - - n- Ov- TreeTreeIdTreeLabelTreeBoldPb1F-tabdemo_TreeF-Tree_ExpandBold Update TreeF-Tree_UpdateTree IAtabdemo           Tree OAtabdemo @DcegpF-tabdemo_TreeF-Tree_Expand"Bold""Update Tree"F-Tree_Updatetabdemo SAtabdemo 03/03/2011:32:28 +tabdemo SAtabdemo [SysScreen];15C:457;157:1483;159:2848;15E:13333;15D:6;1D:N;29:3;174:Y;196:N;1B4:N;1B6:N;1BB:1;1BC:1;[SysScreenCont];14E:_Root;150:0;14C:0;14D:2848;151:13333;152:0;F2:3;1A0:Y;17D:N;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;16A:VISIT tabdemo_source;3D:TabDemo Application;1B3:N;[SysScreenCont];14E:GroupBox2;14F:_Root;150:133;14C:233;14D:1876;151:3433;152:4;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Tab Details;1B3:N;[SysScreenCont];14E:Display;14F:_Root;150:281;14C:4250;14D:1014;151:8717;152:6;F2:3;1A0:Y;21:4;17D:Y;9F:N;19F:N;3C:1;12B:N;18:Y;10F:0;110:0;10C:0;10D:0;3B:1;18C:N;ED:N;17A:N;179:N;103:N;102:N;E6:N;E5:N;19:N;F3:N;173:N;1B3:N;[SysScreenCont];14E:GroupBox1;14F:_Root;150:2133;14C:233;14D:643;151:3433;152:5;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:"Update Tabs";1B3:N;[SysScreenField];14E:TabField;14F:_Root;150:52;14C:3900;14D:2254;151:9233;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:4;1C5:inputXML;[SysScreenField];14E:Debug;14F:_Root;150:1486;14C:3900;14D:100;151:2900;152:2;E1:X;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:DebugView;14F:_Root;150:1581;14C:3900;14D:1946;151:9233;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:N;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:5;1C5:Intro;[SysScreenField];14E:LabelEdit20;14F:GroupBox2;150:29;14C:150;14D:454;151:3200;152:19;F2:3;6F:N;1A0:Y;2:Y;17D:N;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab1;14F:GroupBox2;150:414;14C:783;14D:131;151:1167;152:18;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab1Mnemonic;14F:GroupBox2;150:414;14C:2150;14D:131;151:333;152:17;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab2;14F:GroupBox2;150:552;14C:783;14D:131;151:1167;152:16;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab2Mnemonic;14F:GroupBox2;150:552;14C:2150;14D:131;151:333;152:15;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab3;14F:GroupBox2;150:690;14C:783;14D:131;151:1167;152:14;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab3Mnemonic;14F:GroupBox2;150:690;14C:2150;14D:131;151:333;152:13;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Style;14F:GroupBox2;150:957;14C:783;14D:154;151:983;152:12;F2:3;6F:N;1A0:Y;2:Y;17D:Y;9F:Y;19F:Y;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:AddMany;14F:GroupBox2;150:1086;14C:733;14D:100;151:1733;152:11;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:MultiRow;14F:GroupBox2;150:1176;14C:733;14D:100;151:2167;152:10;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab1Default;14F:GroupBox2;150:1371;14C:817;14D:100;151:717;152:9;E1:D;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab2Default;14F:GroupBox2;150:1452;14C:817;14D:100;151:717;152:8;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Tab3Default;14F:GroupBox2;150:1533;14C:817;14D:100;151:717;152:7;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:PushButton25;14F:GroupBox2;150:1695;14C:1800;14D:146;151:1317;152:6;E1:R;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:UpdateId;14F:GroupBox1;150:52;14C:783;14D:108;151:1567;152:7;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:UpdateLabel;14F:GroupBox1;150:176;14C:783;14D:108;151:1567;152:6;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:UpdateMnemonic;14F:GroupBox1;150:176;14C:2550;14D:108;151:333;152:5;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:UpdateSelect;14F:GroupBox1;150:295;14C:733;14D:100;151:900;152:4;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Pb1;14F:GroupBox1;150:457;14C:1800;14D:131;151:1317;152:3;E1:U;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenLabel];14E:Static8;14F:GroupBox2;150:414;14C:150;14D:100;151:467;152:5;F2:3;48:"Tab 1";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static11;14F:GroupBox2;150:552;14C:150;14D:100;151:467;152:4;F2:3;48:"Tab 2";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static15;14F:GroupBox2;150:690;14C:150;14D:100;151:467;152:3;F2:3;48:"Tab 3";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static3;14F:GroupBox2;150:829;14C:150;14D:100;151:800;152:2;F2:3;48:"Tab Style\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static4;14F:GroupBox2;150:1290;14C:150;14D:100;151:983;152:1;E1:D;F2:3;48:"Default Tab\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static1;14F:GroupBox1;150:52;14C:83;14D:100;151:567;152:2;F2:3;48:"Tab Id\:";1A0:Y;21:4;B2:1;[SysScreenLabel];14E:Static2;14F:GroupBox1;150:167;14C:83;14D:100;151:483;152:1;F2:3;48:"Label\:";1A0:Y;21:4;B2:1;3[tabdemo IAtabdemo -  - u-  WZ% ;- - - - - - - _- ?-  - x- g- xVd- - - v- ]- B- (.tabdemo_source4TabFieldDebugDebugViewLabelEdit20Tab1Tab1MnemonicTab2Tab2MnemonicTab3Tab3MnemonicStyleAddManyMultiRowTab1DefaultTab2DefaultTab3DefaultPushButton25UpdateIdUpdateLabelUpdateMnemonicUpdateSelectPb1StyleF-tabdemo_TabFieldF-Debug Display XML used to render tabs.Enter tab labels and press 'Render'. To remove a tab clear the tab label and render again. 'Add Many Tabs' will demonstrate the tab scrolling feature. Add Many TabsMultiple Rows of TabsF-tabdemo_DefTabTab1F-tabdemo_DefTabTab2F-tabdemo_DefTabTab3 Render Tabs F-RenderTabsSelectUpdate F-Update0tabdemo IAtabdemo                        Style                       SSStabdemo OAtabdemo      .024?F-tabdemo_TabFieldF-Debug#"Display XML used to render tabs.""Enter tab labels and press 'Render'. To remove a tab clear the tab label and render again. 'Add Many Tabs' will demonstrate the tab scrolling feature.""Add Many Tabs""Multiple Rows of Tabs"F-tabdemo_DefTab"Tab1"F-tabdemo_DefTab"Tab2"F-tabdemo_DefTab"Tab3""Render Tabs" F-RenderTabs "Select" "Update" F-Update///DefaultTab VAtabdemo  ___ListViewItem VAtabdemo 2 MonthDays TAtabdemo R 312831303030313130313031JanFebMarAprMayJunJulAugSepOctNovDecFFFStyle TAtabdemo  Top Bottomdddtooldemo AAtooldemo 1tooldemo *ALL english 3 03/03/2416:58:47 APPLICATION AAtooldemo03/03/1710:47:11Toolbar Demo Demonstration application by TODAY Systems, Inc. xcAction YAtooldemo03/03/2416:57:21Action Standard XML Container component. zzzxcAction YAtooldemo 120 Action xcAlign YAtooldemo03/03/2416:57:21Align Standard XML Container component. zzzxcAlign YAtooldemo 120 Align xcAutoLoad YAtooldemo03/03/2416:57:21AutoLoad Standard XML Container component. zzzxcAutoLoad YAtooldemo 120 AutoLoad xcAutoload YAtooldemo03/02/1716:12:26Autoload Standard XML Container component. zzzxcAutoload YAtooldemo 120 Autoload xcBitmap YAtooldemo03/03/2416:57:21Mnemonic Standard XML Container component. zzzxcBitmap YAtooldemo 120 Mnemonic xcBold YAtooldemo03/03/2416:57:21Bold Standard XML Container component. zzzxcBold YAtooldemo 120 Bold xcChecked YAtooldemo03/03/2416:57:21Checked Standard XML Container component. zzzxcChecked YAtooldemo 120 Checked xcColumnId YAtooldemo03/03/2416:57:21Column Id Standard XML Container component. zzzxcColumnId YAtooldemo 120 ColumnId xcCount YAtooldemo03/03/2416:57:21Count Standard XML Container component. zzzxcCount YAtooldemo 1 0 Count xcDirection YAtooldemo03/03/2416:57:21Direction Standard XML Container component. zzzxcDirection YAtooldemo 120 Direction xcElement YAtooldemo03/03/2416:57:21Element Standard XML Container component. zzzxcElement YAtooldemo 120 Element xcEnabled YAtooldemo03/03/2416:57:21Enabled Standard XML Container component. zzzxcEnabled YAtooldemo 120 Enabled xcEvent YAtooldemo03/03/2416:57:21Event Standard XML Container component. zzzxcEvent YAtooldemo 120 Event xcEventSubset YAtooldemo03/03/2416:57:21Event Subset Name Standard XML Container component. zzzxcEventSubset YAtooldemo 120 EventSubset xcFilename YAtooldemo03/03/2416:57:21Filename Standard XML Container component. zzzxcFilename YAtooldemo 10 Filename xcForceChild YAtooldemo03/03/2416:57:21ForceChild Standard XML Container component. zzzxcForceChild YAtooldemo 120 ForceChild xcFrame YAtooldemo03/03/2416:57:21Frame Standard XML Container component. zzzxcFrame YAtooldemo 120 Frame xcHasChild YAtooldemo03/03/2416:57:21HasChild Standard XML Container component. zzzxcHasChild YAtooldemo 120 HasChild xcHits YAtooldemo03/03/2416:57:21Hits Standard XML Container component. zzzxcHits YAtooldemo 1 0 Hits xcId YAtooldemo03/03/2416:57:21Identifier Standard XML Container component. zzzxcId YAtooldemo 120 Id xcIsParent YAtooldemo03/03/2416:57:21Is a Parent Standard XML Container component. zzzxcIsParent YAtooldemo 120 IsParent xcLabel YAtooldemo03/03/2416:57:21Label Standard XML Container component. zzzxcLabel YAtooldemo 120 Label xcLevel YAtooldemo03/03/2416:57:21Level Standard XML Container component. zzzxcLevel YAtooldemo 120 Level xcMnemonic YAtooldemo03/03/2416:57:21Mnemonic Standard XML Container component. zzzxcMnemonic YAtooldemo 120 Mnemonic xcSelect YAtooldemo03/03/2416:57:21Select Standard XML Container component. zzzxcSelect YAtooldemo 120 Select xcSort YAtooldemo03/03/2416:57:21Sort Standard XML Container component. zzzxcSort YAtooldemo 120 Sort xcStyle YAtooldemo03/03/2416:57:21Style Standard XML Container component. zzzxcStyle YAtooldemo 120 Style xcSubset YAtooldemo03/03/2416:57:21Subset Name Standard XML Container component. zzzxcSubset YAtooldemo 120 Subset xcSubset2 YAtooldemo03/03/2416:57:21Subset Name2 Standard XML Container component. zzzxcSubset2 YAtooldemo 120 Subset2 xcTooltip YAtooldemo03/03/2416:57:21Mnemonic Standard XML Container component. zzzxcTooltip YAtooldemo 120 Mnemonic xcUp YAtooldemo03/03/2416:57:21Up Standard XML Container component. zzzxcUp YAtooldemo 120 Up xcUpdate YAtooldemo03/03/2416:57:21Update Standard XML Container component. zzzxcUpdate YAtooldemo 120 Update xcUrl YAtooldemo03/03/2416:57:21Url Standard XML Container component. zzzxcUrl YAtooldemo 10 Url xcValue YAtooldemo03/03/2416:57:21Value Standard XML Container component. zzzxcValue YAtooldemo 10 Value xcWidth YAtooldemo03/03/2416:57:21Width Standard XML Container component. zzzxcWidth YAtooldemo 120 Width =>?Intro iAtooldemo= Toolbar Demonstration

Toolbar Demonstration

Click on Small Buttons or Large Buttons to display a dynamic toolbar. Click on Vertical to display the same toolbar in a vertical view.

Background

Toolbars are rendered at runtime in XML Containers of type "ToolBar". This allows the developer to change the content and style of toolbars dynamically and interactively at runtime.

BuildPro will generate toolbar buttons based on the size of the bitmap. This allows different tools to render in different sizes. Bitmaps must all be the same size (vertical and horizontal pixels) within a single toolbar.

Toolbar buttons will wrap within the painted XML Container. This allows the developer to have multiple lines of buttons or several columns of smaller buttons. Adding or removing the text label will change the required area to render the buttons.

For more information send a message to support@todaysystems.com.au.

 

Intro iAtooldemo03/02/2611:53:27Untitled Untitled bitmap1 iAtooldemo~BM~v(bitmap1 iAtooldemo02/08/0110:14:45Untitled Untitled """bitmap2 iAtooldemoBMv(wwwpwwwwwwpwwwwbitmap2 iAtooldemo02/08/0112:35:31Untitled Untitled """bitmap3 iAtooldemoBMv(wwwpwwwwwwpwwwwbitmap3 iAtooldemo02/08/1317:32:35Untitled Untitled "calendar iAtooldemoBM6(((calendar iAtooldemo02/08/1910:02:34Untitled Untitled "contacts iAtooldemoBM6(((contacts iAtooldemo02/08/1910:02:34Untitled Untitled copy iAtooldemo~BMv(DDDDHOHOHOHOHOHODHOOHDDD copy iAtooldemo02/08/1910:31:40Untitled Untitled cut iAtooldemo~BMv(DHHHHHHDHHHDH@H cut iAtooldemo02/08/1910:31:40Untitled Untitled "home iAtooldemoBM6(((home iAtooldemo02/08/1910:02:35Untitled Untitled "inbox iAtooldemoBM6(((inbox iAtooldemo02/08/1910:02:35Untitled Untitled new iAtooldemo~BMv( new iAtooldemo02/08/1910:31:40Untitled Untitled "notes iAtooldemoBM6(((notes iAtooldemo02/08/1910:02:35Untitled Untitled open iAtooldemo~BMv(33330 333333330 3333   open iAtooldemo02/08/1910:31:40Untitled Untitled paste iAtooldemo~BMv(DDDDDO77ODDDssO77ODODDssOOH77ODssDDD@777770ppp0s sp paste iAtooldemo02/08/1910:31:40Untitled Untitled properties iAtooldemo~BM~v(properties iAtooldemo02/08/1910:28:03Untitled Untitled "recycle iAtooldemoBM6(((recycle iAtooldemo02/08/1910:02:35Untitled Untitled save iAtooldemo~BMv(333333333333000000 save iAtooldemo02/08/1910:31:40Untitled Untitled "tasks iAtooldemoBM6(((tasks iAtooldemo02/08/1910:02:35Untitled Untitled xslindent iAtooldemo xslindent iAtooldemo03/02/2613:17:46Untitled Untitled Checked EAtooldemoRUu6>_ehkn+" Checked5++3 xcToolbarUpdToolUpdnewTrue++4 xcToolbarUpdToolUpdnewFalse+)+++"Vertical5+ + SmallVerticalToolUpd+ +SmallHorizontalToolUpd+)++++" Debug5++ DisplayXMLToolUpd+)4Checked EAtooldemo03/02/1316:41:36Untitled Untitled Checked EAtooldemo0019Nk%@v|NOTE --- Update Check Mark:IF S-Checked = *YES THEN5 VISIT xcToolbarUpd "ToolUpd" "new" "" "" "True" ""ELSE6 VISIT xcToolbarUpd "ToolUpd" "new" "" "" "False" ""ENDIF"NOTE --- Render Update to Toolbar:IF V-Vertical = *YES THEN4 SCREEN *RENDER "SmallVertical" *SUBSET= "ToolUpd"ELSE6 SCREEN *RENDER "SmallHorizontal" *SUBSET= "ToolUpd"ENDIFNOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "ToolUpd"ENDIFiiiDebug EAtooldemo2Jc "6++ DebugViewIntro+)4Debug EAtooldemo03/03/0314:06:12Untitled Untitled vvvDebug EAtooldemo00 3.?oIF * = *NO THEN. SCREEN *RENDER "DebugView" *SUBSET= "Intro"ENDIFDisabled EAtooldemoRUv7?`filo+" Disabled5++4 xcToolbarUpdToolUpdnewFalse++3 xcToolbarUpdToolUpdnewTrue+)+++"Vertical5+ + SmallVerticalToolUpd+ +SmallHorizontalToolUpd+)++++" Debug5++ DisplayXMLToolUpd+)4Disabled EAtooldemo03/02/1316:42:07Untitled Untitled    Disabled EAtooldemo0019Nq,G}!NOTE --- Update Enable / Disable:IF S-Disabled = *YES THEN6 VISIT xcToolbarUpd "ToolUpd" "new" "" "" "" "False"ELSE5 VISIT xcToolbarUpd "ToolUpd" "new" "" "" "" "True"ENDIF"NOTE --- Render Update to Toolbar:IF V-Vertical = *YES THEN4 SCREEN *RENDER "SmallVertical" *SUBSET= "ToolUpd"ELSE6 SCREEN *RENDER "SmallHorizontal" *SUBSET= "ToolUpd"ENDIFNOTE --- Display the XML used:IF S-Debug = *YES THEN VISIT DisplayXML "ToolUpd"ENDIFDisplayXML EAtooldemoNQTW8QTk+++0 xcNetViewtmp DebugEventTrue+++Z.xml+J+Ktmp+Ktmp+K ++/Jtmp/uim/NetView/Content@tmp+Ktmp++ DebugViewtmp+Jtmp4,2 2 xcSubset xcFilename DisplayXML EAtooldemo03/03/0314:25:19Untitled Untitled DisplayXML EAtooldemo0017J\ 1EdEXPECTS xcSubset$NOTE --- Display the XML in NetView:9VISIT xcNetView "tmp" "DebugEvent" L-xcFilename "" "True"1NOTE --- Insert Subset Content into Creation XML:L-xcFilename = *TEMP ".xml""XML *WRITE L-xcSubset L-xcFilenameTEXT *BUFFER "tmp"TEXT *LOAD "tmp" L-xcFilenameTEXT *REMOVE L-xcFilenameAXML *INSERT "tmp" *ELEMENT= "/uim/NetView/Content" *BUFFER("tmp")TEXT *RELEASE "tmp")SCREEN *RENDER "DebugView" *SUBSET= "tmp"XML *CLOSE "tmp"DDDNetView EAtooldemoRBt:J NetViewEvent/uim/NetView/Navigate/@URL++"bp://+++6 xcNetViewnettmp NetViewEventFalse+NetViewnettmp++"/  ToolbarSmall ToolbarSmall+"/  ToolbarLarge ToolbarLarge+"Vertical+++"Vertical5++6Vertical++5Vertical+)+ CbVertical CbVertical+)+)4 xcFilename NetView EAtooldemo03/02/1114:39:11 NetView EAtooldemo0019N%TZ 9ZuLXML *READ "NetViewEvent" *ELEMENT= "/uim/NetView/Navigate/@URL" L-xcFilename$IF L-xcFilename[1,5] <> "bp://" THEN NOTE --- Allow other URLs:B VISIT xcNetView "nettmp" "NetViewEvent" L-xcFilename "" "False"- SCREEN *RENDER "NetView" *SUBSET= "nettmp"ELSEA IF L-xcFilename[8,12] = "ToolbarSmall" THEN VISIT ToolbarSmallA IF L-xcFilename[8,12] = "ToolbarLarge" THEN VISIT ToolbarLarge) IF L-xcFilename[8,8] = "Vertical" THEN, NOTE --- Toggle the Vertical Checkbox: IF V-Vertical = *YES THEN V-Vertical = *NO ELSE V-Vertical = *YES ENDIF SHOW *REFRESH S-CbVertical ENDIFENDIFToolbarEvent EAtooldemoX4g7J ToolbarEvent/uim/Toolbar/Button/@Id+++" Debug5++  DisplayXML ToolbarEvent+)++++* Event+ Event Event++++" Sticky5++0 xcToolbarUpdToolUpdTrue+"Vertical5++ SmallVerticalToolUpd++SmallHorizontalToolUpd+)+)422 xcId ToolbarEvent EAtooldemo03/02/1317:35:50 ToolbarEvent EAtooldemo0022T4Md/8s}BXML *READ "ToolbarEvent" *ELEMENT="/uim/Toolbar/Button/@Id" L-xcIdNOTE --- Display the XML used:IF S-Debug = *YES THEN" VISIT DisplayXML "ToolbarEvent"ENDIF7NOTE --- Display the Id of the button that was pressed:S-Event = *TRIM(L-xcId)SHOW *REFRESH S-Event!NOTE --- Keep the button pressed:IF S-Sticky = *YES THEN6 VISIT xcToolbarUpd "ToolUpd" L-xcId "" "" "True" "" IF V-Vertical = *YES THEN7 SCREEN *RENDER "SmallVertical" *SUBSET= "ToolUpd" ELSE9 SCREEN *RENDER "SmallHorizontal" *SUBSET= "ToolUpd" ENDIFENDIF ToolbarLarge EAtooldemo1?JOWF3/7JPSp6<?`+7 xcToolbar ToolbarLarge ToolbarEventCreate+" TextLabel5+ +O xcToolbarBtn ToolbarLargehomehomeHomeGoto Main ViewTrue+N xcToolbarBtn ToolbarLargeinboxinboxInbox Goto InboxTrue+Z xcToolbarBtn ToolbarLargecontactscontactsContacts Goto ContactsTrue+Z xcToolbarBtn ToolbarLargecalendarcalendarCalendar Goto CalendarTrue+N xcToolbarBtn ToolbarLargenotesnotesNotes Goto NotesTrue+N xcToolbarBtn ToolbarLargetaskstasksTasks Goto TasksTrue+` xcToolbarBtn ToolbarLargerecyclerecycle Recycle BinGoto Deleted ItemsTrue++K xcToolbarBtn ToolbarLargehomehomeGoto Main ViewTrue+I xcToolbarBtn ToolbarLargeinboxinbox Goto InboxTrue+R xcToolbarBtn ToolbarLargecontactscontacts Goto ContactsTrue+R xcToolbarBtn ToolbarLargecalendarcalendar Goto CalendarTrue+I xcToolbarBtn ToolbarLargenotesnotes Goto NotesTrue+I xcToolbarBtn ToolbarLargetaskstasks Goto TasksTrue+U xcToolbarBtn ToolbarLargerecyclerecycleGoto Deleted ItemsTrue+)++++"Menu5+ +" TextLabel5++U xcToolbarBtn ToolbarLargetaskmenutasksNewCreate new itemFalse++R xcToolbarBtn ToolbarLargetaskmenutasksCreate new itemFalse+)+# xcToolbarMenu ToolbarLarge+G xcToolbarItem ToolbarLargecustomerCustomer RecordTrue+E xcToolbarItem ToolbarLargeaccountAccount RecordTrue+)++"List5+$+6J  ToolbarLarge/uim/Toolbar/@ListTrue+&+7J  ToolbarLarge/uim/Toolbar/@ListFalse+)+++" Debug5+++  DisplayXML ToolbarLarge+)++"Vertical5+/+! LargeVertical ToolbarLarge+1+#LargeHorizontal ToolbarLarge+)4ToolbarLarge EAtooldemo03/02/1210:25:07 Y ToolbarLarge EAtooldemo0049We mseUy W OVv   R$NOTE --- Large Button Style Toolbar:6VISIT xcToolbar "ToolbarLarge" "ToolbarEvent" "Create"IF V-TextLabel = *YES THENQ VISIT xcToolbarBtn "ToolbarLarge" "home" "home" "Home" "Goto Main View" "True"P VISIT xcToolbarBtn "ToolbarLarge" "inbox" "inbox" "Inbox" "Goto Inbox" "True"\ VISIT xcToolbarBtn "ToolbarLarge" "contacts" "contacts" "Contacts" "Goto Contacts" "True"\ VISIT xcToolbarBtn "ToolbarLarge" "calendar" "calendar" "Calendar" "Goto Calendar" "True"P VISIT xcToolbarBtn "ToolbarLarge" "notes" "notes" "Notes" "Goto Notes" "True"P VISIT xcToolbarBtn "ToolbarLarge" "tasks" "tasks" "Tasks" "Goto Tasks" "True"b VISIT xcToolbarBtn "ToolbarLarge" "recycle" "recycle" "Recycle Bin" "Goto Deleted Items" "True"ELSEM VISIT xcToolbarBtn "ToolbarLarge" "home" "home" "" "Goto Main View" "True"K VISIT xcToolbarBtn "ToolbarLarge" "inbox" "inbox" "" "Goto Inbox" "True"T VISIT xcToolbarBtn "ToolbarLarge" "contacts" "contacts" "" "Goto Contacts" "True"T VISIT xcToolbarBtn "ToolbarLarge" "calendar" "calendar" "" "Goto Calendar" "True"K VISIT xcToolbarBtn "ToolbarLarge" "notes" "notes" "" "Goto Notes" "True"K VISIT xcToolbarBtn "ToolbarLarge" "tasks" "tasks" "" "Goto Tasks" "True"W VISIT xcToolbarBtn "ToolbarLarge" "recycle" "recycle" "" "Goto Deleted Items" "True"ENDIF0NOTE --- Optionally add a drop-down menu button:IF V-Menu = *YES THEN IF V-TextLabel = *YES THENZ VISIT xcToolbarBtn "ToolbarLarge" "taskmenu" "tasks" "New" "Create new item" "False" ELSEW VISIT xcToolbarBtn "ToolbarLarge" "taskmenu" "tasks" "" "Create new item" "False" ENDIF% VISIT xcToolbarMenu "ToolbarLarge"I VISIT xcToolbarItem "ToolbarLarge" "customer" "Customer Record" "True"G VISIT xcToolbarItem "ToolbarLarge" "account" "Account Record" "True"ENDIFIF V-List = *YES THENC XML *MODIFY "ToolbarLarge" *ELEMENT= "/uim/Toolbar/@List" "True"ELSED XML *MODIFY "ToolbarLarge" *ELEMENT= "/uim/Toolbar/@List" "False"ENDIFNOTE --- Display the XML used:IF S-Debug = *YES THEN" VISIT DisplayXML "ToolbarLarge"ENDIFIF V-Vertical = *YES THEN9 SCREEN *RENDER "LargeVertical" *SUBSET= "ToolbarLarge"ELSE; SCREEN *RENDER "LargeHorizontal" *SUBSET= "ToolbarLarge"ENDIF @ ToolbarSmall EAtooldemo 4C/x2:tdA:B Rn FLORn +" TextLabel5+ +7 xcToolbar ToolbarSmall ToolbarEventCreate+M xcToolbarBtn ToolbarSmallnewnewNewCreate new itemTrue+S xcToolbarBtn ToolbarSmallopenopenOpenOpen existing itemTrue+R xcToolbarBtn ToolbarSmallsavesaveSaveSave current itemTrue+> xcToolbarBtn ToolbarSmall SeparatorTrue+F xcToolbarBtn ToolbarSmallcutcutCutCut itemTrue+W xcToolbarBtn ToolbarSmallcopycopyCopyCopy item to clipboardTrue+] xcToolbarBtn ToolbarSmallpastepastePastePaste item from clipboardTrue++7 xcToolbar ToolbarSmall ToolbarEventCreate+J xcToolbarBtn ToolbarSmallnewnewCreate new itemTrue+O xcToolbarBtn ToolbarSmallopenopenOpen existing itemTrue+N xcToolbarBtn ToolbarSmallsavesaveSave current itemTrue+> xcToolbarBtn ToolbarSmall SeparatorTrue+C xcToolbarBtn ToolbarSmallcutcutCut itemTrue+S xcToolbarBtn ToolbarSmallcopycopyCopy item to clipboardTrue+X xcToolbarBtn ToolbarSmallpastepastePaste item from clipboardTrue+)+++"Menu5+"+" TextLabel5++R xcToolbarBtn ToolbarSmallnewmenunewNewCreate new itemFalse++O xcToolbarBtn ToolbarSmallnewmenunewCreate new itemFalse+)+# xcToolbarMenu ToolbarSmall+G xcToolbarItem ToolbarSmallcustomerCustomer RecordTrue+E xcToolbarItem ToolbarSmallaccountAccount RecordTrue+ The time is +4 xcToolbarItem ToolbarSmalltimeTrue+)++"List5+&+6J  ToolbarSmall/uim/Toolbar/@ListTrue+(+7J  ToolbarSmall/uim/Toolbar/@ListFalse+)+++" Debug5+-+  DisplayXML ToolbarSmall+)+++"Vertical5+2+! SmallVertical ToolbarSmall+4+#SmallHorizontal ToolbarSmall+)4 xcValue ToolbarSmall EAtooldemo03/02/2613:00:41  XToolbarSmall EAtooldemo0052+|)kqwS.1P918O   C J h BNOTE --- Small Button Style Toolbar (with or without text labels):IF V-TextLabel = *YES THEN9 VISIT xcToolbar "ToolbarSmall" "ToolbarEvent" "Create"O VISIT xcToolbarBtn "ToolbarSmall" "new" "new" "New" "Create new item" "True"U VISIT xcToolbarBtn "ToolbarSmall" "open" "open" "Open" "Open existing item" "True"T VISIT xcToolbarBtn "ToolbarSmall" "save" "save" "Save" "Save current item" "True"@ VISIT xcToolbarBtn "ToolbarSmall" "" "Separator" "" "" "True"H VISIT xcToolbarBtn "ToolbarSmall" "cut" "cut" "Cut" "Cut item" "True"Y VISIT xcToolbarBtn "ToolbarSmall" "copy" "copy" "Copy" "Copy item to clipboard" "True"_ VISIT xcToolbarBtn "ToolbarSmall" "paste" "paste" "Paste" "Paste item from clipboard" "True"ELSE9 VISIT xcToolbar "ToolbarSmall" "ToolbarEvent" "Create"L VISIT xcToolbarBtn "ToolbarSmall" "new" "new" "" "Create new item" "True"Q VISIT xcToolbarBtn "ToolbarSmall" "open" "open" "" "Open existing item" "True"P VISIT xcToolbarBtn "ToolbarSmall" "save" "save" "" "Save current item" "True"@ VISIT xcToolbarBtn "ToolbarSmall" "" "Separator" "" "" "True"E VISIT xcToolbarBtn "ToolbarSmall" "cut" "cut" "" "Cut item" "True"U VISIT xcToolbarBtn "ToolbarSmall" "copy" "copy" "" "Copy item to clipboard" "True"Z VISIT xcToolbarBtn "ToolbarSmall" "paste" "paste" "" "Paste item from clipboard" "True"ENDIF0NOTE --- Optionally add a drop-down menu button:IF V-Menu = *YES THEN IF V-TextLabel = *YES THENW VISIT xcToolbarBtn "ToolbarSmall" "newmenu" "new" "New" "Create new item" "False" ELSET VISIT xcToolbarBtn "ToolbarSmall" "newmenu" "new" "" "Create new item" "False" ENDIF% VISIT xcToolbarMenu "ToolbarSmall"I VISIT xcToolbarItem "ToolbarSmall" "customer" "Customer Record" "True"G VISIT xcToolbarItem "ToolbarSmall" "account" "Account Record" "True"# L-xcValue = "The time is " *TIME= VISIT xcToolbarItem "ToolbarSmall" "time" L-xcValue "True"ENDIFIF V-List = *YES THENC XML *MODIFY "ToolbarSmall" *ELEMENT= "/uim/Toolbar/@List" "True"ELSED XML *MODIFY "ToolbarSmall" *ELEMENT= "/uim/Toolbar/@List" "False"ENDIFNOTE --- Display the XML used:IF S-Debug = *YES THEN" VISIT DisplayXML "ToolbarSmall"ENDIFNOTE --- Render the Toolbar:IF V-Vertical = *YES THEN9 SCREEN *RENDER "SmallVertical" *SUBSET= "ToolbarSmall"ELSE; SCREEN *RENDER "SmallHorizontal" *SUBSET= "ToolbarSmall"ENDIFtooldemo_Source EAtooldemo25l+4 xcNetViewIntro NetViewEventTrue+3JIntro/uim/NetView/ContentEIntro4tooldemo_Source EAtooldemo03/03/0214:53:24Untitled Untitled tooldemo_Source EAtooldemo00 3.xHNOTE --- Prepare Intro Page (i.e. load blob "Intro" into NetView subset:3VISIT xcNetView "Intro" "NetViewEvent" "" "" "True"CXML *INSERT "Intro" *ELEMENT= "/uim/NetView/Content" *BLOB("Intro")xcListView EAtooldemo\_be.6W]`cy+++Jbpxml+J/uim+JListView+J@Action+ J @EventSubset++ "+ +J@Style++J@StyleMCLB+)+++ "++J @SortColumn+)+ "++"J@SortDirection+)++JColumns4,2 22 d2 2 2 2 xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection xcListView EAtooldemo03/03/2416:57:22Create ListView Create basic subset for ListView. Standard XML Container component. xcListView EAtooldemo0024XR!V] OVFEXPECTS xcSubset xcEventSubset xcStyle xcAction xcColumnId xcDirection'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetIF L-xcStyle <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Style" L-xcStyleELSE3 XML *INSERT L-xcSubset *ELEMENT= "@Style" "MCLB"ENDIF,NOTE --- Optional initial column to sort by:IF L-xcColumnId <> "" THEN> XML *INSERT L-xcSubset *ELEMENT= "@SortColumn" L-xcColumnIdENDIFIF L-xcDirection <> "" THENB XML *INSERT L-xcSubset *ELEMENT= "@SortDirection" L-xcDirectionENDIF*XML *INSERT L-xcSubset *ELEMENT= "Columns"000xcListViewCol EAtooldemo?TLORU"+++'J /uim/ListView/Columns+++JColumn+J @ColumnId+J@Title+++J@Sort++J@Align++J@Width4,2 22 d2 2 2 2 xcSubset xcColumnId xcLabel xcSort xcAlign xcWidth xcListViewCol EAtooldemo03/03/2416:57:22Add a Column Add column details to ListView subset. Standard XML Container component. xcListViewCol EAtooldemo0016H+c Bu:EXPECTS xcSubset xcColumnId xcLabel xcSort xcAlign xcWidthNOTE --- Position at Columns:+XML *KEY L-xcSubset "/uim/ListView/Columns"(NOTE --- Add column details to ListView:/XML *INSERT L-xcSubset *ELEMENT= "Column" *DOWN6XML *INSERT L-xcSubset *ELEMENT= "@ColumnId" L-xcLabel3XML *INSERT L-xcSubset *ELEMENT= "@Title" L-xcLabelNOTE --- Sort: Text, Number1XML *INSERT L-xcSubset *ELEMENT= "@Sort" L-xcSort#NOTE --- Align: Left, Right, Center3XML *INSERT L-xcSubset *ELEMENT= "@Align" L-xcAlign1NOTE --- Width in percent of total display width:7XML *INSERT L-xcSubset *ELEMENT= "@Width" L-xcWidth *UP000xcListViewItm EAtooldemoexX[^a4V\_b+++J  /uim/ListView+++JItem+J@Id+++ "+ +J@Select+)+++JValue+ "++J Value/@Sort+)+++42 22 d ^2 2 xcSubset xcId xcValue xcSort xcSelect xcListViewItm EAtooldemo03/03/2416:57:22Add a List Item Add item details to ListView subset. Standard XML Container component. xcListViewItm EAtooldemo0022TKw(@|-EXPECTS xcSubset xcId xcValue xcSort xcSelectNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId*NOTE --- Optionally, select the list item:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIF NOTE --- Add first column value:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.7NOTE --- Use xcListViewVal to add futher column values.xcListViewMod EAtooldemo @CFIknq+++J  /uim/ListView+++JItem+J@Id+JValue+#JValue/@ColumnId42 22 d2  xcSubset xcId xcColumnId xcValue xcListViewMod EAtooldemo03/03/2416:57:22Modifiy List Item Modify single column on sinlge item in ListView. Standard XML Container component. xcListViewMod EAtooldemo0010<f.b(EXPECTS xcSubset xcId xcColumnId xcValueNOTE --- Position at Items:#XML *KEY L-xcSubset "/uim/ListView"&NOTE --- Add Item details to ListView:-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValue?XML *INSERT L-xcSubset *ELEMENT= "Value/@ColumnId" L-xcColumnIdxcListViewSel EAtooldemo( DGJMg+++Jbpxml+J/uim+JListView+!J@ActionSelect+ J @EventSubset+JItem+J@Id++42 22 d2 xcSubset xcEventSubset xcId xcListViewSel EAtooldemo03/03/2416:57:22Select List Item Create subset to select an item in a ListView. Standard XML Container component. ,,,xcListViewSel EAtooldemo0012@eL#EXPECTS xcSubset xcEventSubset xcId'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "ListView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Select"?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId?NOTE --- Add more Item elements to perform multiple selections.,,,xcListViewVal EAtooldemo BEHKNQm+++++JValue+ "+ +J Value/@Sort+)++4^2 2 ,2 xcSubset xcValue xcSort xcListViewVal EAtooldemo03/03/2416:57:22Add List Item Value Add another column value to a ListView. Standard XML Container component. ~~~xcListViewVal EAtooldemo0011>_8?EXPECTS xcSubset xcValue xcSort.NOTE --- XML Key should already be positioned.NOTE --- Add value to ListView:2XML *INSERT L-xcSubset *ELEMENT= "Value" L-xcValueIF L-xcSort <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "Value/@Sort" L-xcSortENDIF=NOTE --- Leave xml key so that caller can add further values.xcMenubarUpd EAtooldemo,fil4RX[^t++Jbpxml+Juim+JMenubar+!J@ActionUpdate++JItem+J@Id+++"True++J@Parent+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcLabel xcIsParent xcChecked xcEnabled xcMenubarUpd EAtooldemo03/03/2416:57:23Update Menubar Update Menubar. Standard XML Container component. xcMenubarUpd EAtooldemo0029b'\$`gKRw "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Check Mark:IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFxcNetView EAtooldemodgjmp#&)DGdgj++++Jbpxml+J/uim+JNetView+!J@ActionCreate+ J @EventSubset+JNavigate+++J@URL++J@Frame+++J@Header+J @PostData+++!J@HistoryFalse+++"J@AllowAutoLoad+++42 22 d ^2 2 xcSubset xcEventSubset xcFilename xcFrame xcAutoLoad xcNetView EAtooldemo03/03/2416:57:23Populate NetView Create default subset for NetView. Standard XML Container component. oxcNetView EAtooldemo0028`'YRo3p"XML *INSERT L-xcSubset *ELEMENT= "@AllowAutoLoad" L-xcAutoLoadKNOTE --- Caller can add content or modify above values after this function.xcNetViewPrt EAtooldemo<?BEHb{++++Jbpxml+J/uim+JNetView+ J@ActionPrint422 xcSubset xcNetViewPrt EAtooldemo03/03/2416:57:23Populate NetView Create default NetView Print subset. Standard XML Container component. ,,,xcNetViewPrt EAtooldemo00 88JpEXPECTS xcSubset$NOTE --- Issue NetView Print action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN2XML *INSERT L-xcSubset *ELEMENT= "@Action" "Print"xcNetViewPrv EAtooldemo<?BEHb{++++Jbpxml+J/uim+JNetView+'J@Action PrintPreview422 xcSubset xcNetViewPrv EAtooldemo03/03/2416:57:23Populate NetView Create default NetView Preview subset. Standard XML Container component. :::xcNetViewPrv EAtooldemo00 88JwEXPECTS xcSubset+NOTE --- Issue NetView PrintPreview action:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "NetView" *DOWN9XML *INSERT L-xcSubset *ELEMENT= "@Action" "PrintPreview"LLLxcTabView EAtooldemo:=@Zs++Jbpxml+J/uim+JTabView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTabView EAtooldemo03/03/2416:57:23Create TabView Create default subset for TabView Create. Standard XML Container component. ___xcTabView EAtooldemo00 76_'EXPECTS xcSubset xcEventSubset xcAction%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "TabView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTabViewItm EAtooldemooTWZ{~!'*@`fi++J  /uim/TabView+++ "++JItem+J@Id+J@Label+++ "++J@Select+)++ "++J @Mnemonic+)++)42 22 d2 2 2 xcSubset xcId xcLabel xcMnemonic xcSelect xcTabViewItm EAtooldemo03/03/2416:57:24Add Tab Item Add Tab Item to TabView. Standard XML Container component. xcTabViewItm EAtooldemo0020P ?w ,q{1EXPECTS xcSubset xcId xcLabel xcMnemonic xcSelect"XML *KEY L-xcSubset "/uim/TabView"NOTE --- Insert Tab Item:IF L-xcLabel <> "" THEN0 XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel0 NOTE --- Optionally, select a tab as default: IF L-xcSelect <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelect ENDIF IF L-xcMnemonic <> "" THENC XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonic *UP ENDIFENDIF,,,xcTabViewSel EAtooldemoltNQTWZ]Hcfi+++++%J /uim/TabView/Item+C 1 + C  +*(/uim/TabView/Item[ ]/@Select+J False+ +++1//uim/TabView/Item[@Id='* ']/@Select+J True+++42 22 d  m  v2 xcSubset xcId xcHits xcCount xcElement xcTabViewSel EAtooldemo03/03/2416:57:24Select Tab. Make a specific tab current. Standard XML Container component. xcTabViewSel EAtooldemo0017Ja#`4xEXPECTS xcSubset xcId/NOTE --- Set a default tab in a TabView subset.NOTE --- Unselect all tabs: "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Label:IF L-xcMnemonic <> "" THEN< XML *INSERT L-xcSubset *ELEMENT= "@Mnemonic" L-xcMnemonicENDIFNOTE --- Update Selected:IF L-xcSelect <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Select" L-xcSelectENDIFxcToolbar EAtooldemoFP FILOi&+++Jbpxml+J/uim+JToolbar+J@Action+ J @EventSubset+++J@WrapTrue+J@ListFalse+J@FlatTrue42 22 d2 xcSubset xcEventSubset xcAction xcToolbar EAtooldemo03/03/2416:57:24Create Toolbar Create basic subset for Toolbar. Standard XML Container component. mmmxcToolbar EAtooldemo0013BkS <'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for treeview:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubsetCNOTE --- Caller can modify the following values prior to rendering:/XML *INSERT L-xcSubset *ELEMENT= "@Wrap" "True"0XML *INSERT L-xcSubset *ELEMENT= "@List" "False"/XML *INSERT L-xcSubset *ELEMENT= "@Flat" "True"xcToolbarBtn EAtooldemobehkn.LRh++++J  /uim/Toolbar+++JButton+" Separator+ +"J @SeparatorTrue++J@Id+ "++J@Bitmap+)+ "++J@Label+)+ "++J@Tooltip+)+)+"True++J +)++4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcTooltip xcUp xcToolbarBtn EAtooldemo03/03/2416:57:24Add Toolbar Button Add button details to Toolbar. Standard XML Container component. xcToolbarBtn EAtooldemo0027^Np;Ea -IP5EXPECTS xcSubset xcId xcBitmap xcLabel xcTooltip xcUp9NOTE --- L-xcBitmap is the name of a blob or "Separator"."XML *KEY L-xcSubset "/uim/Toolbar"'NOTE --- Add Button details to Toolbar:/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN IF L-xcBitmap = "Separator" THEN7 XML *INSERT L-xcSubset *ELEMENT= "@Separator" "True"ELSE0 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId IF L-xcBitmap <> "" THEN; XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmap ENDIF IF L-xcLabel <> "" THEN9 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel ENDIF IF L-xcTooltip <> "" THEN= XML *INSERT L-xcSubset *ELEMENT= "@Tooltip" L-xcTooltip ENDIFENDIFIF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIF9NOTE --- Leave key so that caller can add further values.<< "" THEN3 NOTE --- Item with no Id becomes Menu parent.3 XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId ENDIF6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabel IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UP ENDIFENDIF9NOTE --- Leave key so that caller can add further values.xcToolbarMenu EAtooldemo`d8;>AZ]+++JMenu++422 xcSubset xcToolbarMenu EAtooldemo03/03/2416:57:25Add Toolbar Menu Add menu details to Toolbar. Standard XML Container component. xcToolbarMenu EAtooldemo00 64FeEXPECTS xcSubsetNOTE --- Add Menu to Toolbar:-XML *INSERT L-xcSubset *ELEMENT= "Menu" *DOWN9NOTE --- Leave key so that caller can add further values.xcToolbarUpd EAtooldemo,fil2PVY\r++Jbpxml+Juim+JToolbar+!J@ActionUpdate++JButton+J@Id+++ "++J@Bitmap+)+++ "++J@Label+)+++ "++J@Checked+)+++ "++J@Enabled+)4,2 22 d2 2 2 2 xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled xcToolbarUpd EAtooldemo03/03/2416:57:25Update Toolbar Update Toolbar. Standard XML Container component. xcToolbarUpd EAtooldemo0029b%Z'.F_#*Oj:EXPECTS xcSubset xcId xcBitmap xcLabel xcChecked xcEnabled%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN0XML *INSERT L-xcSubset *ELEMENT= "Toolbar" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"/XML *INSERT L-xcSubset *ELEMENT= "Button" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcIdNOTE --- Update Bitmap:IF L-xcBitmap <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Bitmap" L-xcBitmapENDIFNOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIF,NOTE --- Update Check Mark (button pressed):IF L-xcChecked <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Checked" L-xcCheckedENDIF#NOTE --- Update Enabled / Disabled:IF L-xcEnabled <> "" THEN: XML *INSERT L-xcSubset *ELEMENT= "@Enabled" L-xcEnabledENDIFPPPxcTreeView EAtooldemo<?BE_x+++Jbpxml+J/uim+JTreeView+J@Action+ J @EventSubset42 22 d2 xcSubset xcEventSubset xcAction xcTreeView EAtooldemo03/03/2416:57:25Create TreeView Create basic subset structure for TreeView. Standard XML Container component. xcTreeView EAtooldemo00 88aJ'EXPECTS xcSubset xcEventSubset xcAction'NOTE --- Setup XML subset for TreeView:%XML *SUBSET L-xcSubset *ROOT= "bpxml"-XML *INSERT L-xcSubset *ELEMENT= "/uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN5XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcAction?XML *INSERT L-xcSubset *ELEMENT= "@EventSubset" L-xcEventSubset888xcTreeViewItm EAtooldemojmpsv17:=Sqwz}++++JItem+J@Id+J@Label+++J @ForceChild+++"True++ J@EventExpand+)+++ "++J@Update+)+++"Refresh++J@Action+)++++"True++J +)42 22 d2 2 2 2 ,2 ^2 xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp xcTreeViewItm EAtooldemo03/03/2416:57:25Add TreeView Item Insert tree node based on supplied arguments. Standard XML Container component. xcTreeViewItm EAtooldemo0031f 9nIPm<CpJEXPECTS xcSubset xcId xcLabel xcSelect xcForceChild xcUpdate xcAction xcUp'NOTE --- XML key should be in position.-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelNOTE --- Add expand sign (+)?=XML *INSERT L-xcSubset *ELEMENT= "@ForceChild" L-xcForceChild'NOTE --- Optionally, expand on display:IF L-xcSelect = "True" THEN5 XML *INSERT L-xcSubset *ELEMENT= "@Event" "Expand"ENDIFNOTE --- Is this an update?IF L-xcUpdate <> "" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Update" L-xcUpdateENDIFNOTE --- Refresh or Add?IF L-xcAction = "Refresh" THEN8 XML *INSERT L-xcSubset *ELEMENT= "@Action" L-xcActionENDIF+NOTE --- Optionally, position XML key back:IF L-xcUp = "True" THEN XML *KEY L-xcSubset *UPENDIFLLLxcTreeViewUpd EAtooldemoVY\v),/2Heknq++Jbpxml+Juim+JTreeView+!J@ActionUpdate++JItem+J@Id+!J@ActionUpdate++++ "++J@Label+)+++ "++J@Bold+)42 22 d2 2 xcSubset xcId xcLabel xcBold xcTreeViewUpd EAtooldemo03/03/2416:57:25Update Toolbar Update Toolbar. Standard XML Container component. xcTreeViewUpd EAtooldemo0021Rx5d18Og$EXPECTS xcSubset xcId xcLabel xcBold%XML *SUBSET L-xcSubset *ROOT= "bpxml",XML *INSERT L-xcSubset *ELEMENT= "uim" *DOWN1XML *INSERT L-xcSubset *ELEMENT= "TreeView" *DOWN3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"-XML *INSERT L-xcSubset *ELEMENT= "Item" *DOWN-XML *INSERT L-xcSubset *ELEMENT= "@Id" L-xcId3XML *INSERT L-xcSubset *ELEMENT= "@Action" "Update"NOTE --- Update Label:IF L-xcLabel <> "" THEN6 XML *INSERT L-xcSubset *ELEMENT= "@Label" L-xcLabelENDIFNOTE --- Update Bold:IF L-xcBold <> "" THEN4 XML *INSERT L-xcSubset *ELEMENT= "@Bold" L-xcBoldENDIFtooldemo SAtooldemo03/03/0314:05:40 ztooldemo SAtooldemo[SysScreen];15C:995;157:4017;159:3571;15E:10833;15D:6;1D:N;29:3;174:Y;196:N;1B4:N;1B6:N;1BB:1;1BC:1;[SysScreenCont];14E:_Root;150:0;14C:0;14D:3571;151:10833;152:0;F2:3;1A0:Y;17D:N;9F:N;19F:N;3C:24;12B:N;18:Y;3B:1;19:N;F3:N;173:N;16A:VISIT tooldemo_Source;3D:Toolbar Demonstration;1B3:N;[SysScreenCont];14E:GroupBox29;14F:_Root;150:805;14C:2667;14D:952;151:7000;152:6;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Toolbar Styles;1B3:N;[SysScreenCont];14E:GroupBox24;14F:_Root;150:1876;14C:2667;14D:1629;151:7000;152:5;F2:3;1A0:Y;17D:Y;9F:N;19F:N;3C:23;12B:N;18:Y;3B:1;19:N;F3:N;173:N;3D:Documentation and Debug;1B3:N;[SysScreenField];14E:SmallHorizontal;14F:_Root;150:24;14C:2733;14D:315;151:7167;152:4;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:7;[SysScreenField];14E:LargeHorizontal;14F:_Root;150:276;14C:2733;14D:554;151:7167;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:7;[SysScreenField];14E:SmallVertical;14F:_Root;150:810;14C:183;14D:4308;151:750;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:7;[SysScreenField];14E:LargeVertical;14F:_Root;150:810;14C:1117;14D:4308;151:1350;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:7;[SysScreenField];14E:PushButton42;14F:GroupBox29;150:67;14C:300;14D:154;151:1333;152:12;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CbTextLabel;14F:GroupBox29;150:71;14C:2267;14D:100;151:1217;152:8;E1:T;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CbVertical;14F:GroupBox29;150:162;14C:2267;14D:100;151:883;152:7;E1:V;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:PushButton38;14F:GroupBox29;150:224;14C:317;14D:154;151:1333;152:11;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CbList;14F:GroupBox29;150:252;14C:2267;14D:100;151:2983;152:6;E1:L;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CbBitmap;14F:GroupBox29;150:343;14C:2267;14D:100;151:1450;152:5;E1:B;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:CbMenu;14F:GroupBox29;150:433;14C:2267;14D:100;151:2483;152:4;E1:M;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Checked;14F:GroupBox29;150:524;14C:2267;14D:100;151:3000;152:3;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Disabled;14F:GroupBox29;150:614;14C:2267;14D:100;151:3000;152:2;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Sticky;14F:GroupBox29;150:705;14C:2267;14D:100;151:3333;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Event;14F:GroupBox29;150:814;14C:5367;14D:115;151:833;152:10;18B:red;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:Debug;14F:GroupBox24;150:14;14C:200;14D:100;151:4250;152:2;E1:D;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:1;[SysScreenField];14E:DebugView;14F:GroupBox24;150:133;14C:200;14D:2308;151:6600;152:1;F2:3;6F:Y;1A0:Y;2:Y;17D:Y;9F:N;19F:N;122:Y;19C:N;111:N;E3:N;1E:N;1A:N;6D:N;B4:N;B3:N;AE:N;1C:N;AA:N;1B5:N;1C3:N;1C4:5;1C5:Intro;[SysScreenLabel];14E:Static48;14F:GroupBox29;150:819;14C:3233;14D:100;151:1833;152:9;F2:3;48:"Selected Button / Item\:";1A0:Y;21:4;B2:1;}tooldemo IAtooldemo- - g-  N-  5E- h,- 9L- */ - -   - - - - t- S- 1- - ).tooldemo_Source4SmallHorizontalLargeHorizontalSmallVerticalLargeVerticalPushButton42CbTextLabelCbVerticalPushButton38CbListCbBitmapCbMenuCheckedDisabledStickyEventDebugDebugViewF-ToolbarEventF-ToolbarEventF-ToolbarEventF-ToolbarEvent Small ButtonsF-ToolbarSmall TextLabel Text LabelsVerticalVertical Big ButtonsF-ToolbarLargeList'List Style (display label to the right)BitmapDisplay BitmapMenuMenu (add a drop-down list) F-CheckedChecked (toggle New button) F-DisabledDisabled (grey out New button)Keep Buttons PressedF-Debug(Click to view XML data used in Toolbars. F-NetViewxtooldemo IAtooldemo                                    nnntooldemo OAtooldemo % D w   +-bF-ToolbarEventF-ToolbarEventF-ToolbarEventF-ToolbarEvent"Small Buttons"F-ToolbarSmall V-TextLabel"Text Labels" V-Vertical "Vertical""Big Buttons"F-ToolbarLargeV-List*"List Style (display label to the right)" V-Bitmap"Display Bitmap"V-Menu"Menu (add a drop-down list)" F-Checked"Checked (toggle New button)" F-Disabled!"Disabled (grey out New button)""Keep Buttons Pressed"F-Debug+"Click to view XML data used in Toolbars." F-NetView...Bitmap VAtooldemo Y...Debug VAtooldemo ...List VAtooldemo ...Menu VAtooldemo ...TextLabel VAtooldemo ...Vertical VAtooldemo