Ejemplo n.º 1
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button button = new Button
        {
            Text       = "Add data",
            SkinClass  = typeof(ImageButtonSkin),
            Icon       = ImageLoader.Instance.Load("Icons/star"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass     = typeof(ScrollerSkin2),
            PercentWidth  = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout       = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft     = 10,
                PaddingRight    = 10,
                PaddingTop      = 10,
                PaddingBottom   = 10,
                Gap             = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        List <object> source = new List <object> {
            "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six"
        };

        _dataProvider = new ArrayList(source);

        HGroup hGroup = new HGroup {
            PercentHeight = 100
        };
        viewport.AddChild(hGroup);

        var factory = new ItemRendererFactory <DefaultItemRenderer>();

        VGroup vGroup2 = new VGroup {
            PercentHeight = 100
        };
        hGroup.AddChild(vGroup2);

        HGroup hGroup2 = new HGroup
        {
            PercentWidth = 100
        };
        vGroup2.AddChild(hGroup2);

        /* LISTS */

        #region List 1

        List list = new List
        {
            Id = "list1",
            //Layout = new TileLayout { RequestedColumnCount = 4 },
            Width        = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return(factory);
            }
        };
        hGroup2.AddChild(list);

        #endregion

        #region List 2

        list = new List
        {
            Id = "list2",
            //Layout = new TileLayout { RequestedColumnCount = 3 },
            Width        = 200, Height = 245,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return(factory);
            }
        };
        hGroup2.AddChild(list);

        #endregion

        #region List 3

        list = new List
        {
            Id           = "list3",
            Width        = 400,
            Height       = 600,
            DataProvider = _dataProvider,
            SkinClass    = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory <BigItemRenderer>()
        };
        hGroup2.AddChild(list);

        #endregion

        #region List 4

        list = new List
        {
            Id            = "list4",
            PercentHeight = 100,
            MinWidth      = 400,
            Layout        = new TileLayout {
                HorizontalGap = 0, VerticalGap = 0, RequestedColumnCount = 3
            },
            DataProvider = _dataProvider,
            SkinClass    = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory <BigItemRenderer>()
        };
        hGroup.AddChild(list);

        #endregion

        #region List 5 (horizontal)

        vGroup2.AddChild(new Spacer {
            PercentHeight = 100
        });

        list = new List
        {
            Id           = "list5",
            PercentWidth = 100,
            Height       = 100,
            Layout       = new HorizontalLayout {
                Gap = 0, RequestedColumnCount = 3
            },
            DataProvider = _dataProvider,
            SkinClass    = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory <BigItemRenderer>()
        };
        vGroup2.AddChild(list);

        #endregion

        #region Process renderer click

        AddEventListener(BigItemRenderer.ADD_BUTTON_CLICKED, delegate(Event e)
        {
            BigItemRenderer itemRenderer = (BigItemRenderer)e.Target;
            Alert.Show("Info", itemRenderer.Data.ToString(), AlertButtonFlag.Ok,
                       new AlertOption(AlertOptionType.HeaderIcon, ImageLoader.Instance.Load("Icons/information")));
        });

        #endregion
    }
Ejemplo n.º 2
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Top label

        Label label = new TitleLabel {
            HorizontalCenter = 0, Top = 20, StyleName = "title"
        };
        AddChild(label);

        new TextRotator
        {
            Delay = 5, // 5 seconds delay
            Lines = new[]
            {
                "Loading Mask Demo",
                "Created with eDriven.Gui"
                //"Author: Danko Kozar"
            },
            Callback = delegate(string line) { label.Text = line; }
        }
        .Start();

        #endregion

        #region VBox

        VGroup vbox = new VGroup
        {
            HorizontalCenter = 0,
            VerticalCenter   = 0,
            HorizontalAlign  = HorizontalAlign.Center,
            Gap = 20
        };
        AddChild(vbox);

        #endregion

        HGroup hbox = new HGroup {
            Gap = 20, VerticalAlign = VerticalAlign.Middle
        };
        vbox.AddChild(hbox);

        // 3 example mask, just for fun
        hbox.AddChild(new LoadingMaskAnimator {
            Width = 250, Height = 100, Message = "Loading something..."
        });
        hbox.AddChild(new LoadingMaskAnimator {
            Width = 250, Height = 150, Message = "Loading something else..."
        });
        hbox.AddChild(new LoadingMaskAnimator {
            Width = 250, Height = 200, Message = "And yet something else..."
        });

        //vbox.AddChild(new Spacer {Height = 40});

        hbox = new HGroup {
            Gap = 20, VerticalAlign = VerticalAlign.Middle
        };
        vbox.AddChild(hbox);

        // create 3 buttons
        CreateButton(hbox);
        CreateButton(hbox);
        CreateButton(hbox);

        Button btn = new Button
        {
            Text         = @"Click to show a global mask for 3 seconds",
            Icon         = Resources.Load <Texture>("IconsBig/oxyblue-address-book-new"),
            SkinClass    = typeof(ButtonSkin5),
            Left         = 100,
            Top          = 100,
            Width        = 250,
            Height       = 250,
            FocusEnabled = false
        };
        btn.Click += new EventHandler(delegate
        {
            int count = 0;

            GlobalLoadingMask.Show("");

            Timer t = new Timer(1, 3)
            {
                TickOnStart = true
            };
            t.Tick += delegate
            {
                GlobalLoadingMask.SetMessage(string.Format("Masking... {0} seconds", count));
                count++;
            };
            t.Complete += delegate { GlobalLoadingMask.Hide(); };
            t.Start();
        });
        vbox.AddChild(btn);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Note: Since Load could happen, if both scene containing OptionsToolbar, we wouldn't like to instantiate twice
    /// Thus we made 2 checks in for toolbar existance in this class
    /// </summary>
    protected override void CreateChildren()
    {
        if (HideInEditor && Application.isEditor)
        {
            return;
        }

        base.CreateChildren();

        if (null != _vbox)
        {
            return; // meaning toolbar created in the previous scene
        }
        _vbox = new VGroup
        {
            Right    = 10,
            MinWidth = 160,
            Gap      = 0
        };
        OptionsToolbarStage.Instance.AddChild(_vbox); // add to InspectorOverlayStage

        _options = new Options();
        _options.SetStyle("showBackground", true);
        _vbox.AddChild(_options);

        Button handle = new Button
        {
            StyleName    = "handle_horiz",
            FocusEnabled = false,
            PercentWidth = 100,
            ResizeWithStyleBackground = true,
            Text = "Options"
        };

        _vbox.AddChild(handle);

        handle.AddEventListener(MouseEvent.ROLL_OVER,
                                delegate(Event e)
        {
            if (handle == e.Target)
            {
                Show();
            }
            e.CancelAndStopPropagation();
        },
                                EventPhase.Capture | EventPhase.Target
                                );
        _vbox.AddEventListener(MouseEvent.ROLL_OVER, // deffering hide
                               delegate
        {
            if (null != _timer)
            {
                _timer.Reset();
                _timer.Stop();
            }
        },
                               EventPhase.Capture | EventPhase.Target
                               );
        _vbox.AddEventListener(MouseEvent.ROLL_OUT,
                               delegate(Event e)
        {
            if (_vbox == e.Target)
            {
                if (null == _timer)
                {
                    _timer = new Timer(1, 1);
                }
                _timer.Complete += delegate
                {
                    Hide();
                    _timer.Dispose();
                    _timer = null;
                };
                _timer.Start();
            }
            e.CancelAndStopPropagation();
        },
                               EventPhase.Capture | EventPhase.Target
                               );

        _vbox.ValidateNow(); // invoke measure

        float h = _options.Height;

        _vbox.Y   = -h;
        _hide.YTo = -h;
    }
Ejemplo n.º 4
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        VGroup vbox = new VGroup
        {
            Gap = 10,
            HorizontalCenter = 0, VerticalCenter = 0
        };

        AddChild(vbox);

        Button btn = new Button
        {
            Text      = "Button 1",
            Icon      = (Texture)Resources.Load("Icons/star"),
            SkinClass = typeof(ImageButtonSkin)
        };

        vbox.AddChild(btn);

        btn = new Button
        {
            Text      = "Button 2",
            Icon      = (Texture)Resources.Load("Icons/star"),
            StyleName = "button2",
            SkinClass = typeof(ImageButtonSkin)
        };
        vbox.AddChild(btn);

        btn = new Button
        {
            Text      = "Button 3",
            Icon      = (Texture)Resources.Load("Icons/star"),
            StyleName = "button3",
            SkinClass = typeof(ImageButtonSkin)
        };
        vbox.AddChild(btn);

        vbox.Click += delegate
        {
            Alert.Show(
                "Checking",
                "Are you sure you want to greet the world?",
                AlertButtonFlag.Yes | AlertButtonFlag.No,
                delegate(string action)
            {
                switch (action)
                {
                case "yes":
                    Alert.Show(
                        "Hello",
                        "Hello world!",
                        AlertButtonFlag.Ok,
                        new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/accept"))
                        );
                    break;

                case "no":
                    Alert.Show(
                        "Going to sleep",
                        "Good night.",
                        AlertButtonFlag.Ok,
                        new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/cancel"))
                        );
                    break;
                }
            },
                new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/information"))
                );
        };
    }
Ejemplo n.º 5
0
        protected override void CreateChildren()
        {
            //Debug.Log("Button skin creating children");
            base.CreateChildren();

            #region Background image

            /* just in case that no image is visible */

            /*_background = new RectShape
             * {
             *  Left = 0,
             *  Right = 0,
             *  Top = 0,
             *  Bottom = 0
             * };
             * _background.SetStyle("backgroundStyle", ButtonSingleStateStyle.Instance);
             * AddChild(_background);*/

            /* Tiled image */
            _backgroundImage = new Image
            {
                Left    = 0,
                Right   = 0,
                Top     = 0,
                Bottom  = 0,
                Mode    = ImageMode.Tiled,
                Visible = true
            };
            AddChild(_backgroundImage);

            #endregion

            #region Icon + label group

            VGroup vGroup = new VGroup
            {
                Gap              = 10,
                HorizontalAlign  = HorizontalAlign.Center,
                VerticalAlign    = VerticalAlign.Middle,
                HorizontalCenter = 0,
                VerticalCenter   = 0,
                Right            = 10,
                Left             = 10,
                Top              = 10,
                Bottom           = 10,
            };
            AddChild(vGroup);

            #endregion

            #region Label

            LabelDisplay = new Label {
                MouseEnabled = false,
                Multiline    = true,
                Color        = (Color)GetStyle("labelUpColor")
            };
            vGroup.AddChild(LabelDisplay);

            #endregion

            #region Icon

            IconDisplay = new Image {
                MouseEnabled = false
            };
            vGroup.AddChild(IconDisplay);

            #endregion
        }
Ejemplo n.º 6
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Scroller and viewport

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left      = 0,
            Right     = 0,
            Top       = 0,
            Bottom    = 0,
        };
        AddChild(scroller);

        Group viewport = new Group
        {
            Id     = "viewport",
            Layout = new AbsoluteLayout()
        };
        scroller.Viewport = viewport;

        Group g = new Group();
        viewport.AddChild(g);

        var image = new Image
        {
            Mode         = ImageMode.Tiled,
            TilingAnchor = Anchor.BottomRight,
            Texture      = (Texture)Resources.Load("stripes3"),
            Left         = 10,
            Right        = 10,
            Top          = 10,
            Bottom       = 10,
            Tooltip      = "Original size"
        };
        g.AddChild(image);

        #endregion

        #region VGroup

        VGroup vGroup = new VGroup
        {
            Id            = "vGroup",
            PaddingLeft   = 10,
            PaddingRight  = 10,
            PaddingTop    = 10,
            PaddingBottom = 10,
            Left          = 10,
            Right         = 10,
            Top           = 10,
            Bottom        = 10,
            Gap           = 10
        };
        g.AddChild(vGroup);

        #endregion

        #region Images

        var hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 600,
            Height    = 400,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 300,
            Height    = 150,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 150,
            Height    = 300,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Width     = 350,
            Height    = 200,
            ScaleMode = ImageScaleMode.ScaleToWidth,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 350,
            Height    = 200,
            ScaleMode = ImageScaleMode.ScaleToHeight,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 350,
            Height    = 200,
            ScaleMode = ImageScaleMode.ScaleToFit,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 350,
            Height    = 200,
            ScaleMode = ImageScaleMode.ScaleToFill,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 350,
            Height    = 200,
            ScaleMode = ImageScaleMode.StretchToFit,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Width     = 200,
            Height    = 350,
            ScaleMode = ImageScaleMode.ScaleToWidth,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 200,
            Height    = 350,
            ScaleMode = ImageScaleMode.ScaleToHeight,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 200,
            Height    = 350,
            ScaleMode = ImageScaleMode.ScaleToFit,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 200,
            Height    = 350,
            ScaleMode = ImageScaleMode.ScaleToFill,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width     = 200,
            Height    = 350,
            ScaleMode = ImageScaleMode.StretchToFit,
            Texture   = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        #endregion

        #region Panels

        _panel = new Panel
        {
            Title     = "Panel 1",
            MinWidth  = 200,
            MinHeight = 350
        };
        hgroup.AddChild(_panel);

        _panel = new Panel
        {
            SkinClass = typeof(PanelSkin3),
            Title     = "Panel 2",
            MinWidth  = 200,
            MinHeight = 350
        };
        hgroup.AddChild(_panel);

        _panel = new Panel
        {
            SkinClass = typeof(PanelSkin4),
            Title     = "Panel 3",
            MinWidth  = 200,
            MinHeight = 350
        };
        hgroup.AddChild(_panel);

        #endregion
    }
Ejemplo n.º 7
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button button = new Button
        {
            Text       = "Add data",
            SkinClass  = typeof(ImageButtonSkin),
            Icon       = ImageLoader.Instance.Load("Icons/star"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem(
                new ExampleItem
            {
                FirstName      = "First" + _random.Next(1, 100),
                LastName       = "Last" + _random.Next(1, 100),
                Age            = _random.Next(1, 80),
                DrivingLicense = _random.Next(0, 2) == 1
            }
                );
        };
        toolbar.AddContentChild(button);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass     = typeof(ScrollerSkin2),
            PercentWidth  = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout       = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft     = 10,
                PaddingRight    = 10,
                PaddingTop      = 10,
                PaddingBottom   = 10,
                Gap             = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        #region Fill the data provider

        List <string> names = new List <string>
        {
            "Failure",
            "Teaches",
            "Success",
            "One",
            "Two",
            "Three",
            "Four",
            "Five",
            "Six"
        };

        List <object> source = new List <object>();
        foreach (var theName in names)
        {
            source.Add(
                new ExampleItem
            {
                FirstName      = theName,
                LastName       = theName,
                Age            = _random.Next(1, 10),
                DrivingLicense = _random.Next(0, 2) == 1
            }
                );
        }

        _dataProvider = new ArrayList(source);

        #endregion

        HGroup hGroup = new HGroup {
            PercentWidth = 100, PercentHeight = 100
        };
        viewport.AddChild(hGroup);

        #region Grid (header + list + footer)

        VGroup vGroup = new VGroup {
            PercentWidth = 100, PercentHeight = 100, Gap = 0
        };
        hGroup.AddChild(vGroup);

        #region Header

        /* Implement your own header logic here */

        /*HGroup header = new HGroup {PercentWidth = 100, Gap = 0};
         * vGroup.AddChild(header);
         *
         * for (int i = 0; i < 5; i++)
         * {
         *  Button btnCol = new Button // example header
         *  {
         *      Text = "Column " + (i + 1),
         *      ToggleMode = true,
         *      PercentWidth = 100
         *  };
         *  btnCol.Click += delegate(Event e)
         *  {
         *      // sort, filder and refresh (do list.DataProvider = list.DataProvider)
         *  };
         *  header.AddChild(btnCol);
         * }*/

        #endregion

        #region List

        List list = new List
        {
            Id            = "list1",
            PercentWidth  = 100,
            PercentHeight = 100,
            DataProvider  = _dataProvider,
            LabelField    = "FirstName", // this must be set due to list logic legacy (the field must exist in DTO)
            SkinClass     = typeof(ListSkin2),
            ItemRenderer  = new ItemRendererFactory <MyGridItemRenderer>()
        };
        vGroup.AddChild(list);

        #endregion

        #region Footer

        HGroup footer = new HGroup {
            PercentWidth = 100, Gap = 30, PaddingLeft = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 0
        };
        vGroup.AddChild(footer);

        _lblSum = new Label {
            Text = "Age sum: ", StyleName = "footer"
        };
        footer.AddChild(_lblSum);

        _lblNumberOfSelectedItems = new Label {
            Text = "Driving licenses: ", StyleName = "footer"
        };
        footer.AddChild(_lblNumberOfSelectedItems);

        UpdateFooter();

        #endregion

        #endregion

        #region Process renderer click

        AddEventListener(MyGridItemRenderer.ADD_BUTTON_CLICKED, delegate(Event e)
        {
            IItemRenderer itemRenderer = (IItemRenderer)e.Target;
            Alert.Show("Info", itemRenderer.Data.ToString(), AlertButtonFlag.Ok,
                       new AlertOption(AlertOptionType.HeaderIcon, (object)ImageLoader.Instance.Load("Icons/information")));
        });

        AddEventListener(MyGridItemRenderer.EDIT_BUTTON_CLICKED, delegate(Event e)
        {
            var editor = new ExamplePopupEditor {
                Title      = "Edit",
                Icon       = ImageLoader.Instance.Load("Icons/edit"),
                Data       = ((MyGridItemRenderer)e.Target).Data,
                CloseOnEsc = true
            };
            editor.AddEventListener(CloseEvent.CLOSE, delegate
            {
                PopupManager.Instance.RemovePopup(editor);
            });

            PopupManager.Instance.AddPopup(editor, true);
        });

        #endregion

        #region Process property change

        _dataProvider.AddEventListener(PropertyChangeEvent.PROPERTY_CHANGE, delegate(Event e)
        {
            //PropertyChangeEvent pce = (PropertyChangeEvent) e;
            //Debug.Log(pce.NewValue);
            UpdateFooter();
        });

        #endregion
    }