Ejemplo n.º 1
0
    /*void Awake()
     * {
     *  Debug.Log("CreateChildren");
     * }
     *
     * void OnEnable()
     * {
     *  Debug.Log("OnEnable");
     * }*/

    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left      = 0,
            Right     = 0,
            Top       = 0,
            Bottom    = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        TitleLabel titleLabel = new TitleLabel
        {
            Text      = "Slider Demo",
            StyleName = "title",
            Right     = 20,
            Top       = 20
        };
        AddChild(titleLabel);

        var labelStyles = new Hashtable
        {
            { "labelStyle", BlueLabelStyle.Instance }
        };

        AddChild(new Spacer {
            Height = 20
        });

        #region Vertical sliders

        HGroup hbox = new HGroup
        {
            PercentWidth  = 100,
            PercentHeight = 100,
            Gap           = 10
        };
        viewport.AddChild(hbox);

        WrapVBox(hbox, new Label {
            Text = "100% slider", Styles = labelStyles
        },
                 new VSlider {
            PercentHeight = 100
        })
        .PercentHeight = 100;

        WrapVBox(hbox, new Label {
            Text = "400px slider", Styles = labelStyles
        },
                 new VSlider {
            Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2)
        });

        WrapVBox(hbox, new Label {
            Text = "400px slider, disabled", Styles = labelStyles
        },
                 new VSlider {
            Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2), Enabled = false
        });

        WrapVBox(hbox, new Label {
            Text = "50x400 slider", Styles = labelStyles
        },
                 new VSlider {
            Width = 50, Height = 400, SkinClass = typeof(VSliderSkin2)
        });

        WrapVBox(hbox, new Label {
            Text = "80x400 slider", Styles = labelStyles
        },
                 new VSlider {
            Width = 80, Height = 400, SkinClass = typeof(VSliderSkin3)
        });

        WrapVBox(hbox, new Label {
            Text = "80x100% slider", Styles = labelStyles
        },
                 new VSlider {
            Width = 80, PercentHeight = 100, Maximum = 1000, Value = 500, SkinClass = typeof(VSliderSkin3)
        })
        .PercentHeight = 100;

        #endregion

        #region Horizontal sliders

        WrapHBox(viewport, new Label {
            Text = "100% slider", Styles = labelStyles
        },
                 new HSlider {
            Id = "miki", Maximum = 400, PercentWidth = 100
        })
        .PercentWidth = 100;

        WrapHBox(viewport, new Label {
            Text = "400px slider", Styles = labelStyles
        },
                 new HSlider {
            Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2)
        });

        WrapHBox(viewport, new Label {
            Text = "400px slider, disabled", Styles = labelStyles
        },
                 new HSlider {
            Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2), Enabled = false
        });

        WrapHBox(viewport, new Label {
            Text = "400x50 slider", Styles = labelStyles
        },
                 new HSlider {
            Width = 400, Maximum = 400, Height = 50, SkinClass = typeof(HSliderSkin2)
        });

        WrapHBox(viewport, new Label {
            Text = "80x400 slider", Styles = labelStyles
        },
                 new HSlider {
            Width = 400, Height = 80, SkinClass = typeof(HSliderSkin3)
        });

        WrapHBox(viewport, new Label {
            Text = "80x100% slider", Styles = labelStyles
        },
                 new HSlider {
            PercentWidth = 100, Maximum = 1000, Value = 500, Height = 80, SkinClass = typeof(HSliderSkin3)
        })
        .PercentWidth = 100;

        #endregion

        AddChild(new Spacer {
            Height = 20
        });
    }
Ejemplo n.º 2
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        /**
         * Note: this demo HAS the overall scroller, but the stage itself SEEMS not to scroll
         * That's because we pushed the scrolled 150 px from both right and bottom
         * so we could place additional scrollbars there.
         * */

        #region Scroller + viewport

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 10,
            Right = 150,
            Top = 10,
            Bottom = 150
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group();
        scroller.Viewport = viewport;

        #endregion
        
        #region Horizontal scrollers

        HGroup hGroup = new HGroup { Gap = 10 };
        viewport.AddChild(hGroup);

        VGroup hScrollers = new VGroup
                                {
                                    PercentWidth = 100,
                                    Gap = 10,
                                    Left = 10,
                                    Right = 150,
                                    Bottom = 10
                                };
        AddChild(hScrollers);

        HScrollBar hScroll = new HScrollBar
                                    {
                                        SkinClass = typeof(HScrollBarSkin3),
                                        PercentWidth = 100,
                                        Maximum = 600,
                                        Viewport = viewport,
                                        MouseWheelScrollsHorizontally = true
                                    };
        hScrollers.AddChild(hScroll);

        hScroll = new HScrollBar
                        {
                            SkinClass = typeof(HScrollBarSkin2),
                            PercentWidth = 100,
                            Maximum = 600,
                            Viewport = viewport,
                        };
        hScrollers.AddChild(hScroll);

        hScroll = new HScrollBar
                        {
                            PercentWidth = 100,
                            Maximum = 600,
                            Viewport = viewport,
                        };
        hScrollers.AddChild(hScroll);

        #endregion

        #region Vertical scrollers

        HGroup vScrollers = new HGroup
                                {
                                    PercentHeight = 100,
                                    Gap = 10,
                                    Right = 10,
                                    Top = 10,
                                    Bottom = 150
                                };
        AddChild(vScrollers);

        VScrollBar vScroll = new VScrollBar
                                    {
                                        SkinClass = typeof(VScrollBarSkin3), PercentHeight = 100, Maximum = 600,
                                        Viewport = viewport
                                    };
        vScrollers.AddChild(vScroll);

        vScroll = new VScrollBar
        {
            SkinClass = typeof(VScrollBarSkin2),
            PercentHeight = 100,
            Maximum = 600,
            Viewport = viewport
        };
        vScrollers.AddChild(vScroll);

        vScroll = new VScrollBar
        {
            PercentHeight = 100,
            Maximum = 600,
            Viewport = viewport
        };
        vScrollers.AddChild(vScroll);

        #endregion

        #region Content

        VGroup vGroup = new VGroup
        {
            Id = "vGroup",
            VerticalAlign = VerticalAlign.Middle,
            HorizontalCenter = 0,
            VerticalCenter = 0,
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 10
        };

        vGroup.SetStyle("showBackground", true);
        vGroup.SetStyle("backgroundColor", Color.white);
        hGroup.AddChild(vGroup);

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

        _btn = new Button
        {
            Text = "Default button",
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            MinWidth = 200,
            MinHeight = 150
        };
        /* Let's just add a panel to the bottom row on double-clicking this button */
        _btn.DoubleClick += delegate { AddPanel(); };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Default toggle",
            FocusEnabled = false,
            ToggleMode = true,
            Selected = true,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text")
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Styled button",
            SkinClass = typeof (ButtonSkin2),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            MinWidth = 200,
            MinHeight = 150
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Styled toggle",
            SkinClass = typeof (ButtonSkin2),
            FocusEnabled = false,
            ToggleMode = true,
            Selected = true,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text")
        };
        hgroup.AddChild(_btn);

        // nice buttons 1st row

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

        _btn = new Button
        {
            Text = "Option 1",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 2",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 3",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200,
            ToggleMode = true,
            Selected = true
        };
        hgroup.AddChild(_btn);

        // nice buttons 2nd row

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

        _btn = new MyButton
        {
            Text = "Option 1",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/applications-games"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new MyButton2
        {
            Text = "Option 2",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/gconfeditor"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 3 (disabled)",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/gtk-floppy"),
            MinWidth = 200,
            MinHeight = 200,
            Enabled = false
        };
        hgroup.AddChild(_btn);

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

        // image
        var image = new Image
        {
            Texture = (Texture) Resources.Load("eDriven/Editor/Logo/logo2")
        };
        hgroup.AddChild(image);

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

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

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

        #endregion

        // new row (placeholder)
        _hgroup = new HGroup();
        vGroup.AddChild(_hgroup);
    }
Ejemplo n.º 3
0
        //private void RemoveHandler(Event e)
        //{
        //    DisplayObject popup = e.Target as DisplayObject;
        //    if (null != popup)
        //    {
        //        popup.RemoveEventListener(MouseEvent.MOUSE_DOWN_OUTSIDE, RemoveHandler);
        //        popup.RemoveEventListener(MouseEvent.MOUSE_WHEEL_OUTSIDE, RemoveHandler);
        //        TerminatePopup(popup);
        //    }
        //    if (_popups.Count == 0 && SystemManager.Instance.HasEventListener(ResizeEvent.RESIZE))
        //        SystemManager.Instance.RemoveEventListener(ResizeEvent.RESIZE, RemoveHandler);
        //}

        //private static void TerminatePopup(DisplayObject popup)
        //{
        //    //Debug.Log("TerminatePopup");

        //    var dlm = popup as DisplayListMember;

        //    if (null != dlm)
        //    {
        //        Instance.RemovePopup(dlm);
        //        // TODO: SystemManager.Instance.RemoveEventListener(ResizeEvent.RESIZE, ...);
        //        dlm.Dispose();
        //    }
        //}

        #endregion

        #region Add

        /// <summary>
        /// Adds a popup to popup stage
        /// </summary>
        /// <param name="popup">A popup to add</param>
        /// <param name="options">Popup options</param>
        public void AddPopup(DisplayListMember popup, params PopupOption[] options)
        {
            Event e = new Event(OPENING, popup, false, true); // cancelable

            DispatchEvent(e);

            if (e.Canceled)
            {
                return;
            }

            if (IsDefaultPrevented(OPENING))
            {
                return;
            }

            if (_popups.Contains(popup))
            {
                return;
            }
#if DEBUG
            if (DebugMode)
            {
                Debug.Log("AddPopup");
            }
#endif

            DisplayObjectContainer parent = null;
            bool  modal      = true;
            bool  centered   = true;
            bool  keepCenter = false;
            bool  removeOnMouseDownOutside  = false;
            bool  removeOnMouseWheelOutside = false;
            bool  removeOnScreenResize      = false;
            bool  autoFocus           = true;
            bool  focusPreviousOnHide = true;
            Stage stage = _stage;

            bool visibleFlag = popup.Visible;
            popup.Visible = false;

            int len = options.Length;
            for (int i = 0; i < len; i++)
            {
                PopupOption option = options[i];
                switch (option.Type)
                {
                case PopupOptionType.Parent:
                    parent = (DisplayObjectContainer)option.Value;
                    break;

                case PopupOptionType.Modal:
                    modal = (bool)option.Value;
                    break;

                case PopupOptionType.Centered:
                    centered = (bool)option.Value;
                    break;

                case PopupOptionType.KeepCenter:
                    keepCenter = (bool)option.Value;
                    break;

                case PopupOptionType.RemoveOnMouseDownOutside:
                    removeOnMouseDownOutside = (bool)option.Value;
                    break;

                case PopupOptionType.RemoveOnMouseWheelOutside:
                    removeOnMouseWheelOutside = (bool)option.Value;
                    break;

                case PopupOptionType.RemoveOnScreenResize:
                    removeOnScreenResize = (bool)option.Value;
                    break;

                case PopupOptionType.AutoFocus:
                    autoFocus = (bool)option.Value;
                    break;

                case PopupOptionType.FocusPreviousOnHide:
                    focusPreviousOnHide = (bool)option.Value;
                    break;

                case PopupOptionType.Stage:
                    //Debug.Log("Exotic stage: " + option.Value);
                    stage = (Stage)option.Value;
                    break;

                default:
                    throw new Exception("Unknown option");
                }
            }

            _popups.Add(popup);

            if (null == parent)
            {
                parent = stage;
            }

            DisplayListMember overlay   = null;
            Group             popupRoot = null;

            InvalidationManagerClient imc = popup as InvalidationManagerClient;
            Component comp = popup as Component;
            if (null != comp)
            {
                comp.IsPopUp = true;
            }

            if (modal)
            {
                overlay = (DisplayListMember)Activator.CreateInstance(ModalOverlayType);
                overlay.AddEventListener(MouseEvent.MOUSE_DOWN, OnOverlayMouseDown);

                // we are packing both the overlay and the popup to into an aditional container
                popupRoot = new Group();
                stage.AddChild(popupRoot);

                // BUG BUG BUG! If we do _stage.AddChild(popupRoot); AFTER the children are added, we get a null exception
                // this is the major problem when adding children, started appearing since 10.1.2012
                // solved. This had to to with the creationcomplete method, which has to be run after the complete invalidation pass

                popupRoot.AddChild(overlay);
                popupRoot.AddChild(popup);

                // popup has been added to popup stage
                // invalidation methods have been called upon the addition
                // now we want to run measure (to validate dimensions)
                // because we want to center the popup
                // now, the absolute layout won't do it on his own
                //overlay.Bounds = (Rectangle)parent.Bounds.Clone();

                overlay.Width  = PopupManagerStage.Instance.Width;
                overlay.Height = PopupManagerStage.Instance.Height;

                /*var client = overlay as InvalidationManagerClient;
                 * if (client != null)
                 * {
                 *  /*var imc2 = client;
                 *  imc2.SetActualSize(
                 *      PopupManagerStage.Instance.Width,
                 *      PopupManagerStage.Instance.Height/*,
                 *      Math.Max(imc2.GetExplicitOrMeasuredWidth(), imc2.MinWidth),
                 *      Math.Max(imc2.GetExplicitOrMeasuredHeight(), imc2.MinHeight)#2#
                 *  );#1#
                 *  client.Width = PopupManagerStage.Instance.Width;
                 *  client.Height = PopupManagerStage.Instance.Height;
                 *  //imc2.InvalidateTransform();
                 * }
                 * else
                 * {
                 *  overlay.X = parent.X;
                 *  overlay.Y = parent.Y;
                 *  /*overlay.X = parent.X;
                 *  overlay.Y = parent.Y;#1#
                 * }*/
            }
            else
            {
                stage.AddChild(popup);
            }

            if (null != imc)
            {
                //InvalidationManager.Instance.ValidateClient(imc, true);
                imc.ValidateNow();
                //Debug.Log(string.Format("imc.Width:{0}, imc.Height:{1}", imc.Width, imc.Height));
                //Debug.Log(string.Format("imc.GetExplicitOrMeasuredWidth():{0}, imc.GetExplicitOrMeasuredHeight():{1}", imc.GetExplicitOrMeasuredWidth(), imc.GetExplicitOrMeasuredHeight()));
                //imc.SetActualSize(imc.GetExplicitOrMeasuredWidth(), imc.GetExplicitOrMeasuredHeight());

                imc.SetActualSize(
                    Math.Min(Math.Max(imc.GetExplicitOrMeasuredWidth(), imc.MinWidth), imc.MaxWidth),
                    Math.Min(Math.Max(imc.GetExplicitOrMeasuredHeight(), imc.MinHeight), imc.MaxHeight)
                    );
            }

            var descriptor = new PopupDescriptor(parent, overlay, popupRoot)
            {
                Popup      = popup,
                PopupRoot  = modal ? popupRoot : popup,
                Owner      = parent,
                Modal      = modal,
                Centered   = centered,
                KeepCenter = keepCenter,
                RemoveOnMouseDownOutside  = removeOnMouseDownOutside,
                RemoveOnMouseWheelOutside = removeOnMouseWheelOutside,
                RemoveOnScreenResize      = removeOnScreenResize,
                FocusPreviousOnHide       = focusPreviousOnHide,
                Stage = stage
            };

            _descriptors.Add(popup, descriptor);

            if (centered)
            {
                CenterPopUp(popup);
            }

            InteractiveComponent ic = popup as InteractiveComponent;
            if (autoFocus && null != ic)
            {
                ic.SetFocus(); // TEMP disabled, 2.1.2012.
                //FocusManager.Instance.SetFocus(ic);

                /*ic.Defer(delegate
                 * {
                 *  //ic.SetFocus();
                 *  FocusManager.Instance.SetFocus(ic);
                 * }, 1);*/
            }


            // connect if not connected
            if (_descriptors.Count > 0)
            {
                SystemManager.Instance.ResizeSignal.Connect(ResizeSlot);
                SystemManager.Instance.MouseDownSignal.Connect(MouseDownSlot);
                SystemManager.Instance.RightMouseDownSignal.Connect(MouseDownSlot);
                SystemManager.Instance.MiddleMouseDownSignal.Connect(MouseDownSlot);
                SystemManager.Instance.MouseWheelSignal.Connect(MouseWheelSlot);

                // subscribe to stage to see if some component has been mouse-downed
                // NOTE: some components (i.e. window close button) could cancel the event, this is by design

                // note: it is safe ta call it multiple times, it is checked internally
                stage.AddEventListener(MouseEvent.MOUSE_DOWN, MouseDownHandler);
            }
            else
            {
                SystemManager.Instance.ResizeSignal.Disconnect(ResizeSlot);
                SystemManager.Instance.MouseDownSignal.Disconnect(MouseDownSlot);
                SystemManager.Instance.RightMouseDownSignal.Disconnect(MouseDownSlot);
                SystemManager.Instance.MiddleMouseDownSignal.Disconnect(MouseDownSlot);
                SystemManager.Instance.MouseWheelSignal.Disconnect(MouseWheelSlot);

                //MouseEventDispatcher.Instance.RemoveEventListener(MouseEvent.MOUSE_DOWN, MouseDownHandler);
                stage.RemoveEventListener(MouseEvent.MOUSE_DOWN, MouseDownHandler);
            }

            // NOTE: This is needed when having effects because of the flicker (?):
            //descriptor.PopupRoot.SkipRender(100);

            // bring the popup root to front
            descriptor.PopupRoot.BringToFront();

            popup.Visible = visibleFlag;

            DispatchEvent(new Event(OPEN, popup));
        }
Ejemplo n.º 4
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/add"),
            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;
        //AddChild(viewport);

        #endregion

        #region Data controls

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

        _dataProvider = new ArrayList(source);

        var factory = new ItemRendererFactory <DefaultItemRenderer>();

        /* LISTS */

        #region HGroup

        HGroup hGroup1 = new HGroup
        {
            PaddingLeft   = 10,
            PaddingRight  = 10,
            PaddingTop    = 10,
            PaddingBottom = 10,
            Gap           = 20
        };

        //hbox.SetStyle("showBackground", true);
        //hbox.SetStyle("backgroundColor", RgbColor.FromHex(0x004CFF).ToColor());
        viewport.AddChild(hGroup1);

        #endregion

        HGroup hGroup = new HGroup();
        viewport.AddChild(hGroup);

        /* DATA GROUPS */

        #region Data group 1

        hGroup1 = new HGroup
        {
            PaddingLeft   = 10,
            PaddingRight  = 10,
            PaddingTop    = 10,
            PaddingBottom = 10,
            Gap           = 50
        };
        hGroup.AddChild(hGroup1);

        DataGroup dataGroup = new DataGroup
        {
            Layout       = new VerticalLayout(),
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate(object item)
            {
                return(factory);
            }
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 2

        hGroup1 = new HGroup
        {
            PaddingLeft   = 10,
            PaddingRight  = 10,
            PaddingTop    = 10,
            PaddingBottom = 10,
            Gap           = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout {
                RequestedColumnCount = 2
            },
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return(factory);
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 3

        hGroup1 = new HGroup
        {
            PaddingLeft   = 10,
            PaddingRight  = 10,
            PaddingTop    = 10,
            PaddingBottom = 10,
            Gap           = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout {
                RequestedColumnCount = 4
            },
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return(factory);
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #endregion

        #region VGroup

        VGroup vgroup = new VGroup();
        hGroup.AddChild(vgroup);

        #endregion

        #region List 1

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

        #endregion

        #region List 2

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

        #endregion

        #region List 3

        list = new List
        {
            Id           = "list3",
            Width        = 400,
            Height       = 600,
            DataProvider = _dataProvider,
            SkinClass    = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory <BigItemRenderer>()
        };
        hGroup.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.º 5
0
        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Background

            _background = new RectShape
            {
                Id     = "background",
                Left   = 0,
                Right  = 0,
                Top    = 0,
                Bottom = 0
            };
            AddChild(_background);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "overlay",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            AddChild(_border);

            #endregion

            #region Header background

            _headerBackground = new RectShape
            {
                Id = "headerBackground",
                //Color = (Color?)GetStyle("headerBackgroundColor"),
                Left   = 1,
                Right  = 1,
                Top    = 1,
                Height = 50
            };
            AddChild(_headerBackground);

            #endregion

            #region Header group

            HeaderGroup = new Group
            {
                Id           = "headerGroup",
                Layout       = new AbsoluteLayout(),
                Left         = 1,
                Right        = 1,
                Top          = 1,
                Height       = 50,
                MouseEnabled = true
            };
            AddChild(HeaderGroup);

            #endregion

            #region Icon + label group

            _labelGroup = new HGroup
            {
                Left                   = 10,
                VerticalCenter         = 0,
                Gap                    = 6,
                VerticalAlign          = VerticalAlign.Middle,
                ClipAndEnableScrolling = true
            };
            HeaderGroup.AddChild(_labelGroup);

            #endregion

            #region Icon display

            HeaderIconDisplay = new Image();
            _labelGroup.AddChild(HeaderIconDisplay);

            #endregion

            #region Label display

            TitleDisplay = new Label();
            _labelGroup.AddChild(TitleDisplay);

            #endregion

            #region Move area

            MoveArea = new Group
            {
                Id           = "move_area",
                Layout       = new AbsoluteLayout(),
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = true
            };
            HeaderGroup.AddChild(MoveArea);

            #endregion

            #region Tools

            ToolGroup = new Group
            {
                Id     = "toolGroup",
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4
                },
                Right          = 6,
                VerticalCenter = 0,
                MouseEnabled   = true // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            HeaderGroup.AddChild(ToolGroup);

            #endregion

            #region Content background

            _contentGroupBackground = new RectShape
            {
                Id = "contentGroupBackground",
                //Color = Color.white,
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_contentGroupBackground);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_scroller);

            #endregion

            #region Content group

            ContentGroup = new HGroup
            {
                Id              = "contentGroup",
                Gap             = 10,
                PaddingLeft     = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 10,
                HorizontalAlign = HorizontalAlign.Center,
                VerticalAlign   = VerticalAlign.Middle
            };
            AddChild(ContentGroup);
            _scroller.Viewport = ContentGroup;

            #endregion

            #region Icon

            IconDisplay = new Image();
            ContentGroup.AddChild(IconDisplay);

            #endregion

            #region Message display

            MessageDisplay = new Label {
                Multiline = true,
                MaxWidth  = 800,
                MaxHeight = 600,
                Color     = Color.black,
            };
            MessageDisplay.SetStyle("labelStyle", GetStyle("labelStyle"));
            MessageDisplay.SetStyle("font", GetStyle("labelFont"));
            ContentGroup.AddChild(MessageDisplay);

            #endregion

            #region Control bar background

            _controlBarBackground = new RectShape
            {
                Id           = "controlBarBackground",
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                Alpha        = 0.5f,
                MouseEnabled = false
            };
            AddChild(_controlBarBackground);

            #endregion

            #region Control bar

            ControlBarGroup = new Group
            {
                Id = "controlBar",
                //ClipAndEnableScrolling = true, // this introduces a child positioning bug
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Bottom,
                    Gap             = 4,
                    PaddingLeft     = 6,
                    PaddingRight    = 6,
                    PaddingTop      = 6,
                    PaddingBottom   = 6
                },
                ClipAndEnableScrolling = true,
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                MouseEnabled = true // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            AddChild(ControlBarGroup);

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

            #region Controls

            Toolbar toolbar = new Toolbar();
            toolbar.Plugins.Add(new TabManager {
                ArrowsEnabled = true
            });
            AddChild(toolbar);

            #region Text field

            _txtSearch = new TextField
            {
                StyleName    = "search",
                Text         = "croatian coast",
                FocusEnabled = true,
                Width        = 400
            };
            _txtSearch.SetFocus();
            _txtSearch.KeyUp += delegate(Event e)
            {
                KeyboardEvent ke = (KeyboardEvent)e;
                if (ke.KeyCode == KeyCode.Return)
                {
                    _newSearch = true;
                    Search();
                }
            };
            toolbar.AddContentChild(_txtSearch);

            #endregion

            Button btnLoad = new Button
            {
                Text       = "Load data",
                SkinClass  = typeof(ImageButtonSkin),
                Icon       = ImageLoader.Instance.Load("Icons/arrow_refresh"),
                AutoRepeat = true
            };
            btnLoad.ButtonDown += delegate
            {
                Search();
                btnLoad.Text = "Load more...";
            };
            toolbar.AddContentChild(btnLoad);

            Button btnClear = new Button
            {
                Text       = "Remove all",
                SkinClass  = typeof(ImageButtonSkin),
                Icon       = ImageLoader.Instance.Load("Icons/cancel"),
                AutoRepeat = true
            };
            btnClear.ButtonDown += delegate
            {
                _scroller.Visible = false;
                _dataProvider.RemoveAll();
                btnLoad.Text = "Load data";
            };
            toolbar.AddContentChild(btnClear);

            #endregion

            #region Lower group

            Group group = new Group
            {
                PercentWidth  = 100,
                PercentHeight = 100
            };
            AddChild(group);

            #endregion

            #region Title label

            Label label = new TitleLabel {
                HorizontalCenter = 0, VerticalCenter = 0, StyleName = "title"
            };
            group.AddChild(label);

            new TextRotator
            {
                Delay = 5, // 5 seconds delay
                Lines = new[]
                {
                    "Load Data Demo",
                    "Created with eDriven.Gui",
                    "Loads images from Flickr"/*,
                                               * "Author: Danko Kozar"*/
                },
                Callback = delegate(string line) { label.Text = line; }
            }
            .Start();

            #endregion

            #region Scroller / viewport

            _scroller = new Scroller
            {
                SkinClass    = typeof(ScrollerSkin2),
                PercentWidth = 100, PercentHeight = 100,
                Visible      = false
            };
            _scroller.SetStyle("showEffect", _scrollerShow);
            group.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 Data controls

            List <object> source = new List <object>();

            _dataProvider = new ArrayList(source);

            /* LISTS */

            #region HGroup

            #endregion

            #region List

            _list = new List
            {
                Left   = 10, Right = 10, Top = 10, Bottom = 10,
                Layout = new TileLayout {
                    HorizontalGap = 0, VerticalGap = 0                                 /*, RequestedRowCount = 4, RequestedColumnCount = 3*/
                },
                DataProvider  = _dataProvider,
                SkinClass     = typeof(ListSkin2),
                ItemRenderer  = new ItemRendererFactory <ThumbnailItemRenderer>(),
                LabelFunction = LabelFunction            // extracting the title
            };
            viewport.AddChild(_list);

            #endregion

            #endregion

            // bubbling event listener
            AddEventListener("showImage", ShowImageHandler);
        }
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

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

        #region Controls

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

        #region Alert

        Button btnAlert = new Button
        {
            Text         = "Alert",
            FocusEnabled = false,
            SkinClass    = typeof(ImageButtonSkin),
            Icon         = ImageLoader.Instance.Load("Icons/comment")
        };
        btnAlert.Click += delegate
        {
            Alert.Show("Info", "This is the example alert.", AlertButtonFlag.Ok,
                       new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/information")),
                       new AlertOption(AlertOptionType.Icon, Resources.Load <Texture>("Icons/star_big")));
        };
        toolbar.AddContentChild(btnAlert);

        #endregion

        #region Window

        Button btnWindow = new Button
        {
            Text         = "New window",
            FocusEnabled = false,
            SkinClass    = typeof(ImageButtonSkin),
            Icon         = ImageLoader.Instance.Load("Icons/comment")
        };
        btnWindow.Click += delegate
        {
            _count++;
            var window = new MyWindow
            {
                Title     = "The Window " + _count,
                Id        = "window_" + _count,
                SkinClass = typeof(WindowSkin2),
                Icon      = ImageLoader.Instance.Load("Icons/balloon_32"),
                Width     = 400,
                Height    = 600
            };

            window.SetStyle("addedEffect", _windowShow);
            window.Plugins.Add(new Resizable {
                ShowOverlay = false
            });
            window.AddEventListener(CloseEvent.CLOSE, delegate
            {
                PopupManager.Instance.RemovePopup(window);
            });
            PopupManager.Instance.AddPopup(window, false);
            PopupManager.Instance.CenterPopUp(window);
        };
        toolbar.AddContentChild(btnWindow);

        #endregion

        #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
        {
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft     = 10,
                PaddingRight    = 10,
                PaddingTop      = 10,
                PaddingBottom   = 10,
                Gap             = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        #region Horizontal Scrollbars

        viewport.AddChild(new HScrollBar {
            SkinClass = typeof(HScrollBarSkin3), PercentWidth = 100, MinWidth = 300, Maximum = 300, PageSize = 100
        });
        viewport.AddChild(new HScrollBar {
            SkinClass = typeof(HScrollBarSkin3), PercentWidth = 50, Maximum = 500, Value = 200, PageSize = 100
        });
        viewport.AddChild(new HScrollBar {
            SkinClass = typeof(HScrollBarSkin2), MinWidth = 600, Maximum = 1000, PageSize = 100
        });
        viewport.AddChild(new HScrollBar {
            SkinClass = typeof(HScrollBarSkin3), MinWidth = 700, Maximum = 300, PageSize = 100
        });
        viewport.AddChild(new HScrollBar {
            PercentWidth = 100, MinWidth = 600, SkinClass = typeof(HScrollBarSkin3), Maximum = 1000, PageSize = 100
        });

        #endregion

        #region HGroup

        HGroup hGroup = new HGroup { /*PercentWidth = 100, */
            Gap = 10
        };
        viewport.AddChild(hGroup);

        #endregion

        #region Vertical scrollbars

        VScrollBar vScrollBar = new VScrollBar {
            PercentHeight = 100, Maximum = 300
        };
        vScrollBar.Change += delegate(Event e) { Debug.Log("Change: " + e); };
        hGroup.AddChild(vScrollBar);

        hGroup.AddChild(new VScrollBar {
            PercentHeight = 100, Maximum = 400, PageSize = 100
        });
        hGroup.AddChild(new VScrollBar {
            SkinClass = typeof(VScrollBarSkin2), PercentHeight = 100, Maximum = 1000, PageSize = 100
        });
        hGroup.AddChild(new VScrollBar {
            SkinClass = typeof(VScrollBarSkin2), Height = 400, Maximum = 400, PageSize = 100
        });
        hGroup.AddChild(new VScrollBar {
            SkinClass = typeof(VScrollBarSkin3), PercentHeight = 100, Maximum = 200, PageSize = 100
        });
        hGroup.AddChild(new VScrollBar {
            SkinClass = typeof(VScrollBarSkin3), Height = 400, Maximum = 300, PageSize = 100
        });

        #endregion

        #region Panels

        //hGroup.AddChild(new Spacer { PercentWidth = 50 });

        Panel panel = new MyPanel
        {
            Width     = 360,
            Height    = 600,
            Icon      = ImageLoader.Instance.Load("Icons/shape_square_add"),
            Title     = "First panel",
            StyleName = "default"
        };
        hGroup.AddChild(panel);

        panel = new MyPanel2
        {
            MaxWidth  = 500,
            Height    = 600,
            SkinClass = typeof(PanelSkin2),
            Icon      = ImageLoader.Instance.Load("Icons/page_white_text"),
            Title     = "Second panel"
        };
        panel.SetStyle("titleColor", 0xffff00);
        hGroup.AddChild(panel);

        //hGroup.AddChild(new Spacer { PercentWidth = 50 });

        #endregion

        #region Vertical sliders

        hGroup.AddChild(new VSlider {
            PercentHeight = 100
        });
        hGroup.AddChild(new VSlider {
            Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2)
        });
        hGroup.AddChild(new VSlider {
            Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2), Enabled = false
        });
        hGroup.AddChild(new VSlider {
            Width = 50, Height = 400, SkinClass = typeof(VSliderSkin2)
        });
        hGroup.AddChild(new VSlider {
            Width = 80, Height = 400, SkinClass = typeof(VSliderSkin3)
        });
        hGroup.AddChild(new VSlider {
            Width = 80, PercentHeight = 100, Maximum = 1000, SkinClass = typeof(VSliderSkin3)
        });

        #endregion

        #region Horizontal sliders

        viewport.AddChild(new HSlider {
            Maximum = 400, PercentWidth = 100
        });
        viewport.AddChild(new HSlider {
            Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2)
        });
        viewport.AddChild(new HSlider {
            Width = 400, Maximum = 400, Height = 50, SkinClass = typeof(HSliderSkin2)
        });
        viewport.AddChild(new HSlider {
            PercentWidth = 50, Height = 80, SkinClass = typeof(HSliderSkin3)
        });
        viewport.AddChild(new HSlider {
            PercentWidth = 100, Maximum = 1000, Height = 80, SkinClass = typeof(HSliderSkin3)
        });

        #endregion
    }
Ejemplo n.º 9
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/add"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text = "Previous tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/previous")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex--;
            _viewstack.Previous();
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text = "Next tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/next")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex++;
            _viewstack.Next();
        };
        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);

        viewport.AddChild(new Label {Text = "ButtonBar:"});

        #region Button bar

        _buttonBar = new ButtonBar
        {
            DataProvider = new ArrayList(new List<object> {"List 1", "List 2", "List 3", "List 4", "List 5"}),
            SkinClass = typeof(ButtonBarSkin2),
            RequireSelection = true
        };
        _buttonBar.AddEventListener(Event.CHANGE, delegate(Event e)
        {
            IndexChangeEvent ice = e as IndexChangeEvent;
            if (null != ice)
            {
                int newIndex = ice.NewIndex;
                //Debug.Log("Changed to: " + newIndex);
                _viewstack.SelectedIndex = newIndex;
            }
        });
        viewport.AddChild(_buttonBar);

        #endregion
        
        #region ViewStack

        viewport.AddChild(new Label { Text = "ViewStack (having 5 lists as children):" });

        _viewstack = new ViewStack { ResizeToContent = true };
        viewport.AddChild(_viewstack);

        #endregion

        /* Factory is used for creating renderer instances */
        var factory = new ItemRendererFactory<DefaultItemRenderer>();

        /* 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 is used for switching between different factories, based on the supplied item */
                            ItemRendererFunction = delegate { return factory; }
                        };
        _viewstack.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; }
                    };
        _viewstack.AddChild(list);

        #endregion

        #region List 3

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

        #endregion

        #region List 4

        list = new List
                    {
                        Id = "list4",
                        Width = 600, Height = 800,
                        Layout = new TileLayout { HorizontalGap = 0, VerticalGap = 0, RequestedRowCount = 4, RequestedColumnCount = 3 },
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        _viewstack.AddChild(list);

        #endregion

        #region List 5 (horizontal)

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

        #endregion

        #region Process renderer click

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

        #endregion
    }
Ejemplo n.º 10
0
        // ReSharper disable MemberCanBePrivate.Global

        #endregion

        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Popup anchor

            _anchor = new PopUpAnchor
            {
                Id            = "pop_up",
                Left          = 0,
                Right         = 0,
                Top           = 0,
                Bottom        = 0,
                PopupPosition = PopupPosition.Below,
                //PopupWidthMatchesAnchorWidth = true
            };
            AddChild(_anchor);

            #endregion

            #region DropDown

            DropDown = new Group
            {
                Id        = "drop_down",
                MaxHeight = 134, MinHeight = 22,
                Width     = 300,
                Height    = 350
            };
            _anchor.Popup = DropDown;

            #endregion

            #region Background

            _background = new RectShape
            {
                Id     = "background",
                Left   = 0,
                Right  = 0,
                Top    = 0,
                Bottom = 0
            };
            DropDown.AddChild(_background);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "border",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            DropDown.AddChild(_border);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                Id                   = "scroller",
                SkinClass            = EvaluateSkinClassFromStyle("scrollerSkin"),
                Left                 = 0,
                Right                = 0,
                Top                  = 0,
                Bottom               = 0,
                MinViewportInset     = 1,
                HasFocusableChildren = false,
                //Width = 300
            };
            _scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.Off);
            DropDown.AddChild(_scroller);

            #endregion

            #region Data group

            DataGroup = new DataGroup
            {
                Id           = "data_group",
                ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                Layout       = new TileLayout {
                    HorizontalGap = 0, VerticalGap = 0, RequestedRowCount = 4, RequestedColumnCount = 5
                }
            };
            _scroller.Viewport = DataGroup;

            #endregion

            #region OpenButton

            OpenButton = new Button
            {
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                FocusEnabled = false,
                SkinClass    = typeof(DropDownListButtonSkin)
            };
            AddChild(OpenButton);

            #endregion

            #region Label

            LabelDisplay = new Label
            {
                VerticalCenter = 0,
                Left           = 7,
                Right          = 32,
                Top            = 2,
                Bottom         = 2,
                Width          = 75,
                MouseEnabled   = false,
                Color          = Color.black
            };
            AddChild(LabelDisplay);

            #endregion
        }
Ejemplo n.º 11
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[]
            {
                "Form Demo 2",
                "Created with eDriven.Gui"/*,
                                           * "Author: Danko Kozar"*/
            },
            Callback = delegate(string line) { label.Text = line; }
        }
        .Start();

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left      = 0,
            Right     = 0,
            Top       = 100,
            Bottom    = 0
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        Panel panel = new Panel
        {
            Title     = "Form Demo 2",
            Icon      = Resources.Load <Texture>("Icons/star"),
            SkinClass = typeof(PanelSkin2),
            MaxHeight = 800,
            //Height = 600 // for getting a scrollbar
        };
        viewport.AddChild(panel);

        Group container = new Group {
            Left = 10, Right = 10, Top = 10, Bottom = 10
        };
        panel.AddContentChild(container);

        Form form = new Form {
            PercentWidth = 100
        };
        container.AddContentChild(form);

        #region Form items

        List list = new List
        {
            PercentWidth     = 100,
            RequireSelection = true,
            SelectedItem     = "Sine",
            DataProvider     = new ArrayList(new List <object>
            {
                new ListItem("Back", "Back"),
                new ListItem("Bounce", "Bounce"),
                new ListItem("Circ", "Circ"),
                new ListItem("Cubic", "Cubic"),
                new ListItem("Elastic", "Elastic"),
                new ListItem("Expo", "Expo"),
                new ListItem("Linear", "Linear"),
                new ListItem("Quad", "Quad"),
                new ListItem("Quart", "Quart"),
                new ListItem("Quint", "Quint"),
                new ListItem("Sine", "Sine")
            })
        };
        form.AddField("list", "List:", list);

        DropDownList dropDown = new DropDownList
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List <object>
            {
                "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six"
            })
        };
        form.AddField("dd", "Drop down list:", dropDown);

        #region _test

//cb.Opening += delegate (Event evt)
        //                  {
        //                      Debug.Log("Opening");
        //                      //evt.PreventDefault();
        //                  };
        //cb.Closing += delegate(Event evt) {
        //    Debug.Log("Closing");
        //    //evt.PreventDefault();
        //};
        //cb.Open += delegate { Debug.Log("Open"); };
        //cb.Close += delegate { Debug.Log("Close"); };

        //cb.AddEventListener(IndexChangeEvent.CHANGE, delegate (Event e)
        //                                     {
        //                                         IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                         Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                     });
        //cb.SelectedIndexChanged += delegate(Event e)
        //                                    {
        //                                        IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                        Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                    };

        #endregion

        ComboBox cb1 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List <object>
            {
                new ListItem("Failure", "Failure"),
                new ListItem("Teaches", "Teaches"),
                new ListItem("Success", "Success")
            })
        };
        form.AddField("combo1", "Combo 1:", cb1);

        ComboBox cb2 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List <object>
            {
                new ListItem("Back", "Back"),
                new ListItem("Bounce", "Bounce"),
                new ListItem("Circ", "Circ"),
                new ListItem("Cubic", "Cubic"),
                new ListItem("Elastic", "Elastic"),
                new ListItem("Expo", "Expo"),
                new ListItem("Linear", "Linear"),
                new ListItem("Quad", "Quad"),
                new ListItem("Quart", "Quart"),
                new ListItem("Quint", "Quint"),
                new ListItem("Sine", "Sine")
            })
        };
        form.AddField("combo2", "Combo 2:", cb2);

        TextField txtSubject = new TextField
        {
            FocusEnabled = true,
            PercentWidth = 100,
            Optimized    = true,
            //PasswordMode = true // test password mode
        };
        form.AddField("subject", "Subject:", txtSubject);

        CheckBox chk1 = new CheckBox {
            Text = "Checkbox 1"
        };
        chk1.Change += delegate
        {
            form.ToggleItem("checkbox2");
        };
        form.AddField("checkbox", "Checkbox:", chk1);

        CheckBox chk2 = new CheckBox {
            Text = "Checkbox 2"
        };
        chk2.Change += delegate
        {
            form.ToggleItem("checkbox3");
        };
        form.AddField("checkbox2", "Checkbox:", chk2);
        form.ToggleItem("checkbox2", false);

        CheckBox chk3 = new CheckBox {
            Text = "Checkbox 3 with long text......."
        };
        form.AddField("checkbox3", "Checkbox:", chk3);
        form.ToggleItem("checkbox3", false);

        #endregion

        #region Buttons

        Button btnSet = new Button
        {
            Text      = "Set data (true/Expo/Expo)",
            Icon      = ImageLoader.Instance.Load("Icons/arrow_up"),
            SkinClass = typeof(ImageButtonSkin)
        };
        btnSet.Press += delegate
        {
            form.Data = new Hashtable
            {
                { "subject", "The subject" },
                //{"message", "This is the message..."}
                { "checkbox", true },
                { "combo1", "Expo" },
                { "list", "Expo" }
            };
        };
        panel.ControlBarGroup.AddChild(btnSet);

        Button btnSet2 = new Button
        {
            Text      = "Set data (false/Circ/Sine)",
            SkinClass = typeof(ImageButtonSkin),
            Icon      = ImageLoader.Instance.Load("Icons/arrow_up")
        };
        btnSet2.Press += delegate
        {
            form.Data = new Hashtable
            {
                { "subject", "The subject 2" },
                //{"message", "This is the message..."}
                { "checkbox", false },
                { "combo1", "Circ" },
                { "list", "Sine" }
            };
        };
        panel.ControlBarGroup.AddChild(btnSet2);

        panel.ControlBarGroup.AddChild(new Spacer {
            PercentWidth = 100
        });

        Button btnGet = new Button
        {
            Text      = "Get data",
            SkinClass = typeof(ImageButtonSkin),
            Icon      = ImageLoader.Instance.Load("Icons/arrow_down")
        };
        btnGet.Press += delegate
        {
            StringBuilder sb    = new StringBuilder();
            int           count = form.Data.Count;
            int           index = 0;
            foreach (DictionaryEntry entry in form.Data)
            {
                if (index < count - 1)
                {
                    sb.AppendLine(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                }
                else
                {
                    sb.Append(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                }
                //sb.AppendLine();
                index++;
            }

            Alert.Show("This is the form data", sb.ToString(), AlertButtonFlag.Ok,
                       new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/information")));
        };
        panel.ControlBarGroup.AddChild(btnGet);

        #endregion

        // focus
        list.SetFocus();

        panel.Plugins.Add(new TabManager
        {
            TabChildren = new List <DisplayListMember> {
                list, dropDown, cb1, cb2, txtSubject, chk1, chk2, chk3, btnSet, btnGet
            }
        });
    }
Ejemplo n.º 12
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.º 13
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
    }
Ejemplo n.º 14
0
        // ReSharper disable MemberCanBePrivate.Global

        #endregion

        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Popup anchor

            _anchor = new PopUpAnchor
            {
                Id            = "pop_up",
                Left          = 0,
                Right         = 0,
                Top           = 0,
                Bottom        = 0,
                PopupPosition = PopupPosition.Below,
                PopupWidthMatchesAnchorWidth = true
            };
            AddChild(_anchor);

            #endregion

            #region DropDown

            DropDown = new Group
            {
                Id        = "drop_down",
                MaxHeight = 134, MinHeight = 22,
                Width     = 150,
                Height    = 200
            };
            //AddChild(DropDown);
            _anchor.Popup = DropDown;

            #endregion

            #region Background

            _background = new RectShape
            {
                Id     = "background",
                Left   = 0,
                Right  = 0,
                Top    = 0,
                Bottom = 0
            };
            DropDown.AddChild(_background);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                Id                   = "scroller",
                SkinClass            = EvaluateSkinClassFromStyle("scrollerSkin"),
                Left                 = 0,
                Right                = 0,
                Top                  = 0,
                Bottom               = 0,
                MinViewportInset     = 1,
                HasFocusableChildren = false,
                Height               = 200
                                       //Visible = IncludeInLayout = false
            };
            _scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.Off);
            DropDown.AddChild(_scroller);

            #endregion

            #region Data group

            DataGroup = new DataGroup
            {
                Id           = "data_group",
                ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                Layout       = new VerticalLayout
                {
                    Gap                  = 0,
                    HorizontalAlign      = HorizontalAlign.ContentJustify,
                    RequestedMinRowCount = 5
                }
            };
            _scroller.Viewport = DataGroup;

            #endregion

            #region Border

            _border = new RectShape
            {
                Id              = "border",
                Left            = 0,
                Right           = 0,
                Top             = 0,
                Bottom          = 0,
                MouseEnabled    = false,
                BackgroundColor = Color.gray
            };
            DropDown.AddChild(_border);

            #endregion

            #region OpenButton

            OpenButton = new Button
            {
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                FocusEnabled = false,
                SkinClass    = typeof(DropDownListButtonSkin)
            };
            AddChild(OpenButton);

            #endregion

            #region Label

            TextInput = new TextField
            {
                VerticalCenter = 0,
                Left           = 0,
                Right          = 25,
                Top            = 0,
                Bottom         = 0,
                Height         = 25 /*,
                                     * Width = 75,*/
                                    //MouseEnabled = false,
                                    //Color = Color.black
            };
            //LabelDisplay.SetStyle("color", GetStyle("textColor"));
            AddChild(TextInput);

            #endregion
        }
Ejemplo n.º 15
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[]
            {
                "Form Demo 2",
                "Created with eDriven.Gui"/*,
                "Author: Danko Kozar"*/
            },
            Callback = delegate(string line) { label.Text = line; }
        }
        .Start();

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 100,
            Bottom = 0
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        Panel panel = new Panel
        {
            Title = "Form Demo 2",
            Icon = Resources.Load<Texture>("Icons/star"),
            SkinClass = typeof(PanelSkin2),
            MaxHeight = 800,
            //Height = 600 // for getting a scrollbar
        };
        viewport.AddChild(panel);

        Group container = new Group { Left = 10, Right = 10, Top = 10, Bottom = 10 };
        panel.AddContentChild(container);

        Form form = new Form {PercentWidth = 100};
        container.AddContentChild(form);

        #region Form items

        List list = new List
        {
            PercentWidth = 100,
            RequireSelection = true,
            SelectedItem = "Sine",
            DataProvider = new ArrayList(new List<object>
                                               {
                                                   new ListItem("Back", "Back"),
                                                   new ListItem("Bounce", "Bounce"),
                                                   new ListItem("Circ", "Circ"),
                                                   new ListItem("Cubic", "Cubic"),
                                                   new ListItem("Elastic", "Elastic"),
                                                   new ListItem("Expo", "Expo"),
                                                   new ListItem("Linear", "Linear"),
                                                   new ListItem("Quad", "Quad"),
                                                   new ListItem("Quart", "Quart"),
                                                   new ListItem("Quint", "Quint"),
                                                   new ListItem("Sine", "Sine")
                                               })
        };
        form.AddField("list", "List:", list);

        DropDownList dropDown = new DropDownList
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
            {
                "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six"
            })
        };
        form.AddField("dd", "Drop down list:", dropDown);

        #region _test

//cb.Opening += delegate (Event evt)
        //                  {
        //                      Debug.Log("Opening");
        //                      //evt.PreventDefault();
        //                  };
        //cb.Closing += delegate(Event evt) { 
        //    Debug.Log("Closing");
        //    //evt.PreventDefault();
        //};
        //cb.Open += delegate { Debug.Log("Open"); };
        //cb.Close += delegate { Debug.Log("Close"); };

        //cb.AddEventListener(IndexChangeEvent.CHANGE, delegate (Event e)
        //                                     {
        //                                         IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                         Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                     });
        //cb.SelectedIndexChanged += delegate(Event e)
        //                                    {
        //                                        IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                        Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                    };

        #endregion

        ComboBox cb1 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
                                                 {
                                                     new ListItem("Failure", "Failure"),
                                                     new ListItem("Teaches", "Teaches"),
                                                     new ListItem("Success", "Success")
                                                 })
        };
        form.AddField("combo1", "Combo 1:", cb1);

        ComboBox cb2 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
                                                 {
                                                     new ListItem("Back", "Back"),
                                                     new ListItem("Bounce", "Bounce"),
                                                     new ListItem("Circ", "Circ"),
                                                     new ListItem("Cubic", "Cubic"),
                                                     new ListItem("Elastic", "Elastic"),
                                                     new ListItem("Expo", "Expo"),
                                                     new ListItem("Linear", "Linear"),
                                                     new ListItem("Quad", "Quad"),
                                                     new ListItem("Quart", "Quart"),
                                                     new ListItem("Quint", "Quint"),
                                                     new ListItem("Sine", "Sine")
                                                 })
        };
        form.AddField("combo2", "Combo 2:", cb2);

        TextField txtSubject = new TextField
                                   {
                                       FocusEnabled = true,
                                       PercentWidth = 100,
                                       Optimized = true,
                                       //PasswordMode = true // test password mode
                                   };
        form.AddField("subject", "Subject:", txtSubject);

        CheckBox chk1 = new CheckBox { Text = "Checkbox 1" };
        chk1.Change += delegate
        {
            form.ToggleItem("checkbox2");
        };
        form.AddField("checkbox", "Checkbox:", chk1);

        CheckBox chk2 = new CheckBox { Text = "Checkbox 2" };
        chk2.Change += delegate
        {
            form.ToggleItem("checkbox3");
        };
        form.AddField("checkbox2", "Checkbox:", chk2);
        form.ToggleItem("checkbox2", false);

        CheckBox chk3 = new CheckBox { Text = "Checkbox 3 with long text......." };
        form.AddField("checkbox3", "Checkbox:", chk3);
        form.ToggleItem("checkbox3", false);

        #endregion

        #region Buttons

        Button btnSet = new Button
                            {
                                Text = "Set data (true/Expo/Expo)",
                                Icon = ImageLoader.Instance.Load("Icons/arrow_up"),
                                SkinClass = typeof(ImageButtonSkin)
                            };
        btnSet.Press += delegate
                            {
                                form.Data = new Hashtable
                                                {
                                                    {"subject", "The subject"},
                                                    //{"message", "This is the message..."}
                                                    {"checkbox", true},
                                                    {"combo1", "Expo"},
                                                    {"list", "Expo"}
                                                };
                            };
        panel.ControlBarGroup.AddChild(btnSet);
        
        Button btnSet2 = new Button
        {
            Text = "Set data (false/Circ/Sine)",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/arrow_up")
        };
        btnSet2.Press += delegate
        {
            form.Data = new Hashtable
                                                {
                                                    {"subject", "The subject 2"},
                                                    //{"message", "This is the message..."}
                                                    {"checkbox", false},
                                                    {"combo1", "Circ"},
                                                    {"list", "Sine"}
                                                };
        };
        panel.ControlBarGroup.AddChild(btnSet2);
        
        panel.ControlBarGroup.AddChild(new Spacer {PercentWidth = 100});

        Button btnGet = new Button
                            {
                                Text = "Get data",
                                SkinClass = typeof(ImageButtonSkin),
                                Icon = ImageLoader.Instance.Load("Icons/arrow_down")
                            };
        btnGet.Press += delegate
                            {
                                StringBuilder sb = new StringBuilder();
                                int count = form.Data.Count;
                                int index = 0;
                                foreach (DictionaryEntry entry in form.Data)
                                {
                                    if (index < count - 1)
                                        sb.AppendLine(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                                    else
                                        sb.Append(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                                    //sb.AppendLine();
                                    index++;
                                }

                                Alert.Show("This is the form data", sb.ToString(), AlertButtonFlag.Ok,
                                    new AlertOption(AlertOptionType.HeaderIcon, Resources.Load<Texture>("Icons/information")));
                            };
        panel.ControlBarGroup.AddChild(btnGet);

        #endregion

        // focus
        list.SetFocus();

        panel.Plugins.Add(new TabManager
        {
            TabChildren = new List<DisplayListMember> { list, dropDown, cb1, cb2, txtSubject, chk1, chk2, chk3, btnSet, btnGet }
        });
    }
Ejemplo n.º 16
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.º 17
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/add"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text      = "Previous tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon      = ImageLoader.Instance.Load("Icons/previous")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex--;
            _viewstack.Previous();
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text      = "Next tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon      = ImageLoader.Instance.Load("Icons/next")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex++;
            _viewstack.Next();
        };
        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);

        viewport.AddChild(new Label {
            Text = "ButtonBar:"
        });

        #region Button bar

        _buttonBar = new ButtonBar
        {
            DataProvider = new ArrayList(new List <object> {
                "List 1", "List 2", "List 3", "List 4", "List 5"
            }),
            SkinClass        = typeof(ButtonBarSkin2),
            RequireSelection = true
        };
        _buttonBar.AddEventListener(Event.CHANGE, delegate(Event e)
        {
            IndexChangeEvent ice = e as IndexChangeEvent;
            if (null != ice)
            {
                int newIndex = ice.NewIndex;
                //Debug.Log("Changed to: " + newIndex);
                _viewstack.SelectedIndex = newIndex;
            }
        });
        viewport.AddChild(_buttonBar);

        #endregion

        #region ViewStack

        viewport.AddChild(new Label {
            Text = "ViewStack (having 5 lists as children):"
        });

        _viewstack = new ViewStack {
            ResizeToContent = true
        };
        viewport.AddChild(_viewstack);

        #endregion

        /* Factory is used for creating renderer instances */
        var factory = new ItemRendererFactory <DefaultItemRenderer>();

        /* 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 is used for switching between different factories, based on the supplied item */
            ItemRendererFunction = delegate { return(factory); }
        };
        _viewstack.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); }
        };
        _viewstack.AddChild(list);

        #endregion

        #region List 3

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

        #endregion

        #region List 4

        list = new List
        {
            Id     = "list4",
            Width  = 600, Height = 800,
            Layout = new TileLayout {
                HorizontalGap = 0, VerticalGap = 0, RequestedRowCount = 4, RequestedColumnCount = 3
            },
            DataProvider = _dataProvider,
            SkinClass    = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory <BigItemRenderer>()
        };
        _viewstack.AddChild(list);

        #endregion

        #region List 5 (horizontal)

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

        #endregion

        #region Process renderer click

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

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

            /*#region Background
             *
             * _background = new RectShape
             *                {
             *                    Id = "background",
             *                    Left = 0,
             *                    Right = 0,
             *                    Top = 0,
             *                    Bottom = 0
             *                };
             * AddChild(_background);
             *
             #endregion*/

            #region Background image

            _backgroundImage = new Image
            {
                //Id = "background_image",
                Left    = 0,
                Right   = 0,
                Top     = 0,
                Bottom  = 0,
                Visible = false,
                Mode    = ImageMode.Tiled
            };
            AddChild(_backgroundImage);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "overlay",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            AddChild(_border);

            #endregion

            #region Header background

            _headerBackground = new RectShape
            {
                Id     = "headerBackground",
                Left   = 1,
                Right  = 1,
                Top    = 1,
                Height = 50
            };
            AddChild(_headerBackground);

            #endregion

            #region Header group

            HeaderGroup = new Group
            {
                Id           = "headerGroup",
                Layout       = new AbsoluteLayout(),
                Left         = 1,
                Right        = 1,
                Top          = 1,
                Height       = 50,
                MouseEnabled = true
            };
            AddChild(HeaderGroup);

            #endregion

            #region Icon + label group

            _labelGroup = new HGroup
            {
                Left                   = 10,
                VerticalCenter         = 0,
                Gap                    = 6,
                VerticalAlign          = VerticalAlign.Middle,
                ClipAndEnableScrolling = true
            };
            HeaderGroup.AddChild(_labelGroup);

            #endregion

            #region Icon display

            HeaderIconDisplay = new Image();
            _labelGroup.AddChild(HeaderIconDisplay);

            #endregion

            #region Label display

            TitleDisplay = new Label();
            _labelGroup.AddChild(TitleDisplay);

            #endregion

            #region Move area

            MoveArea = new Group
            {
                Id           = "move_area",
                Layout       = new AbsoluteLayout(),
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = true
            };
            HeaderGroup.AddChild(MoveArea);

            #endregion

            #region Tools

            ToolGroup = new Group
            {
                Id     = "toolGroup",
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4
                },
                Right          = 6,
                VerticalCenter = 0,
                MouseEnabled   = true               // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            HeaderGroup.AddChild(ToolGroup);

            #endregion

            #region Content background

            _contentGroupBackground = new RectShape
            {
                Id = "contentGroupBackground",
                //Color = Color.white,
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_contentGroupBackground);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_scroller);

            #endregion

            #region Content group

            ContentGroup = new Group
            {
                Id = "contentGroup",
                //Left = 6,
                //Right = 6,
                //Top = 50,
                //Bottom = 50
            };
            AddChild(ContentGroup);
            _scroller.Viewport = ContentGroup;

            #endregion

            #region Control bar background

            _controlBarBackground = new RectShape
            {
                Id           = "controlBarBackground",
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                Alpha        = 0.5f,
                MouseEnabled = false
            };
            AddChild(_controlBarBackground);

            #endregion

            #region Control bar

            ControlBarGroup = new Group
            {
                Id = "controlBar",
                ClipAndEnableScrolling = true,
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Bottom,
                    Gap             = 4,
                    PaddingLeft     = 6,
                    PaddingRight    = 6,
                    PaddingTop      = 6,
                    PaddingBottom   = 6
                },
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                MouseEnabled = true
            };
            AddChild(ControlBarGroup);

            #endregion
        }
Ejemplo n.º 19
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/add"),
            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;
        //AddChild(viewport);

        #endregion

        #region Data controls

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

        _dataProvider = new ArrayList(source);

        var factory = new ItemRendererFactory<DefaultItemRenderer>();

        /* LISTS */

        #region HGroup

        HGroup hGroup1 = new HGroup
                    {
                        PaddingLeft = 10,
                        PaddingRight = 10,
                        PaddingTop = 10,
                        PaddingBottom = 10,
                        Gap = 20
                    };

        //hbox.SetStyle("showBackground", true);
        //hbox.SetStyle("backgroundColor", RgbColor.FromHex(0x004CFF).ToColor());
        viewport.AddChild(hGroup1);

        #endregion

        HGroup hGroup = new HGroup();
        viewport.AddChild(hGroup);

        /* DATA GROUPS */

        #region Data group 1

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        DataGroup dataGroup = new DataGroup
        {
            Layout = new VerticalLayout(),
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate(object item)
            {
                return factory;
            }
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 2

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout {RequestedColumnCount = 2},
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 3

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout { RequestedColumnCount = 4 },
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #endregion

        #region VGroup

        VGroup vgroup = new VGroup();
        hGroup.AddChild(vgroup);

        #endregion

        #region List 1

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

        #endregion

        #region List 2

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

        #endregion

        #region List 3

        list = new List
        {
            Id = "list3",
            Width = 400,
            Height = 600,
            DataProvider = _dataProvider,
            SkinClass = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
        };
        hGroup.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.º 20
0
        public static void InsideSphere()
        {
            Console.WriteLine("Loading file...");
            var filePath = Path.Combine(GetExecutionPath(), "winter_river_1k.ppm");

            Console.WriteLine("Parsing file...");
            var textureCanvas = PPM.ParseFile(filePath);
            var image         = new UVImage(textureCanvas);
            var map           = new TextureMap(image, UVMapping.Spherical);

            var skySphere = new Sphere()
            {
                Material = { Texture = map, Ambient = 1.2f, CastsShadows = false, Transparency = 1f }
            };

            skySphere.SetTransform(Transform.RotateY(2.1f).Scale(1000f));

            var s = new Sphere
            {
                Material =
                {
                    Roughness     =                           0.1f,
                    Texture       = SolidColor.Create(new Color(1f, 0.0f, 0.0f)),
                    SpecularColor = new Color(0.2f,                 0.2f,  0.2f),
                    Metallic      =                             0f,
                    Ambient       = 0f
                }
            };

            var g = new Group();

            g.AddChild(skySphere);
            g.AddChild(s);

            g.Divide(1);

            var w = new World();

            w.SetLights(new PointLight(new Point(100, 100, -100), new Color(1f, 1f, 1f)));
            w.SetObjects(g);

            var width  = 400;
            var height = 400;
            var from   = new Point(0, -0.8f, -4f);
            var to     = new Point(0, 0, 0);

            var canvas      = new Canvas(width, height);
            var pps         = new PerPixelSampler(1000);
            var fov         = 0.8f;
            var aspectRatio = (float)width / height;
            var camera      = new ApertureCamera(fov, aspectRatio, 0.05F, from, to, Vectors.Up);
            var cws         = new ComposableWorldSampler(1,
                                                         2,
                                                         GGXNormalDistribution.Instance,
                                                         SchlickBeckmanGeometricShadow.Instance,
                                                         SchlickFresnelFunction.Instance,
                                                         w);
            var ctx = new RenderContext(canvas, new RenderPipeline(cws, camera, pps));

            Console.WriteLine("Rendering at {0}x{1}...", width, height);
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            ctx.Render();
            PPM.ToFile(canvas, Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "sky_sphere");
            stopwatch.Stop();
            Console.WriteLine("Done ({0})", stopwatch.Elapsed);
        }
Ejemplo n.º 21
0
        bool tryAddObjectTo(ILayoutable parent, Widget go)
        {
            if (go == null)
            {
                return(false);
            }
//			lock (imlVE.UpdateMutex) {
            Interface i = null;

            if (parent == null)
            {
                i = imlVE;
            }
            else
            {
                i = parent as Interface;
            }
            if (i != null)
            {
                if (i.GraphicTree.Count > 0)
                {
                    return(false);
                }
                i.AddWidget(go);
                imlProjFile.Instance = go;
                EditorIsDirty        = true;
                return(true);
            }
            Container c = parent as Container;

            if (c != null)
            {
                if (c.Child != null)
                {
                    return(false);
                }
                //return tryAddObjectTo (c.Parent, go);
                c.SetChild(go);
                EditorIsDirty = true;
                return(true);
            }
            TemplatedContainer tc = parent as TemplatedContainer;

            if (tc != null)
            {
                if (tc.Content != null)
                {
                    return(false);
                }
                //return tryAddObjectTo (c.Parent, go);
                tc.Content    = (go);
                EditorIsDirty = true;
                return(true);
            }
            Group g = parent as Group;

            if (g != null)
            {
                g.AddChild(go);
                EditorIsDirty = true;
                return(true);
            }
            return(false);           //tryAddObjectTo (parent.Parent, go);
//			}
        }
Ejemplo n.º 22
0
        public static void ColRowTestRender()
        {
            Console.WriteLine("Loading file...");
            //var filePath = Path.Combine(GetExecutionPath(), "indoor_env.ppm");
            var filePath = Path.Combine(GetExecutionPath(), "winter_river_1k.ppm");

            Console.WriteLine("Parsing file...");
            var textureCanvas = PPM.ParseFile(filePath);
            var image         = new UVImage(textureCanvas);
            var map           = new TextureMap(image, UVMapping.Spherical);

            var skySphere = new Sphere()
            {
                Material = { Texture = map, Ambient = 1.5f, CastsShadows = false, Transparency = 1f }
            };

            skySphere.SetTransform(Transform.RotateY(3.4f).Scale(1000f));

            var  g        = new Group();
            var  dx       = 2.75f;
            var  dz       = 3.5f;
            var  y        = 1f;
            var  nX       = 10;
            var  nZ       = 1;
            var  delta    = 1f / (nX * nZ - 1);
            int  n        = 0;
            bool metallic = false;

            for (var z = 0; z < nZ; z++)
            {
                for (var x = 0; x < nX; x++)
                {
                    var s = new Sphere();
                    s.SetTransform(Transform.TranslateY(1f).Scale(1.2f).Translate(x * dx, 0, z * dz));
                    // var color = x % 2 == 0 ? new Color(1f, 1f, 1f) : new Color(1f, 0.3f, 0.3f);
                    var color = new Color(1f, 0.3f, 0.3f);
                    s.Material.Texture       = SolidColor.Create(color);
                    s.Material.SpecularColor = metallic ? color : new Color(0.2f, 0.2f, 0.2f);
                    s.Material.Roughness     = MathFunction.Saturate(n * delta + 0.01f);
                    s.Material.Metallic      = metallic ? 1f : 0f;
                    s.Material.Ambient       = 0f;
                    s.Material.Reflective    = 0.9f;
                    g.AddChild(s);
                    n++;
                }
            }

            var lightGray = new Color(0.9f, 0.9f, 0.9f);
            var darkGray  = new Color(0.1f, 0.9f, 0.1f);
            var s1        = new StripeTexture(lightGray, darkGray);
            var s2        = new StripeTexture(lightGray, darkGray);

            s2.SetTransform(Transform.RotateY(MathF.PI / 2));
            var pattern = new BlendedCompositeTexture(s1, s2);

            pattern.SetTransform(Transform.Scale(1f / 30f));

            var text = new CheckerTexture(new Color(0.3f, 0.7f, 0.3f), new Color(0.13f, 0.13f, 0.13f));

            text.SetTransform(Transform.Scale(1f / 16f));

            var floor = new Cube
            {
                Material =
                {
                    Texture       = text,
                    SpecularColor = new Color(0.3f, 0.3f, 0.3f),
                    Metallic      =             0f,
                    Roughness     =          0.45f,
                    Ambient       = 0.15f
                }
            };

            floor.SetTransform(Transform.TranslateY(-1f).Scale(40f));

            var min = g.LocalBounds().Min;
            var max = g.LocalBounds().Max;
            var dir = max - min;
            var mid = min + (dir * 0.5f);

            var g2 = new Group(g, floor, skySphere);

            //var g2 = new Group(g);
            g2.Divide(1);

            var w = new World();

            w.SetLights(new PointLight(new Point(mid.X, 500, -500), new Color(1.7f, 1.7f, 1.7f)));
            w.SetObjects(g2);

            //var width = 1200;
            //var height = 140;
            //var transform = Transforms.View(new Point(mid.X, 6f, -32f), mid, new Vector(0, 1, 0));
            //var c = new PinholeCamera(transform, MathF.PI / 4f, width, height);
            ////var c = new ApertureCamera(MathF.PI / 4f, width, height, 0.04f, new Point(mid.X, 6f, -32f), mid);
            //var ws = new ComposableWorldShading(3, GGXNormalDistribution.Instance, GGXSmithGeometricShadow.Instance, SchlickFresnelFunction.Instance, w);
            ////var ws = new PhongWorldShading(3, w);
            //var scene = new Scene(c, ws);
            //var aaa = new AdaptiveRenderer(4, 0.00001f, scene);
            //var canvas = new Canvas(width, height);


            var width  = 1200;
            var height = 140;
            var from   = new Point(mid.X, 6f, -32f);
            var to     = mid;

            var canvas      = new Canvas(width, height);
            var pps         = new PerPixelSampler(400);
            var fov         = MathF.PI / 4f;
            var aspectRatio = (float)width / height;
            var camera      = new ApertureCamera(fov, aspectRatio, 0.2F, from, to, Vectors.Up);
            var cws         = new ComposableWorldSampler(2,
                                                         16,
                                                         GGXNormalDistribution.Instance,
                                                         GGXSmithGeometricShadow.Instance,
                                                         SchlickFresnelFunction.Instance,
                                                         w);
            var ctx = new RenderContext(canvas, new RenderPipeline(cws, camera, pps));

            Console.WriteLine("Rendering at {0}x{1}...", width, height);
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            ctx.Render();
            //RenderContext.Render(canvas, aaa);
            PPM.ToFile(canvas, Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "col_row");
            stopwatch.Stop();
            Console.WriteLine("Done ({0})", stopwatch.Elapsed);
        }
Ejemplo n.º 23
0
    private static void CreateButton(Group parent)
    {
        Button btn1 = new Button
        {
            Text = @"Click to mask me for 3 seconds :)",
            Icon = Resources.Load<Texture>("Icons/star_big"),
            SkinClass = typeof (ButtonSkin5),
            Left = 100,
            Top = 100,
            Width = 250,
            Height = 250,
            FocusEnabled = false
        };
        btn1.Click += new EventHandler(delegate
        {
            int count = 0;

            LoadingMask mask = new LoadingMask(btn1);
            
            Timer t = new Timer(1, 3) {TickOnStart = true};
            t.Tick += delegate
            {
                mask.SetMessage(string.Format("Masking... {0} seconds", count));
                count++;
            };
            t.Complete += delegate { mask.Unmask(); };
            t.Start();
        });
        parent.AddChild(btn1);
    }
Ejemplo n.º 24
0
        public static void RowTestByDelegate(int spp, string fileSuffix, Func <int, Material> materialFunc)
        {
            Console.WriteLine("Loading file...");
            var filePath = Path.Combine(GetExecutionPath(), "winter_river_1k.ppm");

            Console.WriteLine("Parsing file...");
            var textureCanvas = PPM.ParseFile(filePath);
            var image         = new UVImage(textureCanvas);
            var map           = new TextureMap(image, UVMapping.Spherical);

            var skySphere = new Sphere
            {
                Material = { Texture = map, Ambient = 1.5f, CastsShadows = false, Transparency = 1f }
            };

            skySphere.SetTransform(Transform.RotateY(3.4f).Scale(1000f));

            var g  = new Group();
            var dx = 2.75f;
            var dz = 3.5f;
            var y  = 1f;
            var nX = 10;
            var nZ = 1;
            int n  = 0;

            for (var z = 0; z < nZ; z++)
            {
                for (var x = 0; x < nX; x++)
                {
                    var s = new Sphere();
                    s.SetTransform(Transform.TranslateY(1f).Scale(1.2f).Translate(x * dx, 0, z * dz));
                    s.SetMaterial(materialFunc(x + 1));
                    g.AddChild(s);
                    n++;
                }
            }

            var lightGray = new Color(0.9f, 0.9f, 0.9f);
            var darkGray  = new Color(0.1f, 0.9f, 0.1f);
            var s1        = new StripeTexture(lightGray, darkGray);
            var s2        = new StripeTexture(lightGray, darkGray);

            s2.SetTransform(Transform.RotateY(MathF.PI / 2));
            var pattern = new BlendedCompositeTexture(s1, s2);

            pattern.SetTransform(Transform.Scale(1f / 30f));

            var text = new CheckerTexture(new Color(0.3f, 0.7f, 0.3f), new Color(0.13f, 0.13f, 0.13f));

            text.SetTransform(Transform.Scale(1f / 16f));

            var floor = new Cube
            {
                Material =
                {
                    Texture       = text,
                    SpecularColor = new Color(0.3f, 0.3f, 0.3f),
                    Metallic      =             0f,
                    Roughness     =          0.45f,
                    Ambient       = 0.15f
                }
            };

            floor.SetTransform(Transform.TranslateY(-1f).Scale(40f));

            var min = g.LocalBounds().Min;
            var max = g.LocalBounds().Max;
            var dir = max - min;
            var mid = min + (dir * 0.5f);

            var g2 = new Group(g, floor, skySphere);

            g2.Divide(1);

            var w = new World();

            w.SetLights(new PointLight(new Point(mid.X, 500, -500), new Color(1.7f, 1.7f, 1.7f)));
            w.SetObjects(g2);

            var width  = 1200;
            var height = 140;
            var from   = new Point(mid.X, 6f, -32f);
            var to     = mid;

            var canvas      = new Canvas(width, height);
            var pps         = new PerPixelSampler(spp);
            var fov         = MathF.PI / 4f;
            var aspectRatio = (float)width / height;
            var camera      = new ApertureCamera(fov, aspectRatio, 0.2F, from, to, Vectors.Up);
            var cws         = new ComposableWorldSampler(2,
                                                         16,
                                                         GGXNormalDistribution.Instance,
                                                         GGXSmithGeometricShadow.Instance,
                                                         SchlickFresnelFunction.Instance,
                                                         w);
            var ctx = new RenderContext(canvas, new RenderPipeline(cws, camera, pps));

            Console.WriteLine("Rendering at {0}x{1}...", width, height);
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            ctx.Render();
            PPM.ToFile(canvas, Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "col_row_" + fileSuffix);
            stopwatch.Stop();
            Console.WriteLine("Done ({0})", stopwatch.Elapsed);
        }
Ejemplo n.º 25
0
        // ReSharper restore MemberCanBePrivate.Global

        #endregion

        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Background

            _background = new RectShape
            {
                Id    = "background",
                Color = Color.white,
                Left  = 0, Right = 0, Top = 0, Bottom = 0
            };
            AddChild(_background);

            _backgroundImage = new Image
            {
                //Id = "background_image",
                Left    = 0,
                Right   = 0,
                Top     = 0,
                Bottom  = 0,
                Visible = false,
                //Rotation = 30,
                //AspectRatio = 4,
                ScaleMode = ImageScaleMode.ScaleToFill
            };
            AddChild(_backgroundImage);

            #endregion

            #region Header background

            _headerBackground = new RectShape
            {
                Id = "headerBackground",
                //Color = RgbColor.FromHex(0x000fff).ToColor(),
                BackgroundColor = (Color)GetStyle("headerBackgroundColor"),
                Left            = 0,
                Right           = 0,
                Top             = 0,
                Height          = 80
            };
            AddChild(_headerBackground);

            #endregion

            #region Header group

            HeaderGroup = new Group
            {
                Id     = "headerGroup",
                Layout = new AbsoluteLayout(),
                Left   = 0,
                Right  = 0,
                Top    = 0,
                Height = 80
            };
            AddChild(HeaderGroup);

            #endregion

            #region Title label

            TitleDisplay = new Label
            {
                Id             = "titleLabel",
                Left           = 10,
                VerticalCenter = 0
            };
            //TitleLabel.SetStyle("textColor", UnityEngine.Color.white);
            HeaderGroup.AddChild(TitleDisplay);

            #endregion

            #region Tools

            ToolGroup = new Group
            {
                Id     = "toolGroup",
                Layout = new HorizontalLayout {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4
                },
                Right          = 6,
                VerticalCenter = 0,
                MouseEnabled   = true               // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            HeaderGroup.AddChild(ToolGroup);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                SkinClass = EvaluateSkinClassFromStyle("scrollerSkin"),
                Left      = 0,
                Right     = 0,
                Top       = 80,
                Bottom    = 50
            };
            AddChild(_scroller);

            #endregion

            #region Content group

            ContentGroup = new Group {
                Id = "contentGroup"
            };
            //AddChild(ContentGroup);
            _scroller.Viewport = ContentGroup;

            #endregion

            #region Control bar background

            _controlBarBackground = new RectShape
            {
                Id = "controlBarBackground",
                BackgroundColor = ColorMixer.FromHex(0x000fff).ToColor(),
                Left            = 0,
                Right           = 0,
                Bottom          = 0,
                Height          = 50,
                //Alpha = 0.5f
            };
            AddChild(_controlBarBackground);

            #endregion

            #region Control bar

            ControlBarGroup = new Group
            {
                Id     = "controlBar",
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4,
                    PaddingLeft     = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 10
                },
                Left         = 0,
                Right        = 0,
                Bottom       = 0,
                Height       = 50,
                MouseEnabled = true                       // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            AddChild(ControlBarGroup);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "border",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            AddChild(_border);

            #endregion
        }
Ejemplo n.º 26
0
        public static void SkyBoxMappingTestRender()
        {
            Console.WriteLine("Loading sky box file...");
            var skyBoxFile = Path.Combine(GetExecutionPath(), "skyboxsun.ppm");

            Console.WriteLine("Parsing sky box file...");
            var skyBoxCanvas  = PPM.ParseFile(skyBoxFile);
            var skyBoxTexture = new UVImage(skyBoxCanvas);
            var skyBoxMap     = new SkyBoxMap(skyBoxTexture);


            Cube Cube(float rotY, float rotX, float tx, float ty)
            {
                var cube1 = new Cube
                {
                    Material = { Texture = skyBoxMap }
                };

                cube1.SetTransform(Transform.RotateY(rotY).RotateX(rotX).Translate(tx, ty, 0));
                return(cube1);
            }

            var g = new Group();

            g.AddChild(Cube(0.7854f, 0.7854f, -6, 2));
            g.AddChild(Cube(2.3562f, 0.7854f, -2, 2));
            g.AddChild(Cube(3.927f, 0.7854f, 2, 2));
            g.AddChild(Cube(5.4978f, 0.7854f, 6, 2));
            g.AddChild(Cube(0.7854f, -0.7854f, -6, -2));
            g.AddChild(Cube(2.3562f, -0.7854f, -2, -2));
            g.AddChild(Cube(3.927f, -0.7854f, 2, -2));
            g.AddChild(Cube(5.4978f, -0.7854f, 6, -2));

            g.Divide(1);

            var w = new World();

            w.SetLights(new PointLight(new Point(0, 2, -100), Colors.White));
            w.SetObjects(g);

            var width  = 800;
            var height = 400;
            var from   = new Point(0, 0, -20f);
            var to     = new Point(0, 0, 0);

            var canvas      = new Canvas(width, height);
            var pps         = new PerPixelSampler(16);
            var fov         = 0.8f;
            var aspectRatio = (float)width / height;
            var transform   = Transform.LookAt(from, to, new Vector(0, 1, 0));
            var camera      = new PinholeCamera(transform, fov, aspectRatio);
            var cws         = new PhongWorldShading(1, w);
            var ctx         = new RenderContext(canvas, new RenderPipeline(cws, camera, pps));

            Console.WriteLine("Rendering at {0}x{1}...", width, height);
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            ctx.Render();
            PPM.ToFile(canvas, Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "mapping_sky_box");
            stopwatch.Stop();
            Console.WriteLine("Done ({0})", stopwatch.Elapsed);
        }
Ejemplo n.º 27
0
 public void AddDebugInfo(Group group)
 {
     group.AddChild(new Paragraph(Anchor.AutoLeft, 1, p => "Position: " + this.Position));
 }
Ejemplo n.º 28
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.º 29
0
// ReSharper restore MemberCanBePrivate.Global

        #endregion

        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Background

            _background = new RectShape
            {
                Id   = "background",
                Left = 0, Right = 0, Top = 0, Bottom = 0
            };
            AddChild(_background);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "overlay",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            AddChild(_border);

            #region Header background

            _headerBackground = new RectShape
            {
                Id     = "headerBackground",
                Left   = 1, Right = 1, Top = 1,
                Height = 50
            };
            AddChild(_headerBackground);

            #endregion

            #region Header group

            HeaderGroup = new Group
            {
                Id           = "headerGroup",
                Layout       = new AbsoluteLayout(),
                Left         = 1,
                Right        = 1,
                Top          = 1,
                Height       = 50,
                MouseEnabled = true
            };
            AddChild(HeaderGroup);

            #endregion

            #region Icon + label group

            _labelGroup = new HGroup
            {
                Left                   = 10,
                VerticalCenter         = 0,
                Gap                    = 6,
                VerticalAlign          = VerticalAlign.Middle,
                ClipAndEnableScrolling = true
            };
            HeaderGroup.AddChild(_labelGroup);

            #endregion

            #region Icon display

            HeaderIconDisplay = new Image
            {
                /*Left = 10,
                 * VerticalCenter = 0*/
            };
            _labelGroup.AddChild(HeaderIconDisplay);

            #endregion

            #region Label display

            TitleDisplay = new Label
            {
                //Id = "titleLabel",
                //Left = 10,
                //VerticalCenter = 0
            };
            //TitleLabel.SetStyle("textColor", UnityEngine.Color.white);
            _labelGroup.AddChild(TitleDisplay);

            #endregion

            #region Move area

            MoveArea = new Group
            {
                Id           = "move_area",
                Layout       = new AbsoluteLayout(),
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = true
            };
            HeaderGroup.AddChild(MoveArea);

            #endregion

            #region Tools

            ToolGroup = new Group
            {
                Id     = "toolGroup",
                Layout = new HorizontalLayout {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4
                },
                Right          = 6,
                VerticalCenter = 0,
                MouseEnabled   = true               // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            HeaderGroup.AddChild(ToolGroup);

            #endregion

            #region Content background

            _contentGroupBackground = new RectShape
            {
                Id     = "contentGroupBackground",
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_contentGroupBackground);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_scroller);

            #endregion

            #region Content group

            ContentGroup = new Group
            {
                Id = "contentGroup",
                //Left = 6,
                //Right = 6,
                //Top = 50,
                //Bottom = 50
            };

            /**
             * Panel: in designer, children not focusable (textarea)
             * Problem je bio u WindowSkinu:
             * ContentGroup = new Group{ Id = "contentGroup" };
             * AddChild(ContentGroup); // -> ova linija radi problem (ako se izbaci, sve je ok)
             * _scroller.Viewport = ContentGroup;
             * */

            // AddChild(ContentGroup);
            _scroller.Viewport = ContentGroup;

            #endregion

            #region Control bar background

            _controlBarBackground = new RectShape
            {
                Id           = "controlBarBackground",
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                Alpha        = 0.5f,
                MouseEnabled = false
            };
            AddChild(_controlBarBackground);

            #endregion

            #region Control bar

            ControlBarGroup = new Group
            {
                Id = "controlBar",
                ClipAndEnableScrolling = true,
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4,
                    PaddingLeft     = 6,
                    PaddingRight    = 6,
                    PaddingTop      = 6,
                    PaddingBottom   = 6
                },
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                MouseEnabled = true
            };
            AddChild(ControlBarGroup);

            #endregion

            #endregion
        }
Ejemplo n.º 30
0
 internal void AddDebugInfo(Group group)
 {
     group.AddChild(new Paragraph(Anchor.AutoLeft, 1, p => "Chunks: " + this.chunks.Count));
 }
Ejemplo n.º 31
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        TitleLabel titleLabel = new TitleLabel
        {
            Text      = "Scrollbar Demo",
            StyleName = "title",
            Right     = 20,
            Top       = 20
        };

        AddChild(titleLabel);

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left      = 0,
            Right     = 0,
            Top       = 0,
            Bottom    = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        #region Vertical scrollbars

        HGroup hGroup = new HGroup {
            Gap = 10, Id = "hbox2", PercentHeight = 100
        };
        viewport.AddChild(hGroup);

        VScrollBar s = new VScrollBar {
            PercentHeight = 100, Maximum = 300
        };
        s.Change += delegate(Event e)
        {
            Debug.Log("Change: " + e);
        };
        hGroup.AddChild(s);

        s = new VScrollBar {
            PercentHeight = 100, Maximum = 400, PageSize = 100
        };
        hGroup.AddChild(s);

        s = new VScrollBar {
            SkinClass = typeof(VScrollBarSkin2), PercentHeight = 100, Maximum = 1000, PageSize = 100
        };
        hGroup.AddChild(s);

        s = new VScrollBar {
            SkinClass = typeof(VScrollBarSkin2), Height = 400, Maximum = 400, PageSize = 100
        };
        hGroup.AddChild(s);

        s = new VScrollBar {
            SkinClass = typeof(VScrollBarSkin3), PercentHeight = 100, Maximum = 200, PageSize = 100
        };
        hGroup.AddChild(s);

        s = new VScrollBar {
            SkinClass = typeof(VScrollBarSkin3), Height = 400, Maximum = 300, PageSize = 100
        };
        hGroup.AddChild(s);

        #endregion

        #region Horizontal scrollbars

        Label label = new Label {
            Text = "Will change the skin on drag: "
        };
        viewport.AddChild(label);

        HScrollBar scrollBar1 = new HScrollBar {
            Width = 300, Maximum = 300, PageSize = 100
        };
        scrollBar1.Change += delegate(Event e)
        {
            scrollBar1.SkinClass = typeof(HScrollBarSkin3);
        };
        viewport.AddChild(scrollBar1);

        label = new Label {
            Text = "Will change the skin on drag: "
        };
        viewport.AddChild(label);

        _scrollbar2 = new HScrollBar {
            PercentWidth = 100, Maximum = 500, Value = 200, PageSize = 100
        };
        _scrollbar2.Change += delegate(Event e)
        {
            _scrollbar2.SkinClass = typeof(HScrollBarSkin3);
        };
        viewport.AddChild(_scrollbar2);

        HScrollBar scrollbar3 = new HScrollBar
        {
            SkinClass = typeof(HScrollBarSkin2),
            MinWidth  = 600,
            Maximum   = 1000,
            PageSize  = 100
        };
        viewport.AddChild(scrollbar3);

        HScrollBar scrollbar4 = new HScrollBar
        {
            SkinClass = typeof(HScrollBarSkin3),
            MinWidth  = 700,
            Maximum   = 300,
            PageSize  = 100
        };
        viewport.AddChild(scrollbar4);

        HScrollBar scrollbar5 = new HScrollBar
        {
            PercentWidth = 100,
            MinWidth     = 600,
            SkinClass    = typeof(HScrollBarSkin3),
            Maximum      = 1000,
            PageSize     = 100
        };
        viewport.AddChild(scrollbar5);

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

        #region Heading

        TitleLabel button = new TitleLabel
        {
            StyleName = "title",
            HorizontalCenter = 0,
            Top = 20
        };

        AddChild(button);

        new TextRotator
        {
            Delay = 5, // 5 seconds delay
            Lines = new[]
                            {
                                "Drag and Drop Demo 2", 
                                "Created using eDriven.Gui",
                                //"Author: Danko Kozar",
                                "Drag items from the left panel (source)",
                                "Drop them to the right panel (destination)"
                            },
            Callback = delegate(string line) { button.Text = line; }
        }
            .Start();


        #endregion

        #region Box

        _box = new Group
                   {
                       HorizontalCenter = 0, VerticalCenter = 0,
                       Layout = new HorizontalLayout
                                    {
                                        HorizontalAlign = HorizontalAlign.Center,
                                        VerticalAlign = VerticalAlign.Top
                                    }
                   };

        // mandatory listeners
        AddEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); // mouse down
        AddEventListener(DragEvent.DRAG_ENTER, OnDragEnter); // drag enter
        AddEventListener(DragEvent.DRAG_DROP, OnDragDrop); // drag drop (on drop target)

        // optional listeners
        AddEventListener(DragEvent.DRAG_START, OnDragStart); // drag start(on drag initiator)
        AddEventListener(DragEvent.DRAG_EXIT, OnDragExit); // drag exit (on drop target)
        AddEventListener(DragEvent.DRAG_COMPLETE, OnDragComplete); // drag complete (on drag initiator)

        //_box.AddEventListener(MouseEvent.MOUSE_OVER, OnMouseOver);
        //_box.AddEventListener(MouseEvent.MOUSE_OUT, OnMouseOut);
        //_box.AddEventListener(MouseEvent.MOUSE_UP, OnMouseUp);

        AddChild(_box);

        #endregion

        #region Source

        _pnlSource = new Panel
                         {
                             Title = "Source",
                             Icon = Resources.Load<Texture>("Icons/star"),
                             //Width = 450,
                             //Height = 500,
                             MouseEnabled = true,
                             SkinClass = typeof(PanelSkin2),
                             Layout = new TileLayout
                             {
                                 Orientation = TileOrientation.Rows,
                                 HorizontalGap = 10,
                                 VerticalGap = 10,
                                 RowHeight = 128 + 20, // image = 128x128, padding = 10 + 10
                                 ColumnWidth = 128 + 20,
                                 RequestedRowCount = 3,
                                 RequestedColumnCount = 3
                             }
                         };
        _pnlSource.SetStyle("addedEffect", _panelShowEffect);

        _box.AddChild(_pnlSource);

        Button btnReset = new Button
        {
            Text = "Reset",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/arrow_refresh")
        };
        btnReset.Press += delegate { InitChildren(); };
        _pnlSource.ControlBarGroup.AddChild(btnReset);

        /*Label lbl = new Label { Text = "miki" };
        _pnlSource.ControlBarGroup.AddChild(lbl);*/

        #endregion

        #region Destination

        _pnlDest = new Panel
                       {
                           Title = "Destination",
                           Icon = Resources.Load<Texture>("Icons/star"),
                           //Width = 450,
                           //Height = 500,
                           MouseEnabled = true,
                           SkinClass = typeof(PanelSkin2),
                           Layout = new TileLayout
                           {
                               Orientation = TileOrientation.Rows,
                               HorizontalGap = 10,
                               VerticalGap = 10,
                               RowHeight = 128 + 20,
                               ColumnWidth = 128 + 20,
                               RequestedRowCount = 3,
                               RequestedColumnCount = 3
                           }
                       };
        _pnlDest.SetStyle("addedEffect", _panelShowEffect);

        _box.AddChild(_pnlDest);

        InitChildren();

        #endregion

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

        #region Title

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

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left      = 0,
            Right     = 0,
            Top       = 0,
            Bottom    = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group();
        scroller.Viewport = viewport;

        #endregion

        #region HGroup

        HGroup hGroup = new HGroup {
            Gap = 10, HorizontalCenter = 0, VerticalCenter = 0
        };
        viewport.AddChild(hGroup);

        #endregion

        #region Panel 1

        Panel panel = new MyPanel
        {
            Width     = 360,
            Height    = 600,
            Icon      = ImageLoader.Instance.Load("Icons/shape_square_add"),
            Title     = "First panel",
            StyleName = "default"
        };
        hGroup.AddChild(panel);

        #endregion

        #region Panel 2

        panel = new MyPanel
        {
            //Width = 360,
            Height    = 600,
            SkinClass = typeof(PanelSkin2),
            Icon      = ImageLoader.Instance.Load("Icons/page_white_text"),
            Title     = "Second panel"
        };
        hGroup.AddChild(panel);

        //// NOTE: propagation of styles to skin still not implemented
        //// So, this won't work: panel.SetStyle("headerLabelColor", 0xffff00);
        //// This is a temporary solution:
        //panel.CreationCompleteHandler += delegate
        //{
        //Debug.Log("panel.Skin: " + panel.Skin);
        //panel.Skin.SetStyle("headerLabelColor", Color.yellow);
        //};

        #endregion

        #region Panel 2 skin switch

        VGroup vGroup = new VGroup();
        vGroup.Plugins.Add(new TabManager {
            ArrowsEnabled = true, UpDownArrowsEnabled = true
        });
        hGroup.AddChild(vGroup);

        Button button = new Button {
            Text = "Skin 1", Icon = Resources.Load <Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100
        };
        button.Press += delegate
        {
            panel.SkinClass = typeof(PanelSkin);
            //((MyPanel)panel).CreateButtons();
        };
        vGroup.AddChild(button);

        button = new Button {
            Text = "Skin 2", Icon = Resources.Load <Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100
        };
        button.Press += delegate
        {
            panel.SkinClass = typeof(PanelSkin2);
        };
        vGroup.AddChild(button);

        button = new Button {
            Text = "Skin 3", Icon = Resources.Load <Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100
        };
        button.Press += delegate
        {
            panel.SkinClass = typeof(PanelSkin3);
        };
        vGroup.AddChild(button);

        button = new Button {
            Text = "Skin 4", Icon = Resources.Load <Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100
        };
        button.Press += delegate
        {
            panel.SkinClass = typeof(PanelSkin4);
        };
        vGroup.AddChild(button);

        button = new Button {
            Text = "Add button", AutoRepeat = true, Icon = Resources.Load <Texture>("Icons/add"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100
        };

        /*button.Press += delegate
         * {
         *  ((MyPanel)panel).AddButton("Button");
         * };*/
        button.ButtonDown += delegate
        {
            ((MyPanel)panel).AddButton("Button");
        };
        vGroup.AddChild(button);

        #endregion
    }
Ejemplo n.º 34
0
// ReSharper restore MemberCanBePrivate.Global

        #endregion

        protected override void CreateChildren()
        {
            base.CreateChildren();

            #region Background

            _background = new RectShape
            {
                Id   = "background",
                Left = 0, Right = 0, Top = 0, Bottom = 0
            };
            AddChild(_background);

            #endregion

            #region Border

            _border = new RectShape
            {
                Id           = "border",
                Left         = 0,
                Right        = 0,
                Top          = 0,
                Bottom       = 0,
                MouseEnabled = false
            };
            AddChild(_border);

            #endregion

            #region Header background

            _headerBackground = new RectShape
            {
                Id = "headerBackground",
                //Color = (Color?)GetStyle("headerBackgroundColor"),
                Left   = 1, Right = 1, Top = 1,
                Height = 50
            };
            AddChild(_headerBackground);

            #endregion

            #region Header group

            HeaderGroup = new Group
            {
                Id     = "headerGroup",
                Layout = new AbsoluteLayout(),
                Left   = 1,
                Right  = 1,
                Top    = 1,
                Height = 50
            };
            AddChild(HeaderGroup);

            #endregion

            #region Icon + label group

            HGroup hgroup = new HGroup
            {
                Left           = 10,
                VerticalCenter = 0,
                Gap            = 6,
                VerticalAlign  = VerticalAlign.Middle
            };
            HeaderGroup.AddChild(hgroup);

            #endregion

            #region Icon display

            HeaderIconDisplay = new Image
            {
                //Id = "titleLabel",
                //Text = "miki!",
                Left           = 10,
                VerticalCenter = 0
            };
            hgroup.AddChild(HeaderIconDisplay);

            #endregion

            #region Title label

            TitleDisplay = new Label
            {
                //Id = "titleLabel",
                Left           = 10,
                VerticalCenter = 0
            };
            //TitleLabel.SetStyle("textColor", UnityEngine.Color.white);
            hgroup.AddChild(TitleDisplay);

            #endregion

            #region Tools

            ToolGroup = new Group
            {
                Id     = "toolGroup",
                Layout = new HorizontalLayout {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4
                },
                Right          = 6,
                VerticalCenter = 0,
                MouseEnabled   = true               // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            HeaderGroup.AddChild(ToolGroup);

            #endregion

            #region Content background

            _contentGroupBackground = new RectShape
            {
                Left   = 6,
                Right  = 6,
                Top    = 50,
                Bottom = 50
            };
            AddChild(_contentGroupBackground);

            #endregion

            #region Scroller

            _scroller = new Scroller
            {
                SkinClass = EvaluateSkinClassFromStyle("scrollerSkin"),
                Left      = 6,
                Right     = 6,
                Top       = 50,
                Bottom    = 50
            };
            AddChild(_scroller);

            #endregion

            #region Content group

            ContentGroup = new Group
            {
                Id = "contentGroup",
                //Left = 6,
                //Right = 6,
                //Top = 50,
                //Bottom = 50
            };
            //AddChild(ContentGroup);
            _scroller.Viewport = ContentGroup;

            #endregion

            #region Control bar background

            _controlBarBackground = new RectShape
            {
                Id     = "controlBarBackground",
                Left   = 1,
                Right  = 1,
                Bottom = 1,
                Height = 50,
                Alpha  = 0.5f                            // note: alpha!
            };
            AddChild(_controlBarBackground);

            #endregion

            #region Control bar

            ControlBarGroup = new Group
            {
                Id     = "controlBar",
                Layout = new HorizontalLayout
                {
                    HorizontalAlign = HorizontalAlign.Right,
                    VerticalAlign   = VerticalAlign.Middle,
                    Gap             = 4,
                    PaddingLeft     = 6, PaddingRight = 6, PaddingTop = 6, PaddingBottom = 6
                },
                Left         = 1,
                Right        = 1,
                Bottom       = 1,
                Height       = 50,
                MouseEnabled = true                       // not draggable when clicking space between buttons --- false // to be draggable on possible tools label click
            };
            AddChild(ControlBarGroup);

            #endregion
        }
Ejemplo n.º 35
0
    /*void Awake()
    {
        Debug.Log("CreateChildren");
    }

    void OnEnable()
    {
        Debug.Log("OnEnable");
    }*/

    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        TitleLabel titleLabel = new TitleLabel
        {
            Text = "Slider Demo",
            StyleName = "title",
            Right = 20,
            Top = 20
        };
        AddChild(titleLabel);

        var labelStyles = new Hashtable
                              {
                                  {"labelStyle", BlueLabelStyle.Instance}
                              };

        AddChild(new Spacer { Height = 20 });

        #region Vertical sliders

        HGroup hbox = new HGroup
        {
            PercentWidth = 100,
            PercentHeight = 100,
            Gap = 10
        };
        viewport.AddChild(hbox);

        WrapVBox(hbox, new Label {Text = "100% slider", Styles = labelStyles},
            new VSlider {PercentHeight = 100})
            .PercentHeight = 100;

        WrapVBox(hbox, new Label {Text = "400px slider", Styles = labelStyles},
            new VSlider { Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2) });

        WrapVBox(hbox, new Label { Text = "400px slider, disabled", Styles = labelStyles },
            new VSlider { Width = 30, Height = 400, SkinClass = typeof (VSliderSkin2), Enabled = false });

        WrapVBox(hbox, new Label {Text = "50x400 slider", Styles = labelStyles},
            new VSlider {Width = 50, Height = 400, SkinClass = typeof (VSliderSkin2)});

        WrapVBox(hbox, new Label { Text = "80x400 slider", Styles = labelStyles },
            new VSlider { Width = 80, Height = 400, SkinClass = typeof(VSliderSkin3) });

        WrapVBox(hbox, new Label { Text = "80x100% slider", Styles = labelStyles },
            new VSlider { Width = 80, PercentHeight = 100, Maximum = 1000, Value = 500, SkinClass = typeof(VSliderSkin3) })
            .PercentHeight = 100;

        #endregion

        #region Horizontal sliders

        WrapHBox(viewport, new Label {Text = "100% slider", Styles = labelStyles},
            new HSlider {Id = "miki", Maximum = 400, PercentWidth = 100})
            .PercentWidth = 100;

        WrapHBox(viewport, new Label { Text = "400px slider", Styles = labelStyles },
            new HSlider { Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2) });

        WrapHBox(viewport, new Label {Text = "400px slider, disabled", Styles = labelStyles},
            new HSlider { Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2), Enabled = false });

        WrapHBox(viewport, new Label {Text = "400x50 slider", Styles = labelStyles},
            new HSlider {Width = 400, Maximum = 400, Height = 50, SkinClass = typeof (HSliderSkin2)});

        WrapHBox(viewport, new Label { Text = "80x400 slider", Styles = labelStyles },
            new HSlider { Width = 400, Height = 80, SkinClass = typeof(HSliderSkin3) });

        WrapHBox(viewport, new Label { Text = "80x100% slider", Styles = labelStyles },
            new HSlider { PercentWidth = 100, Maximum = 1000, Value = 500, Height = 80, SkinClass = typeof(HSliderSkin3) })
            .PercentWidth = 100;

        #endregion

        AddChild(new Spacer {Height = 20});
    }
Ejemplo n.º 36
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        TitleLabel titleLabel = new TitleLabel
        {
            Text = "Scrollbar Demo",
            StyleName = "title",
            Right = 20,
            Top = 20
        };
        AddChild(titleLabel);

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

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

        #endregion

        #region Vertical scrollbars

        HGroup hGroup = new HGroup {Gap = 10, Id = "hbox2", PercentHeight = 100};
        viewport.AddChild(hGroup);

        VScrollBar s = new VScrollBar {PercentHeight = 100, Maximum = 300};
        s.Change += delegate(Event e)
        {
            Debug.Log("Change: " + e);
        };
        hGroup.AddChild(s);

        s = new VScrollBar {PercentHeight = 100, Maximum = 400, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin2), PercentHeight = 100, Maximum = 1000, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin2), Height = 400, Maximum = 400, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin3), PercentHeight = 100, Maximum = 200, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin3), Height = 400, Maximum = 300, PageSize = 100};
        hGroup.AddChild(s);

        #endregion

        #region Horizontal scrollbars

        Label label = new Label {Text = "Will change the skin on drag: "};
        viewport.AddChild(label);

        HScrollBar scrollBar1 = new HScrollBar {Width = 300, Maximum = 300, PageSize = 100};
        scrollBar1.Change += delegate(Event e)
        {
            scrollBar1.SkinClass = typeof (HScrollBarSkin3);
        };
        viewport.AddChild(scrollBar1);

        label = new Label {Text = "Will change the skin on drag: "};
        viewport.AddChild(label);

        _scrollbar2 = new HScrollBar {PercentWidth = 100, Maximum = 500, Value = 200, PageSize = 100};
        _scrollbar2.Change += delegate(Event e)
        {
            _scrollbar2.SkinClass = typeof (HScrollBarSkin3);
        };
        viewport.AddChild(_scrollbar2);

        HScrollBar scrollbar3 = new HScrollBar
        {
            SkinClass = typeof (HScrollBarSkin2),
            MinWidth = 600,
            Maximum = 1000,
            PageSize = 100
        };
        viewport.AddChild(scrollbar3);

        HScrollBar scrollbar4 = new HScrollBar
        {
            SkinClass = typeof (HScrollBarSkin3),
            MinWidth = 700,
            Maximum = 300,
            PageSize = 100
        };
        viewport.AddChild(scrollbar4);

        HScrollBar scrollbar5 = new HScrollBar
        {
            PercentWidth = 100,
            MinWidth = 600,
            SkinClass = typeof (HScrollBarSkin3),
            Maximum = 1000,
            PageSize = 100
        };
        viewport.AddChild(scrollbar5);

        #endregion

    }
Ejemplo n.º 37
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.º 38
0
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Title

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

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group();
        scroller.Viewport = viewport;

        #endregion

        #region HGroup

        HGroup hGroup = new HGroup {Gap = 10, HorizontalCenter = 0, VerticalCenter = 0};
        viewport.AddChild(hGroup);

        #endregion

        #region Panel 1

        Panel panel = new MyPanel
        {
            Width = 360,
            Height = 600,
            Icon = ImageLoader.Instance.Load("Icons/shape_square_add"),
            Title = "First panel",
            StyleName = "default"
        };
        hGroup.AddChild(panel);

        #endregion
        
        #region Panel 2

        panel = new MyPanel
        {
            //Width = 360,
            Height = 600,
            SkinClass = typeof(PanelSkin2),
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            Title = "Second panel"
        };
        hGroup.AddChild(panel);

        //// NOTE: propagation of styles to skin still not implemented
        //// So, this won't work: panel.SetStyle("headerLabelColor", 0xffff00);
        //// This is a temporary solution:
        //panel.CreationCompleteHandler += delegate
        //{
            //Debug.Log("panel.Skin: " + panel.Skin);
            //panel.Skin.SetStyle("headerLabelColor", Color.yellow);
        //};

        #endregion

        #region Panel 2 skin switch

        VGroup vGroup = new VGroup();
        vGroup.Plugins.Add(new TabManager { ArrowsEnabled = true, UpDownArrowsEnabled = true });
        hGroup.AddChild(vGroup);

        Button button = new Button { Text = "Skin 1", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin);
            //((MyPanel)panel).CreateButtons();
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 2", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin2);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 3", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin3);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 4", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin4);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Add button", AutoRepeat = true, Icon = Resources.Load<Texture>("Icons/add"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        /*button.Press += delegate
        {
            ((MyPanel)panel).AddButton("Button");
        };*/
        button.ButtonDown += delegate
        {
            ((MyPanel)panel).AddButton("Button");
        };
        vGroup.AddChild(button);

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

        #region Controls

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

        Button btnAddRect = new Button
        {
            Text = "New button",
            Icon = ImageLoader.Instance.Load("Icons/shape_square_add"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnAddRect.Click += delegate { AddButton(); };
        toolbar.AddContentChild(btnAddRect);

        Button btnAddText = new Button
        {
            Text = "New text",
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnAddText.Click += delegate { AddTextField(); };
        toolbar.AddContentChild(btnAddText);

        Button btnClear = new Button
        {
            Text = "Clear",
            Icon = ImageLoader.Instance.Load("Icons/cancel"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnClear.Click += delegate
        {
            _viewport.RemoveAllChildren();
            _count = 1;
        };
        toolbar.AddContentChild(btnClear);

        #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);

        _viewport = new Group
        {
            MouseEnabled = true,
            Layout = new AbsoluteLayout()
        };
        scroller.Viewport = _viewport;

        #endregion

        #region Default controls

        var button = new Button
        {
            X = 200,
            Y = 200,
            Width = 300,
            Height = 200,
            MinWidth = 200,
            MinHeight = 200,
            FocusEnabled = false,
            Text = "Resize me!",
            Tooltip = "Resizable Button"
        };
        button.Plugins.Add(new Resizable()/* { ShowOverlay = false }*/);
        _viewport.AddChild(button);

        var textArea = new TextArea
        {
            X = 600,
            Y = 400,
            Width = 300,
            Height = 200,
            MinWidth = 100,
            MinHeight = 100,
            Text = LoremIpsum,
            Tooltip = "Resizable TextArea",
            Optimized = true
        };
        textArea.Plugins.Add(new Resizable()/* { ShowOverlay = false }*/);
        _viewport.AddChild(textArea);

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

        #region Controls

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

        #region Alert

        Button btnAlert = new Button
        {
            Text = "Alert",
            FocusEnabled = false,
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/comment")
        };
        btnAlert.Click += delegate
        {
            Alert.Show("Info", "This is the example alert.", AlertButtonFlag.Ok,
                new AlertOption(AlertOptionType.HeaderIcon, Resources.Load<Texture>("Icons/information")),
                new AlertOption(AlertOptionType.Icon, Resources.Load<Texture>("Icons/star_big")));
        };
        toolbar.AddContentChild(btnAlert);

        #endregion

        #region Window

        Button btnWindow = new Button
        {
            Text = "New window",
            FocusEnabled = false,
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/comment")
        };
        btnWindow.Click += delegate
        {
            _count++;
            var window = new MyWindow
            {
                Title = "The Window " + _count,
                Id = "window_" + _count,
                SkinClass = typeof(WindowSkin2),
                Icon = ImageLoader.Instance.Load("Icons/balloon_32"),
                Width = 400,
                Height = 600
            };

            window.SetStyle("addedEffect", _windowShow);
            window.Plugins.Add(new Resizable { ShowOverlay = false });
            window.AddEventListener(CloseEvent.CLOSE, delegate
            {
                PopupManager.Instance.RemovePopup(window);
            });
            PopupManager.Instance.AddPopup(window, false);
            PopupManager.Instance.CenterPopUp(window);
        };
        toolbar.AddContentChild(btnWindow);

        #endregion

        #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
        {
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion
        
        #region Horizontal Scrollbars

        viewport.AddChild(new HScrollBar { SkinClass = typeof(HScrollBarSkin3), PercentWidth = 100, MinWidth = 300, Maximum = 300, PageSize = 100 });
        viewport.AddChild(new HScrollBar { SkinClass = typeof(HScrollBarSkin3), PercentWidth = 50, Maximum = 500, Value = 200, PageSize = 100 });
        viewport.AddChild(new HScrollBar { SkinClass = typeof(HScrollBarSkin2), MinWidth = 600, Maximum = 1000, PageSize = 100 });
        viewport.AddChild(new HScrollBar { SkinClass = typeof(HScrollBarSkin3), MinWidth = 700, Maximum = 300, PageSize = 100 });
        viewport.AddChild(new HScrollBar { PercentWidth = 100, MinWidth = 600, SkinClass = typeof(HScrollBarSkin3), Maximum = 1000, PageSize = 100 });

        #endregion

        #region HGroup

        HGroup hGroup = new HGroup { /*PercentWidth = 100, */Gap = 10 };
        viewport.AddChild(hGroup);

        #endregion

        #region Vertical scrollbars

        VScrollBar vScrollBar = new VScrollBar { PercentHeight = 100, Maximum = 300 };
        vScrollBar.Change += delegate(Event e) { Debug.Log("Change: " + e); };
        hGroup.AddChild(vScrollBar);

        hGroup.AddChild(new VScrollBar { PercentHeight = 100, Maximum = 400, PageSize = 100 });
        hGroup.AddChild(new VScrollBar { SkinClass = typeof(VScrollBarSkin2), PercentHeight = 100, Maximum = 1000, PageSize = 100 });
        hGroup.AddChild(new VScrollBar { SkinClass = typeof(VScrollBarSkin2), Height = 400, Maximum = 400, PageSize = 100 });
        hGroup.AddChild(new VScrollBar { SkinClass = typeof(VScrollBarSkin3), PercentHeight = 100, Maximum = 200, PageSize = 100 });
        hGroup.AddChild(new VScrollBar { SkinClass = typeof(VScrollBarSkin3), Height = 400, Maximum = 300, PageSize = 100 });

        #endregion

        #region Panels

        //hGroup.AddChild(new Spacer { PercentWidth = 50 });

        Panel panel = new MyPanel
        {
            Width = 360,
            Height = 600,
            Icon = ImageLoader.Instance.Load("Icons/shape_square_add"),
            Title = "First panel",
            StyleName = "default"
        };
        hGroup.AddChild(panel);

        panel = new MyPanel2
        {
            MaxWidth = 500,
            Height = 600,
            SkinClass = typeof (PanelSkin2),
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            Title = "Second panel"
        };
        panel.SetStyle("titleColor", 0xffff00);
        hGroup.AddChild(panel);

        //hGroup.AddChild(new Spacer { PercentWidth = 50 });

        #endregion

        #region Vertical sliders

        hGroup.AddChild(new VSlider { PercentHeight = 100 });
        hGroup.AddChild(new VSlider { Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2) });
        hGroup.AddChild(new VSlider { Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2), Enabled = false });
        hGroup.AddChild(new VSlider { Width = 50, Height = 400, SkinClass = typeof(VSliderSkin2) });
        hGroup.AddChild(new VSlider { Width = 80, Height = 400, SkinClass = typeof(VSliderSkin3) });
        hGroup.AddChild(new VSlider { Width = 80, PercentHeight = 100, Maximum = 1000, SkinClass = typeof(VSliderSkin3) });

        #endregion

        #region Horizontal sliders

        viewport.AddChild(new HSlider { Maximum = 400, PercentWidth = 100 });
        viewport.AddChild(new HSlider { Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2) });
        viewport.AddChild(new HSlider { Width = 400, Maximum = 400, Height = 50, SkinClass = typeof(HSliderSkin2) });
        viewport.AddChild(new HSlider { PercentWidth = 50, Height = 80, SkinClass = typeof(HSliderSkin3) });
        viewport.AddChild(new HSlider { PercentWidth = 100, Maximum = 1000, Height = 80, SkinClass = typeof(HSliderSkin3) });

        #endregion

    }