Ejemplo n.º 1
0
    public override void CreateControls()
    {
        fnt = "arial";
        // AddChild(new GLULabel(this, "logo", 0, 0, clientWidth, clientHeight - 26, new GLUPadding(10, 10, 10, 10), true, "Version 1.2.0, 29.10.2012.", new GLUTextStyle(fnt, 14, FontStyle.Normal, new GLUColor(1, 1, 1, 1), false), GLUTexture.GetTexture("GLU/logo", true), new GLUPadding(0, 0, 0, 0), GLURotation.ccw0, GLUHorizontalAlignment.left, GLUVerticalAlignment.bottom));
        GLULabel l = AddChild(new GLULabel(this, "logo", new GLUNumber(0), new GLUNumber(0), new GLUNumber(clientWidth), new GLUNumber(clientHeight - 26), new GLUPadding(0), true, "Version 1.2.2", new GLUInternalImage("bg", "GLU/logo", new GLUBorders(0, 0, 0, 0), null), new GLUInternalText("text", new GLUTextStyle(fnt, 12, FontStyle.Normal, new GLUColor(1, 1, 1, 1), false), ""))) as GLULabel;
        // AddControl(new GLULabel(this, "Info", "", fnt, 0, FontStyle.Normal, false, new GLUColor(0, 0, 0, 1), 10, 10, 512, 256, new GLUPadding(0, 0, 0, 0), GLUTexture.GetTexture("GLU/logo", true), new GLUPadding(0, 0, 0, 0), GLURotation.ccw0, true, GLUControlAlign.Left));
        GLUButton b = new GLUButton(this, "b", new GLUNumber(clientWidth - 104), new GLUNumber(clientHeight - 22), new GLUNumber(100), new GLUNumber(20), true, "OK");

        AddChild(b);

        l.layers[0].drawBorder        = true;
        l.layers[1].alignment         = GLUHorizontalAlignment.left;
        l.layers[1].verticalAlignment = GLUVerticalAlignment.bottom;
        // Debug.Log(" Label: align = " + l.alignment + ", valign = " + l.verticalAlignment);

        b.OnPress += OkButtonPress;
    }
    public override void CreateControls()
    {
        GLULocalScaleSequence    lss;
        GLULocalRotationSequence lrs = new GLULocalRotationSequence(WrapMode.Loop, WrapMode.Loop, 180, new GLUKey <Vector3>(0, Vector3.zero), new GLUKey <Vector3>(4f, new Vector3(0, 0, 360)));
        GLUMaterialColorSequence mcs = new GLUMaterialColorSequence(WrapMode.ClampForever, WrapMode.ClampForever, 3, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 1)));

        GLUAnimationSet glueHUDSet = new GLUAnimationSet();

        glueHUDSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.hovered | GLUControlState.start), true, 0, GLUAnimationConflictDecisionType.replace, lrs, mcs));

        lrs = new GLULocalRotationSequence(WrapMode.ClampForever, WrapMode.ClampForever, 180, new GLUKey <Vector3>(0, Vector3.zero));
        mcs = new GLUMaterialColorSequence(WrapMode.ClampForever, WrapMode.ClampForever, 3, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 0.5f)));

        glueHUDSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.start), false, 0, GLUAnimationConflictDecisionType.replace, mcs, lrs));
        GLUAnimationSet compassSet = new GLUAnimationSet();

        mcs = new GLUMaterialColorSequence(WrapMode.ClampForever, WrapMode.ClampForever, 3, new GLUKey <Vector4>(0, Vector4.one));
        lrs = new GLULocalRotationSequence(WrapMode.Loop, WrapMode.Loop, 180, new GLUKey <Vector3>(0, Vector3.zero), new GLUKey <Vector3>(4, new Vector3(0, 0, -360)));
        compassSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.hovered | GLUControlState.start), true, 0, GLUAnimationConflictDecisionType.replace, lrs, mcs));

        mcs = new GLUMaterialColorSequence(WrapMode.ClampForever, WrapMode.ClampForever, 3, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 0.75f)));
        lrs = new GLULocalRotationSequence(WrapMode.ClampForever, WrapMode.ClampForever, 180, new GLUKey <Vector3>(0, Vector3.zero));

        compassSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.start), false, 0, GLUAnimationConflictDecisionType.replace, mcs, lrs));

        GLUAnimationSet satellitesSet = new GLUAnimationSet();

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 3, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 0.75f)));
        lrs = new GLULocalRotationSequence(WrapMode.Clamp, WrapMode.Clamp, 180, new GLUKey <Vector3>(0, Vector3.zero));
        lss = new GLULocalScaleSequence(WrapMode.Clamp, WrapMode.Clamp, 1, new GLUKey <Vector3>(0, new Vector3(1.4f, 1.4f, 1.4f)));

        satellitesSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.hovered | GLUControlState.start), false, 1, GLUAnimationConflictDecisionType.replace, mcs, lrs, lss));

        mcs = new GLUMaterialColorSequence(WrapMode.Loop, WrapMode.Loop, 0, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 0.75f)), new GLUKey <Vector4>(0.5f, new Vector4(1, 1, 1, 0.75f)), new GLUKey <Vector4>(0.55f, new Vector4(1, 0.5f, 0.5f, 1)));
        mcs.AddKey(0.6f, new Vector4(1, 1, 1, 0.75f));
        lrs = new GLULocalRotationSequence(WrapMode.Loop, WrapMode.Loop, 0, new GLUKey <Vector3>(0, Vector3.zero), new GLUKey <Vector3>(9f, new Vector3(0, 0, 360)));

        satellitesSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.hovered), true, 0, GLUAnimationConflictDecisionType.replace, mcs, lrs));

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 3, new GLUKey <Vector4>(0, new Vector4(1, 1, 1, 0.5f)));
        lrs = new GLULocalRotationSequence(WrapMode.Clamp, WrapMode.Clamp, 180, new GLUKey <Vector3>(0, Vector3.zero));

        satellitesSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.start), false, 1, GLUAnimationConflictDecisionType.replace, mcs, lrs));

        lss = new GLULocalScaleSequence(WrapMode.Clamp, WrapMode.Clamp, 1, new GLUKey <Vector3>(0, new Vector3(1f, 1f, 1f)));
        satellitesSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, 0), false, 0, GLUAnimationConflictDecisionType.replace, lss));
        // satellitesSet.AddAnimation(new GLUAnimation((int)GLUInternalButtonEvent.pressedLeave, false, mcs, lrs, lss));


        GLUAnimationSet pressSet = new GLUAnimationSet();

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 0, new GLUKey <Vector4>(0.0f, new Vector4(1, 1, 1, 0.0f)));
        lss = new GLULocalScaleSequence(WrapMode.Clamp, WrapMode.Clamp, 0, new GLUKey <Vector3>(0, new Vector3(0.25f, 0.25f, 0.25f)));

        pressSet.AddAnimation(new GLUAnimation(0, false, 255, GLUAnimationConflictDecisionType.replace, mcs, lss));

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 10, new GLUKey <Vector4>(0, new Vector4(0.75f, 0.85f, 1, 1)), new GLUKey <Vector4>(0.15f, new Vector4(0.75f, 0.85f, 1, 0)));
        lss = new GLULocalScaleSequence(WrapMode.Clamp, WrapMode.Clamp, 0, new GLUKey <Vector3>(0, new Vector3(0.25f, 0.25f, 0.25f)), new GLUKey <Vector3>(0.25f, new Vector3(1.4f, 1.4f, 1.4f)));

        pressSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.leftInputButtonPressed, GLUControlState.leftInputButtonPressed | GLUControlState.start), false, 1, GLUAnimationConflictDecisionType.replace, mcs, lss));

        GLUAnimationSet sectorsSet = new GLUAnimationSet();

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 0f, new GLUKey <Vector4>(0, new Vector4(1f, 1f, 1f, 0.75f)));
        sectorsSet.AddAnimation(new GLUAnimation(0, false, 255, GLUAnimationConflictDecisionType.replace, mcs));

        mcs = new GLUMaterialColorSequence(WrapMode.Loop, WrapMode.Loop, 0);
        mcs.AddKey(0f, new Vector4(0.5f, 0.75f, 1f, 0.75f));
        mcs.AddKey(0.5f, new Vector4(1, 1, 1, 0.75f));
        mcs.AddKey(0.55f, new Vector4(1, 1, 1, 1));
        mcs.AddKey(0.6f, new Vector4(1, 1, 1, 0.75f));

        sectorsSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.hovered | GLUControlState.start), true, 0, GLUAnimationConflictDecisionType.replace, mcs));
        // sectorsSet.debug = true;

        mcs = new GLUMaterialColorSequence(WrapMode.Clamp, WrapMode.Clamp, 0f, new GLUKey <Vector4>(0, new Vector4(1f, 1f, 1f, 0.75f)));
        // mcs.debug = true;
        sectorsSet.AddAnimation(new GLUAnimation(GLUAnimationSet.CreateIndex(GLUControlState.hovered, GLUControlState.start), false, 0, GLUAnimationConflictDecisionType.replace, mcs));


        /* foreach (KeyValuePair<int, GLUAnimation> p in sectorsSet)
         * {
         *  // // GLUDebug.Log("Listing " + p.Value + ", debug = " + p.Value.debug);
         *  foreach (GLUKeySequence ks in p.Value)
         *  {
         *      // // GLUDebug.Log(ks + ",  debug = " + ks.debug);
         *  }
         * }*/

        testButton0 = AddChild(new GLUButton(this, "AButton0", new GLUNumber(64), new GLUNumber(64), new GLUNumber(128), new GLUNumber(128), new GLUPadding(0), false, "", false, new GLUInternalImage[7] {
            new GLUInternalImage("pressLayer", "GLU/Controls/Textures/AButton/press", new GLUBorders(0), pressSet),
            new GLUInternalImage("sectorsLayer", "GLU/Controls/Textures/AButton/sectorBg", new GLUBorders(0), sectorsSet),
            new GLUInternalImage("starcLayer", "GLU/Controls/Textures/AButton/starc", new GLUBorders(0), null),
            new GLUInternalImage("satellitesLayer", "GLU/Controls/Textures/AButton/satellites", new GLUBorders(0), satellitesSet),
            new GLUInternalImage("hudLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(96), new GLUNumber(96), "GLU/Controls/Textures/AButton/glueHUD", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, glueHUDSet),
            new GLUInternalImage("compassLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(76), new GLUNumber(76), "GLU/Controls/Textures/AButton/compass", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, compassSet),
            new GLUInternalImage("dialLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(56), new GLUNumber(56), "GLU/Controls/Textures/AButton/dial", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, null)
        })) as GLUButton;

        testButton1 = AddChild(new GLUButton(this, "AButton1", new GLUNumber(clientWidth - 192), new GLUNumber(64), new GLUNumber(128), new GLUNumber(128), new GLUPadding(0), false, "", false, new GLUInternalImage[7] {
            new GLUInternalImage("pressLayer", "GLU/Controls/Textures/AButton/press", new GLUBorders(0), pressSet),
            new GLUInternalImage("sectorsLayer", "GLU/Controls/Textures/AButton/sectorBg", new GLUBorders(0), sectorsSet),
            new GLUInternalImage("starcLayer", "GLU/Controls/Textures/AButton/starc", new GLUBorders(0), null),
            new GLUInternalImage("satellitesLayer", "GLU/Controls/Textures/AButton/satellites", new GLUBorders(0), satellitesSet),
            new GLUInternalImage("hudLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(96), new GLUNumber(96), "GLU/Controls/Textures/AButton/glueHUD", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, glueHUDSet),
            new GLUInternalImage("compassLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(76), new GLUNumber(76), "GLU/Controls/Textures/AButton/compass", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, compassSet),
            new GLUInternalImage("dialLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(56), new GLUNumber(56), "GLU/Controls/Textures/AButton/dial", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, null)
        })) as GLUButton;

        testButton2 = AddChild(new GLUButton(this, "AButton2", new GLUNumber(64), new GLUNumber(clientHeight - 192), new GLUNumber(128), new GLUNumber(128), new GLUPadding(0), false, "", false, new GLUInternalImage[7] {
            new GLUInternalImage("pressLayer", "GLU/Controls/Textures/AButton/press", new GLUBorders(0), pressSet),
            new GLUInternalImage("sectorsLayer", "GLU/Controls/Textures/AButton/sectorBg", new GLUBorders(0), sectorsSet),
            new GLUInternalImage("starcLayer", "GLU/Controls/Textures/AButton/starc", new GLUBorders(0), null),
            new GLUInternalImage("satellitesLayer", "GLU/Controls/Textures/AButton/satellites", new GLUBorders(0), satellitesSet),
            new GLUInternalImage("hudLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(96), new GLUNumber(96), "GLU/Controls/Textures/AButton/glueHUD", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, glueHUDSet),
            new GLUInternalImage("compassLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(76), new GLUNumber(76), "GLU/Controls/Textures/AButton/compass", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, compassSet),
            new GLUInternalImage("dialLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(56), new GLUNumber(56), "GLU/Controls/Textures/AButton/dial", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, null)
        })) as GLUButton;

        testButton3 = AddChild(new GLUButton(this, "AButton3", new GLUNumber(clientWidth - 192), new GLUNumber(clientHeight - 192), new GLUNumber(128), new GLUNumber(128), new GLUPadding(0), false, "", false, new GLUInternalImage[7] {
            new GLUInternalImage("pressLayer", "GLU/Controls/Textures/AButton/press", new GLUBorders(0), pressSet),
            new GLUInternalImage("sectorsLayer", "GLU/Controls/Textures/AButton/sectorBg", new GLUBorders(0), sectorsSet),
            new GLUInternalImage("starcLayer", "GLU/Controls/Textures/AButton/starc", new GLUBorders(0), null),
            new GLUInternalImage("satellitesLayer", "GLU/Controls/Textures/AButton/satellites", new GLUBorders(0), satellitesSet),
            new GLUInternalImage("hudLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(96), new GLUNumber(96), "GLU/Controls/Textures/AButton/glueHUD", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, glueHUDSet),
            new GLUInternalImage("compassLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(76), new GLUNumber(76), "GLU/Controls/Textures/AButton/compass", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, compassSet),
            new GLUInternalImage("dialLayer", new GLUNumber(0), new GLUNumber(0), new GLUNumber(56), new GLUNumber(56), "GLU/Controls/Textures/AButton/dial", new GLUBorders(0), GLUHorizontalAlignment.center, GLUVerticalAlignment.middle, null)
        })) as GLUButton;
        Debug.Log(" clientWidth = " + width + ", clientHeight = " + height);
    }
Ejemplo n.º 3
0
    public override void CreateControls()
    {
        GLUPopupMenu popup = AddChild(new GLUPopupMenu(this, "Popup", new GLUNumber(0), new GLUNumber(0), null,
                                                       new GLUMenuItem("Item 1", 0, ItemSelected),
                                                       new GLUMenuItem("Item 2", 1, ItemSelected, false, new GLUMenuItem("Subitem 1", 0, ItemSelected), new GLUMenuItem("Subitem 2", 1, ItemSelected), new GLUMenuItem("Subitem 3", 2, null)),
                                                       new GLUMenuItem("Item 3", 2, ItemSelected),
                                                       new GLUMenuItem("-", -1, null),
                                                       new GLUMenuItem("Item 4", 3, ItemSelected),
                                                       new GLUMenuItem("Item 5", 4, ItemSelected)), false) as GLUPopupMenu;

        GLUScrollView sv = AddChild(new GLUScrollView(this, "scrollView", new GLUNumber(0), new GLUNumber(0), new GLUNumber(clientWidth), new GLUNumber(clientHeight - 40), true, null)) as GLUScrollView;

        sv.layers.Clear();
        int          w   = sv.viewport.width - padding.left - 16;
        GLUTextStyle ts  = new GLUTextStyle("arial", 12, FontStyle.Normal, new GLUColor(0.8f, 0.3f, 0.1f, 1), false);
        GLUTextStyle ts0 = new GLUTextStyle("arial", 12, FontStyle.Normal, new GLUColor(0, 0, 0, 1), false);
        GLULabel     l   = sv.AddScrollChild(new GLULabel(this, "l1", new GLUNumber(10), new GLUNumber(10), new GLUNumber(150), new GLUNumber(22), true, "Standard text edit:"), false) as GLULabel;

        l.textStyle = ts;
        sv.AddScrollChild(new GLUTextEdit(this, "textEdit0", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), l.height, true, "Test text", false, false), false);
        l           = sv.AddScrollChild(new GLULabel(this, "l2", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 4), new GLUNumber(150), new GLUNumber(22), true, "Custom text edit:"), false) as GLULabel;
        l.textStyle = ts;
        GLUTextEdit te = sv.AddScrollChild(new GLUTextEdit(this, "textEdit", new GLUNumber(l.x + l.width + 10), l.y, new GLUNumber(w - l.width - l.x - 20), l.height, true, "Custom text", false, false), false) as GLUTextEdit;

        te.textStyle     = new GLUTextStyle("arial", 14, FontStyle.Bold, new GLUColor(0, 0.4f, 0, 1), false);
        te.textAlignment = GLUHorizontalAlignment.center;

        l                = sv.AddScrollChild(new GLULabel(this, "l3", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 4), new GLUNumber(200), new GLUNumber(72), true, "Custom multiline text edit:"), false) as GLULabel;
        l.textStyle      = ts;
        te               = sv.AddScrollChild(new GLUTextEdit(this, "textEdit", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Custom\nmultiline\ntext", true), false) as GLUTextEdit;
        te.textAlignment = GLUHorizontalAlignment.right;

        l           = sv.AddScrollChild(new GLULabel(this, "l4", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "Standard combo box:"), false) as GLULabel;
        l.textStyle = ts;
        // sv.AddScrollChild(new GLUComboBox(this, "standardCombo", l.left + l.width + 10, l.top, w - l.width - l.left - 20, l.height, true, "Standard combo", "textEdit", true, GLUHorizontalAlignment.left, new GLUListItem("Item0", -1, null), new GLUListItem("Item1", 0, null), new GLUListItem("Item2", 1, null), new GLUListItem("Item3", 2, null), new GLUListItem("Item4", 3, null), new GLUListItem("Item5", 4, null)), false);
        GLUComboBox scb = sv.AddScrollChild(new GLUComboBox(this, "standardCombo", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Standard combo", "comboBox"), false) as GLUComboBox;

        scb.items = new GLUList <GLUListItem>()
        {
            new GLUListItem("Item0", -1, null), new GLUListItem("Item1", 0, null), new GLUListItem("Item2", 1, null), new GLUListItem("Item3", 2, null), new GLUListItem("Item4", 3, null), new GLUListItem("Item5", 4, null)
        };

        l           = sv.AddScrollChild(new GLULabel(this, "l5", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 4), new GLUNumber(150), new GLUNumber(22), true, "Custom combo box:"), false) as GLULabel;
        l.textStyle = ts;

        GLUComboBoxStyle cbs = GLUComboBoxStyle.CreateDefault();

        cbs.textEditStyle = GLUTextEditStyle.CreateDefault();
        (cbs.textEditStyle.style as GLUTextEditStyle).internalTextStyle = GLUEditableTextStyle.CreateDefault();
        ((cbs.textEditStyle.style as GLUTextEditStyle).internalTextStyle.style as GLUEditableTextStyle).textAlignment = GLUHorizontalAlignment.center;
        ((cbs.textEditStyle.style as GLUTextEditStyle).internalTextStyle.style as GLUEditableTextStyle).textStyle     = new GLUTextStyle("arial", 10, FontStyle.Bold, new GLUColor(0.6f, 0, 0, 1), false);
        (cbs.comboButtonStyle.style as GLUButtonStyle).height = new GLUNumber(0);
        //cbs.textEditStyle.internalTextStyle.
        scb       = sv.AddScrollChild(new GLUComboBox(this, "customCombo", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(18), true, "Custom combo", cbs), false) as GLUComboBox;
        scb.items = new GLUList <GLUListItem>()
        {
            new GLUListItem("Item0", -1, "GLU/Controls/Textures/FileBrowser/drive"), new GLUListItem("Item1", -1, "GLU/Controls/Textures/FileBrowser/file"), new GLUListItem("Item2", 1, "GLU/Controls/Textures/FileBrowser/folder"), new GLUListItem("Item3", 2, null), new GLUListItem("Item4", 3, "GLU/Controls/Textures/FileBrowser/drive"), new GLUListItem("Item5", 4, null)
        };

        l           = sv.AddScrollChild(new GLULabel(this, "l6", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(72), true, "Standard list box:"), false) as GLULabel;
        l.textStyle = ts;
        GLUListBox lb = sv.AddScrollChild(new GLUListBox(this, "standardList", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, true, false, null), false) as GLUListBox;

        lb.items = new GLUList <GLUListItem>()
        {
            new GLUListItem("Item0", -1, null), new GLUListItem("Item1", 0, null), new GLUListItem("Item2", 1, null), new GLUListItem("Item3", 2, null), new GLUListItem("Item4", 3, null), new GLUListItem("Item5", 4, null)
        };

        l           = sv.AddScrollChild(new GLULabel(this, "l7", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "Standard modal form:"), false) as GLULabel;
        l.textStyle = ts;
        GLUButton b = sv.AddScrollChild(new GLUButton(this, "about", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Press to open modal form"), false) as GLUButton;

        b.OnPress = ShowModalForm;

        l           = sv.AddScrollChild(new GLULabel(this, "l8", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "Standard date picker:"), false) as GLULabel;
        l.textStyle = ts;
        sv.AddScrollChild(new GLUCalendarCombo(this, "calendar", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, DateTime.Now), false);

        if (Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXPlayer || Application.platform == RuntimePlatform.OSXEditor || Application.platform == RuntimePlatform.LinuxPlayer)
        {
            l           = sv.AddScrollChild(new GLULabel(this, "l11", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "File load dialog:"), false) as GLULabel;
            l.textStyle = ts;
            b           = sv.AddScrollChild(new GLUButton(this, "fileLoadDialog", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Press to open load dialog box"), false) as GLUButton;
            // b.colorMultiplier = new GLUColor(0.5f, 0.5f, 1f, 1);
            b.OnPress   = LoadFilePressed;
            l           = sv.AddScrollChild(new GLULabel(this, "l14", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 4), new GLUNumber(150), new GLUNumber(22), true, "File save dialog:"), false) as GLULabel;
            l.textStyle = ts;
            b           = sv.AddScrollChild(new GLUButton(this, "filesaveDialog", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Press to open save dialog box"), false) as GLUButton;
            // b.colorMultiplier = new GLUColor(0.5f, 1f, 0.5f, 1);
            b.OnPress = SaveFilePressed;
        }

        l              = sv.AddScrollChild(new GLULabel(this, "l13", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "Message box with formatted text:"), false) as GLULabel;
        l.textStyle    = ts;
        messageBoxEdit = sv.AddScrollChild(new GLUTextEdit(this, "messageBoxEdit", new GLUNumber(l.x), new GLUNumber(l.y + l.height), new GLUNumber(w - 10 - l.x), new GLUNumber(72), true, "<arial, 16, Bold, #bbbbbbff, False>Text for message box demonstration. \n<arial, 14, Normal, #bb7733ff, False>You may use text styles like this: \n" +
                                                           "<arial, 12, Normal, #bbbbbbff, False>/<Font name,\n font size (10, 12, 14, 16), font style (Normal, Bold, Italic), text color (#RRGGBBAA), underline flag (True, False)><arial, 10, Normal, #44bb44ff, False>Small green font", true, false), false) as GLUTextEdit;

        /* l = sv.AddScrollChild(new GLULabel(this, "l13", l.left, l.top + l.height + 20, 150, 22, new GLUPadding(0), true, "Message box with formatted text:", ts, null, new GLUPadding(0), GLURotation.ccw0), false) as GLULabel;
         * messageBoxEdit = sv.AddScrollChild(new GLUTextEdit(this, "messageBoxEdit", l.left, l.top + l.height, w - 10 - l.left, 72, true, "<typeWritten, 16, Bold, #bbbbbbff, False>Text for message box demonstration. \n<typeWritten, 14, Normal, #bb7733ff, False>You may use text styles like this: \n" +
         * "<handWritten, 12, Normal, #bbbbbbff, False>/<Font name(allowed values - typeWritten, handWritten),\n font size (10, 12, 14, 16), font style (Normal, Bold, Italic), text color (#RRGGBBAA), underline flag (True, False)>", true, false), false) as GLUTextEdit;*/

        l           = sv.AddScrollChild(new GLULabel(this, "l11", new GLUNumber(messageBoxEdit.x), new GLUNumber(messageBoxEdit.y + messageBoxEdit.height + 4), new GLUNumber(150), new GLUNumber(22), true, "Show message box:"), false) as GLULabel;
        l.textStyle = ts;
        b           = sv.AddScrollChild(new GLUButton(this, "messageBox", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Press to open message box"), false) as GLUButton;
        b.OnPress   = MessageBoxPress;

        l           = sv.AddScrollChild(new GLULabel(this, "l11", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(300), new GLUNumber(22), true, "Press right mouse button or touch for 2 sec :"), false) as GLULabel;
        l.textStyle = ts;
        b           = sv.AddScrollChild(new GLUButton(this, "PopUpButton", new GLUNumber(l.x + l.width + 10), new GLUNumber(l.y), new GLUNumber(w - l.width - l.x - 20), new GLUNumber(l.height), true, "Popup menu"), false) as GLUButton;
        b.toggle    = true;
        b.popup     = popup;
        // b.colorComposer = new GLUColor(0.25f, 0, 0.25f, 0);

        l           = sv.AddScrollChild(new GLULabel(this, "l15", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(150), new GLUNumber(22), true, "Standard check box:"), false) as GLULabel;
        l.textStyle = ts;
        // sv.AddScrollChild(new GLUCheckBox(this, "checkBox", new GLUNumber(l.x + l.width + 10), l.y, new GLUNumber(w - l.width - l.x - 20), l.height, true, "Standard check box"), false);
        sv.AddScrollChild(new GLUCheckBox(this, "checkBox", new GLUNumber(l.x + l.width + 10), l.y, new GLUNumber(150), l.height, true, "Standard check box"), false);

        // l = sv.AddScrollChild(new GLULabel(this, "l12", new GLUNumber(l.x), new GLUNumber(l.y + l.height + 20), new GLUNumber(300), new GLUNumber(22), true, "Paint box (click several times over box below):"), false) as GLULabel;
        // l.textStyle = ts;
        // sv.AddScrollChild(new GLUPaintBox(this, "paintBox", l.left, l.top + l.height, w - l.left - 10, 200, new GLUPadding(6), true), false);

        b = AddChild(new GLUButton(this, "clone", new GLUNumber(10), new GLUNumber(clientHeight - 32), new GLUNumber(90), new GLUNumber(22), true, "Duplicate")) as GLUButton;
        // b.colorMultiplier = new GLUColor(1, 0.5f, 0.5f, 1);
        b.OnPress = ClonePressed;
        b         = AddChild(new GLUButton(this, "close", new GLUNumber(clientWidth - 10 - 90), new GLUNumber(clientHeight - 32), new GLUNumber(90), new GLUNumber(22), true, "Close")) as GLUButton;
        b.OnPress = ClosePressed;
        // sv.NeedRepaint();

        /* AddControl(new GLUButton(this, "Item1", 0, 0, 150, 24, GLU.terminal.skin.listBoxSkin.padding,
         *  true, "Item1", "button", null, GLU.terminal.skin.listBoxSkin.item.hover.url, GLU.terminal.skin.listBoxSkin.item.pressed.url,
         *  GLU.terminal.skin.listBoxSkin.item.hover.borders, GLU.terminal.skin.fileBrowserSkin.folder.url, 20, 0, new GLURect(), GLURotation.ccw0, true, GLUPictureAlignment.left, GLUHorizontalAlignment.Left));*/
    }