Skip to main content

GettingStartedControls Part 3

In

Part
3
of
the GettingStartedControls Sample we will create a (Phone Connection) Options scene.Scene ThisSetting scene offersup the possibility"Connection" toNodes chooseSetting up the connection"Devices" typenodes (Cable, Bluetooth and other) from a DialSetting Control onup the left"Devices" side.List The right side displays a Listbehaviors of
devices.Focus WhenHandling abehaviors device gets selected, an associated Sub-List Handling behaviors Control with two TextButtons
will
be
shown.

(Phone Connection) Options Scene

As basis for step 3 of our GettingStartedControls tutorial, please use your own created solution from the previous "GettingStartedControls" tutorial.

And this is what theOur final scene will look like:like this:

drawing-5-1745577307.pngdrawing-7-1676533392.png

Our

Preparinggoal theis to create a Phone Connection Options scene

Awith scenea Dial Control and a List with a Sub-List Control, that will be createdappear and thedisappear camerawhen willan be configureditem in the RenderList Targetsis panel.clicked.

    Create a new scene viausing the menuScene "Scene" -menu's "New 2D Scene"Scene…" ormenu pressitem.

    <
    Ctrl+2
    >
    on
    your
    drawing-7-1676533421.png
    keyboard
      The
      "Add New Scene 2D" dialog will be opened.
      In

      Name the firstnew row select "/Scenes" from the drop-down menu. Enterscene "SceneOptions" as name and press [ OK ]. We always use the prefix "Scene" to have all scenes listed nextnear to each other in the Solution Explorer panel.

        A new scene "SceneOptions" is created and visible in the Solution Explorer panel in folder "Scenes". The new scene is opened in the Scene Editor and in the Scene Tree panel. In the Scene Tree panel you can see that the scene already has a camera. In the Render Targets panel you can see that the camera is already added to the RenderTarget.
        drawing-5-1743151576.png
        In the Render Targets panel check the checkbox of "SceneOptions\Camera" in order to enable rendering.
          Rendering of the scene is enabled. In the Render Targets panel select the SceneOptions\Camera. In the Properties panel's [ Camera ] section change the sequence number to 2.
            The camera's sequence number is set to 2. In the Scene Tree panel the red Information/Warning/Error square disappears.
            drawing-5-1743153260.png

            Importing Images

            This scene uses the built-in Scene Composer controls but they will be customized with new images. Therefore these images have to be imported into the Scene Composer solution.view.

              In the main menu select Import > Import Resources...
                The "Import Resources" dialog will be opened. In the "Import Resources" dialog navigate to the path given in the table below. Select all 16 files and press [ Open ]
                  The "Import Images" dialog will be opened.
                  Import Resources
                  Path

                  /cgi_studio_content/Resources/GettingStartedControls/Options In the "Import Images" dialog select folder "/Resources", make sure to create a new folder "Options" for the imported images and click [ OK ].
                    In the Solution Explorer you can see that there is a new folder "Options" in folder "Resources" that contains the 16 imported images. The images have been imported and can be used in the Scene Composer solution.
                    drawing-5-1743158462.pngdrawing-5-1731685091.png

                    Configuring the Background

                    ThisThe scene is composednow created and already opened inside the Scene Tree panel. It already contains a standard camera. The Viewport size of twothe parts:camera Connectionfollows andthe Devices. For eachsize of thesethe partsRender aTarget 2D(1024x768). GroupThe nodenew scene's camera should automatically be connected to the Render Target. If it isn't, please drag the Camera onto the default RenderTarget in the Render Targets panel. Change the Sequence Number to 2 in the Properties panel so that this scene will be created.rendered To positionabove the backgroundSceneClimate.

                    image
                    drawing-5-1731685199.png

                    Before anything else, let's import a BimapNodefew images for the Options scene by clicking (Import > Import Resources) and selecting the files in /cgi_studio_content/Resources/GettingStartedControls/Options:

                    drawing-5-1731685329.png

                    First, drag two Group Nodes from the Toolbox into the Scene Tree. The first group will represent the "Connection" Dial and the second group will be configuredfor withthe "Devices" List. Rename the first Group Node to "Connection" and the second Group Node to "Devices". Under each group, add a Bitmap Node from the Toolbox and rename it to "Background".

                    drawing-5-1731685473.png

                    Select one of the images imported in the previous section.

                      From the Toolbox panel's [Bitmap Node 2D ] section drag a 2D Group node intoin the Scene Tree directlyPanel. onto the node "SceneOptions".
                        In the Scene Tree panel you can see a 2D Group node. From the Toolbox panel's [ Node 2D ] section drag a BitmapNodes onto the 2D Group node.
                          In the Scene Tree panel you can see that a BitmapNodes has been created. In the Scene Tree panelThen, select the 2DBitmapBrushBlend GroupEffect and create a copy either viaset the contextImage menuproperty entries "Copy" and "Paste" or viato the keyboardrecently <Ctrl>+Cimported andbackground <Ctrl>+V.image
                            as Ashown copybelow: ofAnd do the 2Dsame Group with its BitmapNode has been created. In Scene Tree panel the name of the copy is "Group_1". In the Scene Tree panel select the nodes added in the steps before one afterfor the other andBitmap renameNode. them
                            either
                            via
                            drawing-5-1731685708.png

                            Change the contextPosition menuproperty entry "Rename" or by pressing <F2> on your keyboard. Apply the names provided in the table below.

                              In the Scene Tree panel you can see that the nodes have been renamed.
                              Target Item Name
                              Group
                              Connection   BitmapNode Background Group_1
                              Devices   BitmapNode Background
                              drawing-5-1743165446.png
                              In the Scene Tree panel select both BitmapNodes called "Background". This can be achieved by selecting one BitmapNode, holding down the <Ctrl> key and keeping it pressed while clicking on the second BitmapNode. In Scene Tree panel's right side select the "BitmapBrushBlend" effect. In the Properties panel's [ Effect ] section click on the magnifying glass icon next to the Image property.
                                In the Properties panel you can now edit the BitmapBrushBlend effect for both BitmapNodes. The "Choose Item" dialog will be opened.
                                drawing-5-1743171341.png
                                In the "Choose Item" dialog select the image as in the table below and click [ OK ].
                                  The Choose Item dialog will be closed. In the Scene Editor a background image is visible displaying a vertical grey-black gradient.
                                  Property
                                  Path
                                  Image
                                  /Resources/Options/ConnectionOptionsENBOSBmp
                                    drawing-5-1743171365.png
                                    In the Scene Tree panel select theof "Connection" group.to InX: 78 and Y: 58. Change the Properties panel's [ Transformations ] section adjust the "Position"Position property according to the table below. Repeat this step with theof "Devices" group.to
                                      X: In551 Sceneand EditorY: 58. Now we have two rectangles with a gradient background areimages visible.for
                                      Connection group and TargetDevices Name
                                      Position X
                                      Position Y

                                      Connectiongroup.

                                      78.00
                                      58.00

                                      Devices

                                      551.00
                                      58.00
                                      drawing-5-1732270723.png
                                      drawing-5-1743172201.png

                                      Setting


                                      Configuration ofup the "Connection" Nodes

                                      TheDrag left side of the scene offers the possibility to choose the connection type. The Scene Composer's built-ina Dial control will be customized with new images that fitControl to the scene's"Connection" design.Group TextNodesNode. willSet bethe addedPosition property to X: 72.00 and Y: 163.00.

                                      drawing-5-1731686697.png

                                      Replace the default background images to images from recent import, as labels.follows:

                                      Creation

                                      and
                                      Positioning
                                      drawing-5-1731687075.png

                                      In order to arrange the images of the Dial Control

                                        From the Toolbox panel's [ Controls ] section under Touchable drag a Dial control into the Scene Tree panel directly ontocorrectly, the "Connection"Pivot group.Hint"
                                          property Inof theeach Sceneimage Treeshould panelbe aset. DialThis controlstep hasis beennecessary addedfor intoimages the "Connection" group. In the Scene Editorlike the Dial controlimage, iswhich visibleneed into rotate. To do this, go to the topSolution leftExplorer cornerpanel, and select each of the leftfollowing gradientimages: image.
                                          In
                                          drawing-5-1731687154.png

                                          For the Sceneknob Tree panel select the Dial control. In the Properties panel's [ Transformation ] section adjust its position according to the table below.

                                            In the Scene Editor the Dial control is positioned in the lower center of the gradient image.
                                            Target Name
                                            Position X
                                            Position Y

                                            Dial

                                            72.00
                                            163.00

                                            Configuration of the Dial Control

                                            The following steps show how to configure the Dial control with new images.

                                              In the Properties panel's [ Control ] section click on the magnifying glass icon next to propertyimage "KnobNewDial_arrow_middleBmp", Image".
                                                The "Choose Item" dialog will be opened. Inenable the "ChoosePivot Item"Hint" dialogproperty selectand set the imagevalues as infollows: the
                                                table
                                                below
                                                and
                                                click
                                                drawing-5-1731687336.png
                                                [
                                                OK
                                                ].
                                                  The Choose Item dialog will be closed. In the Scene Editor an orange ring will become visible.
                                                  Property
                                                  Path
                                                  Knob Image
                                                  /Resources/Options/NewDial_arrow_middleBmp In the Properties panel's [ Control ] section click on the the "BackgroundImages" section.
                                                    In the Properties panel the "BackgroundImages" section will be expanded. In the Properties panel click on the magnifying glass next to "BackgroundImages 0".
                                                      The "Choose Item" dialog will be opened. In the Choose Item dialog navigate to "/Resources/Options/NewDial_background_leftBmp", select this image and click [ OK ].
                                                        In the Properties panel the first BackgroundImage has been configured. Repeat steps 4 and 5 to configure the remaining BackgroundImages as in the table below.
                                                          In Properties panel all BackgroundImages are configured. In Scene Editor

                                                          As you can see the newlyknob configuredneeds images.to

                                                          Ifbe repositioned to be in the newcenter of the Dial.

                                                          Select the three other background images are(multiple not visible try refreshing the screen by pressing the <F5> key on your keyboard.

                                                          StateImages
                                                          Image Path
                                                          BackgroundImages 0 /Resources/Options/NewDial_background_leftBmp BackgroundImages 1
                                                          /Resources/Options/NewDial_background_middleBmp BackgroundImages 2
                                                          /Resources/Options/NewDial_background_rightBmp
                                                          drawing-5-1743176307.png
                                                          In the Solution Explorer panel select the new Knob Image "/Resources/Options/NewDial_arrow_middleBmp". In the Properties panel's [ Bitmap ] sectionselection), enable "Pivot Hint" by checking the respective checkbox.
                                                            A new property "Pivot Hint" becomes visible. Configure the "Pivot Hint" asproperty inand set the tablepivot below.hint
                                                              as Thefollows: Pivot
                                                              Hint
                                                              for
                                                              drawing-5-1731688023.png

                                                              Add 4 Text Nodes to "Connection" Group Node and move them below Background Node with Ctrl key dragging. Rename them as follows:

                                                              drawing-5-1731688795.png

                                                              Configure the KnobText ImageNodes is configured correctly.

                                                              Inwith the Solutionfollowing Explorervalues: selectText theStyle threeshould imagesbe thatOpenSans25. were
                                                              configured
                                                              as BackgroundImages. In the Properties panel proceed similar to steps 10 and 11, enabling and configuring the Pivot Hint of these three images according to the table below.
                                                                The Pivot Hint is configured correctly.
                                                                In Scene Editor the Dial's images are neatly aligned. The images have a common center.

                                                                If the the images are still not aligned correctly try refreshing the screen by pressing the <F5> key on your keyboard.

                                                                TargetName
                                                                Name
                                                                Enable Pivot Hint Pivot Hint X
                                                                Pivot Hint Y
                                                                NewDial_arrow_middleBmp true 84,50

                                                                88,00

                                                                NewDial_background_leftBmp true
                                                                130,50
                                                                130,50 NewDial_background_middleBmp true
                                                                130,50 130,50 NewDial_Background_rightBmp true
                                                                130,50 130,50

                                                                Adding TextNodes as Connection Labels

                                                                TextNodes will be configured with an attractive font and positioned as labels for choosing the connection type.

                                                                  From the Toolbox panel's [ Nodes 2D ] drag and drop a TextNode into the Scene Tree panel directly onto the "Connection" group node.
                                                                    In the Scene Tree panel a TextNode will become visible.
                                                                    In the Scene Editor the text "Text" will appear.

                                                                    If the text does not appear in Scene Editor, the BitmapNode "Background" might be covering the TextNode. Make sure that "Background" is the first (top) item inside the "Connection" group. Nodes can be re-arranged in the Scene Tree panel via drag&drop.

                                                                    In the Scene Tree panel select the new TextNode. In the Properties panel's [ 2D Text Node ] section click on the magnifying glass icon next to property "Style".
                                                                      The "Text Style Palette" dialog will be opened. In the "Text Style Palette" dialog select "OpenSans25" and click [ OK ].
                                                                        In Scene Editor the- Text Style of the TextNode will change. In the Scene Tree panel right click onto Connection and select "Clone..." from the context menu.
                                                                          The "Clone Item" dialog will be opened. In the "Clone Item" dialog change to the "Multiple Clone" tab. Configure "Number of Copies" to "3" and click [ OK ].
                                                                            In the Scene Tree panel 4 TextNodes are now available inside the "Connection" group.
                                                                            drawing-5-1743178223.png
                                                                            In the Scene Tree panel select the newly created TextNodes one after the other and configure their names in the Scene Tree panel and the remaining properties in the Properties panel as in the table below.
                                                                              The TextNodes are fully configured. The final result of the Connection part can be seen in the images below.
                                                                              TextNode Name 2D Text Node Transformations Text Position X Position Y TextNode_Connection Connection 141 61 TextNode_Bluetooth Bluetooth 149 134 TextNode_Cable Cable 20 200 TextNode_Other Other 315 200
                                                                              drawing-5-1743180340.png

                                                                              Make sure that the "Background" is the first (top) item in the "Connection" group in order to appear in the background and not cover other nodes.

                                                                              At this point, you will now have created the Connection options Dial:

                                                                              drawing-7-1676534080.png

                                                                              Setting up the "Devices" nodes

                                                                              First, add a TextNode to the GroupNode "Devices" for the "Devices" label.

                                                                              Rename it to TextNode_Devices and set its text to "Devices" and set its position to X:145 Y: 61.

                                                                              drawing-5-1731689340.png

                                                                              Next step is to customize an existing List control and set its color of the Scrollbar to orange (original color is blue). At first, drag and drop List Control from ConstructionKit > Controls in Solution Explorer onto SceneOptions in Scene Tree panel.

                                                                              drawing-5-1731689862.png

                                                                              Setting up the "Devices" nodes

                                                                              The right side of the scene displays a list of devices. Scene Composer's built-in List control will be expanded to facilitate customization later on. Based on the existing List control a new reusable MyList control template will be created.

                                                                                In the Scene Tree panel copy the TextNode_Connection from the Connection Group2D either via the context menu "Copy"  or via the keyboard shortcut <Ctrl + C>. Paste the TextNode into the Devices Group2D either via the context menu "Paste" or via the keyboard shortcut <Ctrl + V>.
                                                                                  In the Scene Tree panel you can see that TextNode_Connection has been copied to the Devices group. In the Scene Editor another Textnode with "Connection" is visible. In the Scene Tree panel select the new TextNode_Connection from the Devices group and rename it to TextNode_Devices either via the context menu "rename" or via the keyboard shortcut <F2>.
                                                                                    In the Scene Tree panel you can see a TextNode called TextNode_Devices inside of the Devices Group2D. In the Scene Tree panel select TextNode_Devices. In the Properties panel's [ 2D Text Node ] section change the TextNode's Text property and in the [ Transformation ] section adapt its Position according to the table below.
                                                                                      Text and position of the TextNode are configured. In the Scene Editor you can see that the devices part has got a headline.
                                                                                      TextNode Name 2D Text Node Transformations Text Position X Position Y TextNode_Devices Devices 145 61 From the Toolbox panel's [ Control ] section under "Touchable" drag a List Control into the Scene Tree panel directly onto the "Devices" group node.
                                                                                        In the Scene Tree panel a "List" node is visible directly under the "Background" node. This list node contains a "ListContentGroupAnchor", that is visible in Scene Tree panel by expanding the List node via a click on the triangle on its left. In the Scene Tree panel right-click on the newly created List node and chooseSelect [ Expand Control Node ] from the context menu.menu
                                                                                          of InList thein Scene Tree panelpanel. the
                                                                                          drawing-5-1731690268.png
                                                                                          expanded

                                                                                          Open List now shows a "ListContentGroup" and a "Scrollbar".

                                                                                          In the Scene Tree panel right-click on the "Scrollbar" and once again chooseselect [ Expand Control Node ] from the context menu.menu
                                                                                            Inof the Scene Tree panel the expanded Scrollbar shows 6 sub-nodes.Scrollbar.
                                                                                            drawing-5-1745575189.pngdrawing-5-1731692001.png

                                                                                            In
                                                                                            the
                                                                                            Scene Tree panel right-click on

                                                                                            Select the List nodein Scene Tree and choose [ Save as Control... ] from theList context menu.

                                                                                              Then The "Add New Templates"Templates dialog will be opened. In the "Add New Templates" dialog select the "/Controls" folder to store the new control in, enter "MyList" as nameappear and clickpress [ OK ]. button.
                                                                                                As Athe newresult of that, you can add the control as a customizable control "MyList" has been created. It is visible in the Solution ExplorerExplorer's panelSolution > Controls. After confirming this addition, delete List group node in the Controls folder and in the Toolbox panel's [ Controls ] section as last item of the list.

                                                                                                The Scene Editor doesn't display SceneOptions any more, it displays the control MyList. 

                                                                                                The Scene Tree panel shows the structure of MyList.

                                                                                                The Properties panel shows the properties of "MyList (Control)".
                                                                                                panel.

                                                                                                drawing-5-1743764698.pngdrawing-5-1731692295.png

                                                                                                Configure MyList Control

                                                                                                Expose MyList's ScrollBarVisibility

                                                                                                SceneYou Composer'shave now created a customizable List internally holds a property for the scrollbar's visibility, which is not shown in the Properties panel by default. The following steps show how to access a list of hidden properties. For this sample solution we will make the scrollbar's visibility property publicly editable in the Properties panel.control.

                                                                                                  In the Solution Explorer right-click on the newly created control "MyList" and choose

                                                                                                  Select [ Control Properties... ] from theList context menu.menu

                                                                                                    of Solution Explorer's Solution > Controls. The "Configure Public Control Properties"Properties dialog will beappear, opened.check
                                                                                                    drawing-5-1743758575.png
                                                                                                    In the "ConfigureIs Public Controlfor Properties"ScrollbarVisibility dialog'sunder tree on the left side select the following item MyList > List > Scrollbar > Behaviors > ScrollbarBehavior. In the dialog's centered panel "Internal properties" find property "ScrollbarVisibility", check the "Is Public" checkboxproperties, and click [ OK ].
                                                                                                      The "Configure Public Control Properties" dialog will be closed. For every instance of the MyList control, there will be a property available to configure the visibility of the scrollbar.
                                                                                                      drawing-5-1743759778.png
                                                                                                      In the Scene Tree navigate back to SceneOptions by pressing the arrow in the top left corner.
                                                                                                        The Scene Tree panel navigates back to SceneOptions and displays SceneOptions and its nodes. The Scene Editor displays SceneOptions.
                                                                                                        drawing-5-1743763279.png
                                                                                                        In the Scene Tree delete the List node.
                                                                                                          The "Delete Item" dialog will be opened. In the "Delete Item" dialog press [ OK ].
                                                                                                            button. The
                                                                                                            drawing-5-1731692509.png
                                                                                                            drawing-5-1731692730.png

                                                                                                            Delete the expanded List node is deleted.

                                                                                                            From the Toolbox panel's [ Control ]from sectionSceneOptions drag and drop a MyList control intoin the Scene Tree panelPanel. directlyDrag ontoand drop the Devicesnewly group.created
                                                                                                              List Infrom theSolution Explorer's Solution > Controls to Scene Tree panel, a new MyList node will be visible. In the Scene Tree panel select "MyList". In the Properties panel's [SceneOptions Control> ]Devices. section
                                                                                                              set
                                                                                                              the
                                                                                                              "Scrollbar
                                                                                                              drawing-5-1731692941.png
                                                                                                              Visibility"

                                                                                                              Set Scrollbal Visibility (Properties > Control) of List to "Visible".

                                                                                                                In the Scene Editor a small blue scrollbar becomes visible.
                                                                                                                Visible."
                                                                                                                drawing-5-1745575444.png
                                                                                                                drawing-5-1731693087.png

                                                                                                                Customize MyList's Scrollbar

                                                                                                                Scene Composer's default scrollbar has a blue base color. For our orange based design the scrollbar will be customized in the steps below.

                                                                                                                  In the Scene Tree panel double-Double-click on the MyListList node.in
                                                                                                                    the SceneDevices Tree panel will switch from displaying SceneOptionsgroup to displayingcustomize theit MyList template. In theon Scene TreeTree. panel
                                                                                                                    select
                                                                                                                    drawing-5-1731693169.png

                                                                                                                    Select the "Thumb" button and replace its images as follows:

                                                                                                                    drawing-5-1731693342.png

                                                                                                                    Then select the "VerticalPrevItem" button from inside the PrevItem group node and replace the images as follows:

                                                                                                                    drawing-5-1731693706.png

                                                                                                                    Lastly, select the "VerticalNextItem" button from inside the NextItem group node and replace the images as follows:

                                                                                                                    drawing-5-1731693682.png

                                                                                                                    We want a main list with a sub-list that will expand when an item in the main list is clicked.
                                                                                                                    To do that, first we need a Group Node with an OverlayLayout which will contain the device entry name and the focus image. Therefore, drag a Render Node and a TextNode from the ToolBox "Nodes 2D" into the OverlayLayout.
                                                                                                                    Rename the OverlayLayout to "MainItem".
                                                                                                                    Rename the RenderNode to "FocusImage".
                                                                                                                    Rename the TextNode to "EntryName".

                                                                                                                    The "MainItem" you have now assembled will be the main list item that will be visible.

                                                                                                                    drawing-5-1731693990.png

                                                                                                                    Set the position of the GroupNode List to X:58 and Y:134 and configure its size to X:300 and Y:300.

                                                                                                                    drawing-5-1731694406.png

                                                                                                                    In our list the currently selected main list item shall be highlighted with an orange outline.
                                                                                                                    Therefore drag a BitmapBrushColorBlend effect from the ToolBox onto the FocusImage node. Now select the BitmapBrushColorBlend Effect on the right side of the Scene Tree Panel and set its Image to the BorderFocusedBmp image (which is part of the ConstructionKit) and its Color properties as follows:

                                                                                                                    drawing-5-1731695449.png

                                                                                                                    Now, select the FocusImage node and change its layout properties: Set the StretchBehavior to "Fill".

                                                                                                                    drawing-5-1732264208.png

                                                                                                                    In the following steps we will create a sub-list. Drag a Sub-List control from the Toolbox to the List's ListContentGroup.

                                                                                                                    drawing-5-1732264487.png

                                                                                                                    The Sub-List control has a SublistAnchor. Drag a StackLayout onto this SubListAnchor. Now, drag a TextButton into the StackLayout and change its name to "TextButton_Connect".
                                                                                                                    The resulting structure should look like this:

                                                                                                                    drawing-5-1732264602.png

                                                                                                                    The next step is to configure the TextButton:

                                                                                                                      Scale: X:0.75 and Y:0.75.
                                                                                                                      Margin Left: 12 Text: "Connect".
                                                                                                                      drawing-5-1732265837.png

                                                                                                                      The TextButton's images (Normal Image, Pressed Image and Focused Image) need to be adjusted:

                                                                                                                      drawing-5-1732267095.png

                                                                                                                      Copy and paste the TextButton to make another copy. Rename the other as "TextButton_Unpair", and set its Text property to "Unpair". Resulting structure should look like this:

                                                                                                                      drawing-5-1732267192.png

                                                                                                                      Setting up the "Devices" List behaviors

                                                                                                                      Focus Handling behaviors

                                                                                                                      For the Devices entry items, we need to set the behaviors for focus handling. We want the item to be highlighted only when it is focused. So first, we need to disable Rendering of the FocusImage by default. In the PropertiesFocusImage panelproperties, changeuncheck "Enable Rendering":

                                                                                                                      drawing-5-1732268041.png


                                                                                                                      Next, in order for the button's"MainItem" imageGroup properties accordingNode to send events such as Focus Event when clicked, we have to add a "Handle Control State" behavior (Behaviors > Control > Internal) to MainItem Group Node.

                                                                                                                      Then, to handle these events received, add a "Focus" and "FocusLeave" Event Handler from the tableToolbox belowunder byBehaviors clicking> Control onto the MainItem Group Node.

                                                                                                                      Under each "Actions" of each Focus Event Handler, add an "Enable Rendering" behavior from the Toolbox under Behaviors > Action > Property.

                                                                                                                      drawing-5-1732268359.png

                                                                                                                      This is what the configured Behaviors look like now:

                                                                                                                      drawing-5-1732268449.png

                                                                                                                      As soon as the MainItem gets the focus, the FocusImage shall be visible. Therefore you have to configure the "EnableRendering" behavior of the "Focus" Event Handler as follows: Set the "Visible" property to TRUE and configure the scene's "FocusImage" as TargetNode. To do this, click the magnifying glass icon and selecting the appropriate image"FocusImage" in the "Select Item" dialog.

                                                                                                                        New images for the scrollbar's "Thumb" have been defined.
                                                                                                                           MyList > List > Scrollbar > Thumb
                                                                                                                        Thumb Images
                                                                                                                        Image Path
                                                                                                                        Normal Image /Resources/Options/ThumbNormalBmp2Bmp Pressed Image /Resources/Options/ThumbPressedBmp2Bmp Focused Image /Resources/Options/ThumbNormalBmp2Bmp In the Scene Tree panel select the "VerticalPrevItem" button node. In the Properties panel change the button's image properties according to the table below by clicking the magnifying glass icon and selecting the appropriate image in the "Select Item" dialog.
                                                                                                                          New images for the scrollbar's "VerticalPrevItem" have been defined.
                                                                                                                             MyList > List > Scrollbar > PrevItem > VerticalPrevItem VerticalPrevItem Images
                                                                                                                          Image Path
                                                                                                                          Normal Image /Resources/Options/ArrowUpNormalBmp2Bmp Pressed Image /Resources/Options/ArrowUpPressedBmp2Bmp Focused Image /Resources/Options/ArrowUpNormalBmp2Bmp In the Scene Tree panel select the "VerticalNextItem" button node. In the Properties panel change the button's image properties according to the table below by clicking the magnifying glass icon and selecting the appropriate image in the "Select Item" dialog.
                                                                                                                            New images for the scrollbar's "VerticalNextItem" have been defined.
                                                                                                                               MyList > List > Scrollbar > NextItem > VerticalNextItem VerticalNextItem Images
                                                                                                                            Image Path
                                                                                                                            Normal Image /Resources/Options/ArrowDownNormalBmp2Bmp Pressed Image /Resources/Options/ArrowDownPressedBmp2Bmp Focused Image /Resources/Options/ArrowDownNormalBmp2Bmp In the Scene Tree navigate back to SceneOptions by pressing the arrow in the top left corner.
                                                                                                                              The Scene Tree displays SceneOptions. In the Scene Editor the scroll bar is now rendered with the new images in orange color.
                                                                                                                              drawing-5-1743776784.png

                                                                                                                              Configure MyList's Main Item

                                                                                                                              Our MyList control will be composed of MainItems. Whenever a certain MainItem gets selected, the appropriate Sub-List will be displayed. The following steps explain how to build up a MainItem.

                                                                                                                                In the Scene Tree panel double-click on the MyList node.
                                                                                                                                  Scene Tree panel switches from SceneOptions to MyList. You are now able to edit the MyList template. From the Toolbar's [ 2D Nodes ] section drag an OverlayLayout into the Scene Tree panel directly onto the List's "ListContentGroup" (MyList > List > ListContentGroup).
                                                                                                                                    In the Scene Tree panel there is an OverlayLayout inside of "ListContentGroup". From the Toolbar's [ 2D Nodes ] section drag a RenderNode and a TextNode into the Scene Tree panel directly onto the OverlayLayout that was created in the previous step.
                                                                                                                                      In the Scene Tree panel there are a RenderNode and a TextNode inside the OverlayLayout that was created in the previous step. In the Scene Editor the TextNode is visible displaying the TextNode's default text "Text".
                                                                                                                                      drawing-5-1743780067.png
                                                                                                                                      In the Scene Tree panel select the nodes created in the previous steps and rename them either via the context menu entry "Rename" or by pressing <F2> on your keyboard according to the table below.
                                                                                                                                        In the Scene Tree panel the nodes are renamed according to the following table.
                                                                                                                                           Initial Name
                                                                                                                                        New Name
                                                                                                                                        OverlayLayout MainItem TextNode EntryName RenderNode FocusImage In the Scene Tree panel select the List (Group2D). In the Properties panel's  [ Transformation ] section configure the position and size according to the following table.
                                                                                                                                          In Scene Editor the Position and size of the selected rectangle is adjusted according to the new settings.

                                                                                                                                          Size X and Size Y properties are initially set to "Automatic" and greyed out. Clicking onto the "A" next to the greyed-out input field allows you to edit these properties.

                                                                                                                                                Target Item
                                                                                                                                          Transformation
                                                                                                                                          Layout
                                                                                                                                          Position X Position Y Size X Size Y List (Group2D)
                                                                                                                                          58
                                                                                                                                          134
                                                                                                                                          300
                                                                                                                                          300
                                                                                                                                          In the Scene Tree panel select the TextNode2D (MainItem > EntryName). In the Properties panel's [ TextNode2D ] section click on the magnifying glass icon to the right of the Style property.
                                                                                                                                            The Text Style Palette dialog will be opened. In the Text Style Palette dialog select "OpenSans25" and click [ OK ].
                                                                                                                                              The Text Style Palette will be closed. In the Scene Editor the EntryName's text will be displayed in a smaller font.
                                                                                                                                              Target Item
                                                                                                                                              Style
                                                                                                                                              MainItem > EntryName OpenSans25

                                                                                                                                              Configure MyList's Highlight for Selected Item

                                                                                                                                              In a list it is useful to highlight the selected item. This will be done using a FocusImage drawing a border around the focused MainItem.

                                                                                                                                                From the Toolbox panel's [Effects] section drag a BitmapBrushColorBlend effect into the Scene Tree panel directly onto the MainItem's FocusImage.
                                                                                                                                                  In the Scene Tree panel's right side you can see BitmapBrushColorBlend effect under "Effects" when FocusImage is selected. In the Scene Tree panel select FocusImage. In the Scene Tree panel's right side select the BitmapBrushColorBlend effect. In the Properties panel click on the magnifying glass icon next to the "Image" property.
                                                                                                                                                    The "Choose Item" dialog will be opened. In the "Choose Item" dialog select the image as in the table below and click [ OK ]. 
                                                                                                                                                      The "Choose Item" dialog will be closed.
                                                                                                                                                      Target Item
                                                                                                                                                      Image
                                                                                                                                                      MyList > List > >ListContentGroup > MainItem > FocusImage > BitmapBrushColorBlend //ConstructionKit/ConstructionKit/Controls/Images/Common/BorderFocusedBmp In the Properties panel change the Color property by entering new values for "Red", "Green" and "Blue" according to the table below.
                                                                                                                                                        In the Properties panel the configured orange color will be visible.

                                                                                                                                                        The Color property can also be edited in the Color Palette window, which can be opened by clicking on the color preview rectangle next to the Color property.

                                                                                                                                                        Target Item
                                                                                                                                                        Color

                                                                                                                                                        Red
                                                                                                                                                        Green
                                                                                                                                                        Blue
                                                                                                                                                        MyList > List > >ListContentGroup > MainItem > FocusImage > BitmapBrushColorBlend 1.0
                                                                                                                                                        0.62
                                                                                                                                                        0.00
                                                                                                                                                        drawing-5-1744359604.png
                                                                                                                                                        In the Scene Tree panel select the FocusImage node. In the Properties panel's [ Layout ] section set the StretchBehavior to "Fill" according to the table below.
                                                                                                                                                          In the Scene Editor the FocusImage RenderNode will appear highlighted with an orange outline.
                                                                                                                                                          Target Item
                                                                                                                                                          Layout > StretchBehavior
                                                                                                                                                          MyList > List > >ListContentGroup > MainItem > FocusImage 
                                                                                                                                                          Fill
                                                                                                                                                          drawing-5-1745571777.png

                                                                                                                                                          Create MyList's Sub-List

                                                                                                                                                          A Sub-List will be used to display 2 TextButtons to "Connect" or "Unpair" the associated device. The TextButtons will be positioned by a StackLayout. New images for normal, pressed and focused image will be defined.

                                                                                                                                                            From the Toolbox panel's [ Controls ] section under "Touchable" drag a Sub-List into the Scene Tree panel directly onto the List's ListContentGroup
                                                                                                                                                              In the Scene Tree panel the Sub-List node is positioned inside of ListContentGroup just below the MainItem. The Sub-List has a SubListAnchor.
                                                                                                                                                              drawing-5-1744363377.png
                                                                                                                                                              From the Toolbox panel's [ Node2D ] section drag a StackLayout into the Scene Tree panel directly onto the Sub-List's SubListAnchor.
                                                                                                                                                                In the Scene Tree panel the StackLayout appears beneath the Sub-List's SubListAnchor. From the Toolbox panel's [ Controls ] section under "Touchable" drag a TextButton Into the Scene Tree panel directly onto the StackLayout you added in the step before.
                                                                                                                                                                  In the Scene Tree panel the TextButton appears beneath the StackLayout. In the Scene Tree panel select the StackLayout. In the Properties panel's [ Transformation ] and [ Layout ] section configure the properties as in the table below.
                                                                                                                                                                    In the Scene Editor the dashed line of the TextButton's boundings will decrease.
                                                                                                                                                                    Target Item
                                                                                                                                                                    Transformations
                                                                                                                                                                    Layout
                                                                                                                                                                    Scale X
                                                                                                                                                                    Scale Y
                                                                                                                                                                    Margin Left
                                                                                                                                                                    TextButton
                                                                                                                                                                    0,75
                                                                                                                                                                    0,75
                                                                                                                                                                    12
                                                                                                                                                                    In the Properties panel's [ Control ] section click on the magnifying glass icon next to the TextButton's "Normal Image" property.
                                                                                                                                                                      The "Choose Item" dialog will be opened. In the "Choose Item" dialog select the image according to the table below and click [ OK ].
                                                                                                                                                                        A new image for "Normal Image" has been configured. Repeat steps 5 and 6 for the TextButton's "Pressed Image" and "Focused Image".
                                                                                                                                                                          New images are configured for the TextButton.
                                                                                                                                                                          Target Item
                                                                                                                                                                          Image Path
                                                                                                                                                                          Normal Image
                                                                                                                                                                          /Resources/Options/ButtonNorma_BkBmp
                                                                                                                                                                          Pressed Image
                                                                                                                                                                          /Resources/Options/ButtonNorma_Prss_OreBmp Focused Image
                                                                                                                                                                          /Resources/Options/NOTBorderFocusedBmp In the Scene Tree panel select the TextButton and create a copy either via the context menu entries "Copy" and "Paste" or via the keyboard <Ctrl>+C and <Ctrl>+V.
                                                                                                                                                                            A copy of the TextButton has been created. In Scene Tree panel the name of the copy is "TextButton_1". In Scene Tree panel rename the TextButtons according to the table below. Renaming can be done either via the context menu "Rename" or pressing <F2> on your keyboard.
                                                                                                                                                                              In Scene Tree panel the TextButtons are renamed. In Scene Tree panel select the TextButtons individually and change the text they are displaying in the Properties panel's [ Control ] section according to the table below.
                                                                                                                                                                                The texts of the TextButtons have been changed.
                                                                                                                                                                                Target Item
                                                                                                                                                                                New Name
                                                                                                                                                                                Control - Text
                                                                                                                                                                                TextButton TextButton_Connect Connect TextButton_1 TextButton_Unpair Unpair
                                                                                                                                                                                drawing-5-1744368683.png

                                                                                                                                                                                Configure Behaviors for the Focus Handling of MyList's MainItem

                                                                                                                                                                                Whenever MyList's MainItem gets focused, an orange border shall be displayed. Focus and FocusLeave behaviors are used to enable or disable the rendering of the FocusImage.

                                                                                                                                                                                  In the Scene Tree panel select the MainItem's FocusImage. In the Properties panel's [ Item ] section uncheck "Enable Rendering".
                                                                                                                                                                                    In the Scene Editor FocusImage (the orange rectangle) is not visible any more. In the Scene Tree panel an icon indicates the FocusImage node's disabled rendering.dialog.
                                                                                                                                                                                    drawing-5-1744371732.pngdrawing-5-1732268741.png

                                                                                                                                                                                    From
                                                                                                                                                                                    the
                                                                                                                                                                                    Toolbox

                                                                                                                                                                                    As panel'ssoon [ Behaviors ] section under "Control - Internal" drag a "Handle Control State" behavior into the Scene Tree panel directly ontoas the MainItem GroupNode.

                                                                                                                                                                                      In the Scene Tree panel an orange square appears indicating that this node has a behavior attached. In the Scene Tree panel's right side the attached behavior HandleControlState is visible. From the Toolbox panel's [ Behaviors ] section under "Control" drag a Focus behavior and a FocusLeave behavior into the Scene Tree panel directly onto the MainItem GroupNode.
                                                                                                                                                                                        In the Scene Tree panel's right side the attached behaviors Focus and FocusLeave are visible. Both, Focus and FocusLeave offer the possibility to configure an Action, which will be executed when a Focus or a FocusLeave event occurs. From the Toolbox panel's [ Behaviors ] section under "Action - Property" drag an EnableRendering behavior into the Scene Tree panel's right side directly onto the Action entries of the Focus and FocusLeave behavior.
                                                                                                                                                                                          In the Scene Tree panel's right side it is visible that for each of Focus and FocusLeave behavior an EnableRendering behavior is configured as action.
                                                                                                                                                                                          drawing-5-1744380779.png
                                                                                                                                                                                          In the Scene Tree panel's right side select the EnableRendering behaviors individually. In the Properties panel apply the settings for the property "Visible" as in the table below.
                                                                                                                                                                                            The property "Visible" for both EnableRendering behaviors are configured. In the Properties panel click on the padlock icon in the top right corner, while the EnableRendering behavior is selected.
                                                                                                                                                                                              The Properties panel is locked.
                                                                                                                                                                                              From the Scene Tree panel drag the FocusImage into the Properties panel directly onto the inputfield of the "TargetNode" property.
                                                                                                                                                                                                In the Properties panel FocusImage is configured as the EnableRendering behavior's TargetNode. In the Properties panel click on the padlock icon in the top right corner a second time.
                                                                                                                                                                                                  The Properties panel is unlocked again.
                                                                                                                                                                                                  Repeat steps 6 to 8 for the other EnableRendering behavior to configure its TargetNode.
                                                                                                                                                                                                    MyList's behaviors for focus handling are configured. Whenever the MainItem getsloses the focus, the FocusImage willshall getbe visible.made Wheneverinvisible again. Therefore you have to configure the MainItem"EnableRendering" loosesbehavior of the focus,"FocusLeave" Event Handler as follows: Set the FocusImage"Visible" property to FALSE. The scene's "FocusImage" has to be configured as TargetNode similar to the steps above.
                                                                                                                                                                                                    drawing-5-1732269476.png

                                                                                                                                                                                                    If you run CGI Player and click on a list item, an orange highlight should indicate that this item is in focus.


                                                                                                                                                                                                    Sub-List Handling behaviors

                                                                                                                                                                                                    Next, we will getset invisible.
                                                                                                                                                                                                    the

                                                                                                                                                                                                    behaviors so that Behavior
                                                                                                                                                                                                    when Visible
                                                                                                                                                                                                    a TargetDevice Node

                                                                                                                                                                                                    Focus - EnableRendering

                                                                                                                                                                                                    True MyList > List > ListContentGroup > MainItem > FocusImage

                                                                                                                                                                                                    FocusLeave - EnableRendering

                                                                                                                                                                                                    False MyList > List > ListContentGroup > MainItem > FocusImage

                                                                                                                                                                                                    Configure Behaviors for MyList's MainItem

                                                                                                                                                                                                    When anentry item in the Devices list("MainItem") is clicked, a Sub-Listsub-list containing buttons will becomebe visible. This Sub-List containsThese buttons are for connecting/disconnecting.

                                                                                                                                                                                                      Fromdisconnecting the Toolboxphone panel'sdevice [to Behaviorsanother. ] section under "Control" drag

                                                                                                                                                                                                      Drag an "Event Handler" behavior into the Scene Tree panel directly onto the MainItem Group2D node.

                                                                                                                                                                                                        In the Scene Tree panel's right side you can see the "Event Handler" behavior with(under ConditionBehaviors and> ActionsControl) slots. Fromonto the Toolbox"MainItem" panel'sGroup [Node. BehaviorsThen, ] section under "Condition - Logic" dragadd a "Check Logic Condition"Condition" intoto the SceneCondition Treeof panel's right side directly on thethis Event Handler'sHandler Conditionsince slot.we
                                                                                                                                                                                                          want Into theput Scene2 Treeconditions panel'stogether. right side you can seeUnder the "Check Logic Condition" behavior configured as the EventHandler's condition. From the Toolbox panel's [ Behaviors ] section under "Condition - Input" dragadd a "Check Click"Click" behaviorcondition and aanother "Check Key Input"Input" behaviorcondition. onto
                                                                                                                                                                                                          drawing-5-1732272337.png
                                                                                                                                                                                                          In the "Check Logic Condition" behavior's "Conditions" slot.
                                                                                                                                                                                                            In the Scene Tree panel's right side you can see the Check Click behavior and the Check Key Input behavior configured as the Check Logic Condition behavior's Conditions.
                                                                                                                                                                                                            drawing-5-1744974255.png
                                                                                                                                                                                                            From the Toolbox panel's [ Behaviors ] section under "Action  - Property" drag a "Send Value As Event" behavior into the Scene Tree panel's right side directly onto the Event Handler's "Actions" slot.
                                                                                                                                                                                                              In the Scene Tree panel's right side you can see that "Send Value As Event" is configured as the Event Handler's action In the Scene Tree panel's right side select "Check Logic Condition". In the Properties panelproperties, set the property "Operation"Operation to "Or", accordingsince we want the condition to the table below.
                                                                                                                                                                                                                The Check Logic Condition's Operation is configured to combine its Conditions with an OR operation. The Check Logic Condition will evaluate to TRUE ifbe either thea Check Click conditionclick or thea Checkkey Keyinput.
                                                                                                                                                                                                                Input condition is TRUE.
                                                                                                                                                                                                                In
                                                                                                                                                                                                                the
                                                                                                                                                                                                                drawing-5-1732272393.png
                                                                                                                                                                                                                Scene
                                                                                                                                                                                                                Tree panel's right side select
                                                                                                                                                                                                                The "Check Key Input". Incondition, thechecks Properties panel configure the KeyCode to Key_Enter according to the table below.
                                                                                                                                                                                                                  The Check Key Input condition is configured to evaluate to TRUE whenif the enter key on the keyboard is pressed.
                                                                                                                                                                                                                  Behavior
                                                                                                                                                                                                                  Property
                                                                                                                                                                                                                  Value
                                                                                                                                                                                                                  Check Logic Condition Operation Or Check Key Input KeyCode Key_Enter InTherefore the SceneKeyCode Treeproperty panel'swill rightbe sideset selectto the"Key_Enter".
                                                                                                                                                                                                                  Event
                                                                                                                                                                                                                  Handler's
                                                                                                                                                                                                                  action
                                                                                                                                                                                                                  drawing-5-1732272458.png

                                                                                                                                                                                                                  Add a "Send Value Asas Event". In the Properties panel configure the Target Node, Value and Value Change property as in the table below.

                                                                                                                                                                                                                    Send Value As Event is configured accordingbehavior to the table."Actions" Onsection everyof clickthe or"Event enterHandler". key
                                                                                                                                                                                                                    press
                                                                                                                                                                                                                    drawing-5-1732272530.png

                                                                                                                                                                                                                    For this action behavior, we want to send a boolean value to the Sub-List as a signal that it should toggle its visibility. So please set the properties of "Send Value as Event" behavior as follows:

                                                                                                                                                                                                                    drawing-5-1732272835.png

                                                                                                                                                                                                                    The Sub-List control will be the one to receive the boolean value. So let's add a Value behavior to the Sub-List control.

                                                                                                                                                                                                                    drawing-5-1732273650.png

                                                                                                                                                                                                                    The value that will be sent to the Sub-List control.control

                                                                                                                                                                                                                    Towill easily set the Target Node lock the Properties panel using the pad lock icon in the top right corner. From the Scene Tree panel drag the Sub-List node into the Properties panel directly onto the input field next to "TargetNode". Finally, don't forget to unlock the Properties panel clicking the pad lock icon once again.

                                                                                                                                                                                                                    Behavior
                                                                                                                                                                                                                    Property
                                                                                                                                                                                                                    Value

                                                                                                                                                                                                                    Send Value As Event Target Node /Controls/MyList/List/ListContentGroup/Sub-List
                                                                                                                                                                                                                    Value Bool - TRUE   Change Value
                                                                                                                                                                                                                    Relative
                                                                                                                                                                                                                    drawing-5-1744978701.png

                                                                                                                                                                                                                    Configure Behaviors for MyList's Sub-List

                                                                                                                                                                                                                    The visibilitybe of the Sub-List shall be toggled by clicking the MainItem. Let's configure the necessary behaviors to the Sub-List.

                                                                                                                                                                                                                      From the Toolbox panel's [ Behaviors ] section undertype "ValueBool", Processing" drag a Value behavior into the Scene Tree panel directly onto MyList's Sub-List node.
                                                                                                                                                                                                                        In the Scene Tree panel the Sub-List node got marked a yellow square, indicating that a behavior is attached to it. In the Scene Tree panel's right side you can see the Value behavior. In the Scene Tree panel's right side select the Sub-List node's Value behavior. In the Properties panel changeso the Variant to "Bool". Don't check the nearby checkbox.
                                                                                                                                                                                                                          The Value behavior's type has been changed to Bool. From the Toolbox panel's [ Behaviors ] section  under "Value Processing" drag an Action On Value behavior into the Scene Tree's right side directly onto the Value behavior's Receivers slot.
                                                                                                                                                                                                                            In the Scene Tree panel you can see that an Action On Value behavior is configured as Receiver of the Value Processingbehavior behavior.has Action On Value can nowto be usedchanged to "Bool" as well:
                                                                                                                                                                                                                            drawing-5-1732273866.png

                                                                                                                                                                                                                            To configure anthe action that willis be executedperformed when a new value has been received and the visibility of the Sub-List is toggled.

                                                                                                                                                                                                                            toggled, we have Fromto theadd Toolbox panel's [ Behaviors ] section underan "ConditionAction -on Control" drag a Check Processed ValueValue" behavior intoto the Scene Tree panel's right side directly onto the Action On Value behavior's Condition.receivers.
                                                                                                                                                                                                                              drawing-5-1732275521.png
                                                                                                                                                                                                                              In
                                                                                                                                                                                                                              the
                                                                                                                                                                                                                              Scene

                                                                                                                                                                                                                              Tree
                                                                                                                                                                                                                              panel's
                                                                                                                                                                                                                              right side you can see that the Check Processed Value behavior is configured as condition for the Action On Value behavior. In the Scene Tree panel's right side select the Check Processed Value behavior. In the Properties panel configure the properties ConditionOperator and ConditionValue as in the table below.
                                                                                                                                                                                                                                The Check Processed Value behavior's properties have been configured.

                                                                                                                                                                                                                                Only if the the value received from "MainItem/SendValueSend Value as Event" is TRUE, an action (which will be defined in later steps) shall be performed.

                                                                                                                                                                                                                                Therefore, we will Behavior
                                                                                                                                                                                                                                Property
                                                                                                                                                                                                                                Value
                                                                                                                                                                                                                                Check Processed Value
                                                                                                                                                                                                                                ConditionOperator Equal ConditionValue Bool, TRUE From the Toolbox panel's [ Behaviors ] section under "Action - Control" dragadd a "Set Control State" behavior into the Scene Tree panel's right side directly onto the Action On Value behavior's Action slot.
                                                                                                                                                                                                                                  In the Scene Tree panel's right side you can see that the Set Control State behavior is configured as the Action On Value behavior's action. In the Scene Tree panel's right side select the Set Control State behavior. In the Properties panel configure the properties State and Change To according to the table below.
                                                                                                                                                                                                                                    The Set Control State behavior is configured as in the table below. The Sub-List will be enabled whenever the condition Check Processedprocessed Value evaluates to TRUE.
                                                                                                                                                                                                                                    Behavior
                                                                                                                                                                                                                                    Property
                                                                                                                                                                                                                                    Value
                                                                                                                                                                                                                                    Set Control State
                                                                                                                                                                                                                                    State Enabled ChangeTo TRUE Repeat steps 3 to 7: Add a new Action On Value behavior as Value behavior's Receiver, configure another Check Processed ValueValue" condition and anotherconfigure its properties as follows.
                                                                                                                                                                                                                                    drawing-5-1732276713.png
                                                                                                                                                                                                                                    The action that shall be performed is a "Set Control StateState" accordingbehavior, to the table and image below.
                                                                                                                                                                                                                                      In the Scene Tree panel's right side you can see the behaviors are configured as in the table and image below.
                                                                                                                                                                                                                                      All behaviors for MyList's Sub-List have been configured.
                                                                                                                                                                                                                                      Behavior
                                                                                                                                                                                                                                      Property
                                                                                                                                                                                                                                      Value
                                                                                                                                                                                                                                      Action On Value_1
                                                                                                                                                                                                                                      - - Check Processed Value_1
                                                                                                                                                                                                                                      ConditionOperator Equal ConditionValue Bool, FALSE Set Control State_1
                                                                                                                                                                                                                                      State Enabled ChangeTo
                                                                                                                                                                                                                                      FALSE
                                                                                                                                                                                                                                      drawing-5-1744986211.png

                                                                                                                                                                                                                                      Test MyList in the Player

                                                                                                                                                                                                                                      Let's test if the configured behaviors of MyList control are functional.

                                                                                                                                                                                                                                        Save your solution either via the menu "File - Save Solution" or via the keyboard <Ctrl + S>.
                                                                                                                                                                                                                                          The solution has been saved. In the Scene Composer's Toolbar click on "Play selected scenario...".
                                                                                                                                                                                                                                            The resourceswhich will beactually generated and the Player will be started.
                                                                                                                                                                                                                                            drawing-5-1744988707.png
                                                                                                                                                                                                                                            In the CGI Panel check Scenes#SceneOptions and uncheck SceneHome and SceneClimate
                                                                                                                                                                                                                                              In the Player window SceneOptions will be displayed with the Connection Dial on the left side and the empty Devices List on the right side, displaying the scrollbar.
                                                                                                                                                                                                                                              drawing-5-1744988866.png
                                                                                                                                                                                                                                              In the Player window click the first item of the Devices List, the text of which is "Text".
                                                                                                                                                                                                                                                In the Player window's Devices List an orange border will be displayed indicating the selected MainItem. Additionally,enable the Sub-List withwhen the TextButtonscondition "Connect"above andis "Unpair"met. willPlease bedrag displayedit belowonto the selectedActions MainItem.
                                                                                                                                                                                                                                                drawing-5-1745576606.png
                                                                                                                                                                                                                                                In the Player window click the selected MainItem again.
                                                                                                                                                                                                                                                  The TextButtonspart of the Sub-List"Action willon disappear.Value" In the Scene Composer's Toolbar click the "Close the Player" button.
                                                                                                                                                                                                                                                    The Playerbehavior and CGIconfigure Panel window will be closed.
                                                                                                                                                                                                                                                    drawing-5-1744988794.png

                                                                                                                                                                                                                                                    Configure a Devices List using MyList

                                                                                                                                                                                                                                                    So far we have been working on our MyList control with only one single list entry. Now that this first list entry is fully configured, we can create more of them.

                                                                                                                                                                                                                                                      In the Scene Tree panel select the Main Item and the Sub-List. Copy and paste them to create 4 more instances. This can be done either via the context menu [ Copy ] and [ Paste ] or via the keyboard shortcuts <Ctrl + c> and <Ctrl + v>.
                                                                                                                                                                                                                                                        In the Scene Tree panel you can see that MyList's ListContentGroup now contains 5 MainItems and 5 Sub-Lists.
                                                                                                                                                                                                                                                        drawing-5-1744989442.png
                                                                                                                                                                                                                                                        In the Scene Tree panel select the MainItems individually. Then, in the Scene Tree panel's right side, select their configured "Send Value As Event" behaviors. In the Properties panel adapt the TargetNodes to their respective MainItems. I.e. MainItem_4 will be configuredit as the TargetNode of MainItem_4's "Send Value As Event" behavior.
                                                                                                                                                                                                                                                          The "Send Value As Event" behaviors' TargetNodes are configured with the respective MainItems.

                                                                                                                                                                                                                                                          To easily set the Target Node lock the Properties panel using the pad lock icon in the top right corner. From the Scene Tree panel drag the Sub-List node into the Properties panel directly onto the input field next to "TargetNode". Finally, don't forget to unlock the Properties panel clicking the pad lock icon once again.

                                                                                                                                                                                                                                                          SendValueAsEvent of 
                                                                                                                                                                                                                                                          TargetNode
                                                                                                                                                                                                                                                          MainItem /Controls/MyList/Group2D:List/Group2D:ListContentGroup/CompositeNode2D:Sub-List MainItem_1 /Controls/MyList/Group2D:List/Group2D:ListContentGroup/CompositeNode2D:Sub-List_1 MainItem_2 /Controls/MyList/Group2D:List/Group2D:ListContentGroup/CompositeNode2D:Sub-List_2 MainItem_3
                                                                                                                                                                                                                                                          /Controls/MyList/Group2D:List/Group2D:ListContentGroup/CompositeNode2D:Sub-List_3 MainItem_4

                                                                                                                                                                                                                                                          /Controls/MyList/Group2D:List/Group2D:ListContentGroup/CompositeNode2D:Sub-List_4

                                                                                                                                                                                                                                                          In the Scene Tree panel select MainItem's EntryName. In the Properties panel's [ 2D Render Node ] section change the property "Text" according to the tabledepicted below.
                                                                                                                                                                                                                                                            In
                                                                                                                                                                                                                                                            drawing-5-1732277001.png
                                                                                                                                                                                                                                                            the
                                                                                                                                                                                                                                                            Scene Editor you can see the changed texts.
                                                                                                                                                                                                                                                            TextNode2D
                                                                                                                                                                                                                                                            Text
                                                                                                                                                                                                                                                            MainItem > EntryName
                                                                                                                                                                                                                                                            Phone (Private) MainItem_1 > EntryName Phone (Work) MainItem_2 > EntryName New Device MainItem_3 > EntryName
                                                                                                                                                                                                                                                            New Device MainItem_4 > EntryName
                                                                                                                                                                                                                                                            New Device In the Scene Tree panel select the MainItem's EntryNames individually. In the Properties panel's [ 2D Text Node ]

                                                                                                                                                                                                                                                            Add another "Action on Value" behavior with a "Check processed Value" condition and "Set Control State" action, same as above. But this time, set the ConditionValue property of "Check processed Value" condition to false (Bool + unchecked). And set the "ChangeTo" property of "Set Control State" to false (unchecked).
                                                                                                                                                                                                                                                            drawing-5-1732277437.png

                                                                                                                                                                                                                                                            Try to run your solution in the CGI Player. When you click a main item in the list, the sub-list should appear. When clicking it a second time, it will disappear again.

                                                                                                                                                                                                                                                            Copy and paste the "MainItem" Group nodes and Sub-List nodes onto the ListContentGroup to create 4 more instances.

                                                                                                                                                                                                                                                            drawing-5-1732278984.png

                                                                                                                                                                                                                                                            Make sure to update the "Send Value as Event" behavior's "TargetNode" property for each MainItem so that it will enable/disable the appropriate sub-lists.

                                                                                                                                                                                                                                                            drawing-5-1732279032.png

                                                                                                                                                                                                                                                            As final step, set the Text of the first 2 list items as "Phone(Private)" and "Phone(Work)" and the last 3 items as "New Device".

                                                                                                                                                                                                                                                            drawing-5-1732279125.png

                                                                                                                                                                                                                                                            You have finished the (Phone Connection) Options Scene tutorial. Generate an asset file as described at the end of Step 1. Load the generated asset into the Player and select the Options Scenescene.

                                                                                                                                                                                                                                                            The Options scene is now finished.
                                                                                                                                                                                                                                                              To check the result of configuring the first scene, open the display view. This view represents the final rendered result and can be opened via the menu: View - Display - Display-0.
                                                                                                                                                                                                                                                                The display panel will be opened in a floating way displaying the scene configured in the steps above.
                                                                                                                                                                                                                                                                drawing-5-1745577902.png
                                                                                                                                                                                                                                                                In the Scene Composer's Toolbar make sure that the item "Generate and Play" is selected in the drop-down menu and click the [ > ] button to the left.
                                                                                                                                                                                                                                                                  This will generate the asset so it is available as input for the Player. After that the CGI Panel will be started.
                                                                                                                                                                                                                                                                  drawing-5-1742573876.png
                                                                                                                                                                                                                                                                  In the CGI Panel tick the checkbox next to "Scenes#SceneClimate" and uncheck "Scenes#SceneHome".
                                                                                                                                                                                                                                                                    SceneClimate will become visible in the Player.
                                                                                                                                                                                                                                                                    drawing-5-1745579387.png
                                                                                                                                                                                                                                                                    You can now play around with the configuredcontrols. Options Controls inTurn the sceneDial andto watchselect the results.type
                                                                                                                                                                                                                                                                      of GrabConnection. the Connection Dial Control and switch between Cable, Bluetooth and Other. Click into the Devices List to open the Sub-List. Click on thean Sub-List's "Connect" and "Unpair" TextButtons and watch the configuredhover and click effects. Click on several devicesitem in the Devices Listlist to make multiple Sub-Lists visible. Now you can test the scrollbar.sub-list buttons appear and disappear.
                                                                                                                                                                                                                                                                      drawing-7-1676537670.png