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 }
override protected void CreateChildren() { base.CreateChildren(); #region Top label Label label = new TitleLabel { HorizontalCenter = 0, Top = 20, StyleName = "title" }; AddChild(label); new TextRotator { Delay = 5, // 5 seconds delay Lines = new[] { "Loading Mask Demo", "Created with eDriven.Gui" //"Author: Danko Kozar" }, Callback = delegate(string line) { label.Text = line; } } .Start(); #endregion #region VBox VGroup vbox = new VGroup { HorizontalCenter = 0, VerticalCenter = 0, HorizontalAlign = HorizontalAlign.Center, Gap = 20 }; AddChild(vbox); #endregion HGroup hbox = new HGroup { Gap = 20, VerticalAlign = VerticalAlign.Middle }; vbox.AddChild(hbox); // 3 example mask, just for fun hbox.AddChild(new LoadingMaskAnimator { Width = 250, Height = 100, Message = "Loading something..." }); hbox.AddChild(new LoadingMaskAnimator { Width = 250, Height = 150, Message = "Loading something else..." }); hbox.AddChild(new LoadingMaskAnimator { Width = 250, Height = 200, Message = "And yet something else..." }); //vbox.AddChild(new Spacer {Height = 40}); hbox = new HGroup { Gap = 20, VerticalAlign = VerticalAlign.Middle }; vbox.AddChild(hbox); // create 3 buttons CreateButton(hbox); CreateButton(hbox); CreateButton(hbox); Button btn = new Button { Text = @"Click to show a global mask for 3 seconds", Icon = Resources.Load <Texture>("IconsBig/oxyblue-address-book-new"), SkinClass = typeof(ButtonSkin5), Left = 100, Top = 100, Width = 250, Height = 250, FocusEnabled = false }; btn.Click += new EventHandler(delegate { int count = 0; GlobalLoadingMask.Show(""); Timer t = new Timer(1, 3) { TickOnStart = true }; t.Tick += delegate { GlobalLoadingMask.SetMessage(string.Format("Masking... {0} seconds", count)); count++; }; t.Complete += delegate { GlobalLoadingMask.Hide(); }; t.Start(); }); vbox.AddChild(btn); }
/// <summary> /// Note: Since Load could happen, if both scene containing OptionsToolbar, we wouldn't like to instantiate twice /// Thus we made 2 checks in for toolbar existance in this class /// </summary> protected override void CreateChildren() { if (HideInEditor && Application.isEditor) { return; } base.CreateChildren(); if (null != _vbox) { return; // meaning toolbar created in the previous scene } _vbox = new VGroup { Right = 10, MinWidth = 160, Gap = 0 }; OptionsToolbarStage.Instance.AddChild(_vbox); // add to InspectorOverlayStage _options = new Options(); _options.SetStyle("showBackground", true); _vbox.AddChild(_options); Button handle = new Button { StyleName = "handle_horiz", FocusEnabled = false, PercentWidth = 100, ResizeWithStyleBackground = true, Text = "Options" }; _vbox.AddChild(handle); handle.AddEventListener(MouseEvent.ROLL_OVER, delegate(Event e) { if (handle == e.Target) { Show(); } e.CancelAndStopPropagation(); }, EventPhase.Capture | EventPhase.Target ); _vbox.AddEventListener(MouseEvent.ROLL_OVER, // deffering hide delegate { if (null != _timer) { _timer.Reset(); _timer.Stop(); } }, EventPhase.Capture | EventPhase.Target ); _vbox.AddEventListener(MouseEvent.ROLL_OUT, delegate(Event e) { if (_vbox == e.Target) { if (null == _timer) { _timer = new Timer(1, 1); } _timer.Complete += delegate { Hide(); _timer.Dispose(); _timer = null; }; _timer.Start(); } e.CancelAndStopPropagation(); }, EventPhase.Capture | EventPhase.Target ); _vbox.ValidateNow(); // invoke measure float h = _options.Height; _vbox.Y = -h; _hide.YTo = -h; }
override protected void CreateChildren() { base.CreateChildren(); VGroup vbox = new VGroup { Gap = 10, HorizontalCenter = 0, VerticalCenter = 0 }; AddChild(vbox); Button btn = new Button { Text = "Button 1", Icon = (Texture)Resources.Load("Icons/star"), SkinClass = typeof(ImageButtonSkin) }; vbox.AddChild(btn); btn = new Button { Text = "Button 2", Icon = (Texture)Resources.Load("Icons/star"), StyleName = "button2", SkinClass = typeof(ImageButtonSkin) }; vbox.AddChild(btn); btn = new Button { Text = "Button 3", Icon = (Texture)Resources.Load("Icons/star"), StyleName = "button3", SkinClass = typeof(ImageButtonSkin) }; vbox.AddChild(btn); vbox.Click += delegate { Alert.Show( "Checking", "Are you sure you want to greet the world?", AlertButtonFlag.Yes | AlertButtonFlag.No, delegate(string action) { switch (action) { case "yes": Alert.Show( "Hello", "Hello world!", AlertButtonFlag.Ok, new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/accept")) ); break; case "no": Alert.Show( "Going to sleep", "Good night.", AlertButtonFlag.Ok, new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/cancel")) ); break; } }, new AlertOption(AlertOptionType.HeaderIcon, Resources.Load <Texture>("Icons/information")) ); }; }
protected override void CreateChildren() { //Debug.Log("Button skin creating children"); base.CreateChildren(); #region Background image /* just in case that no image is visible */ /*_background = new RectShape * { * Left = 0, * Right = 0, * Top = 0, * Bottom = 0 * }; * _background.SetStyle("backgroundStyle", ButtonSingleStateStyle.Instance); * AddChild(_background);*/ /* Tiled image */ _backgroundImage = new Image { Left = 0, Right = 0, Top = 0, Bottom = 0, Mode = ImageMode.Tiled, Visible = true }; AddChild(_backgroundImage); #endregion #region Icon + label group VGroup vGroup = new VGroup { Gap = 10, HorizontalAlign = HorizontalAlign.Center, VerticalAlign = VerticalAlign.Middle, HorizontalCenter = 0, VerticalCenter = 0, Right = 10, Left = 10, Top = 10, Bottom = 10, }; AddChild(vGroup); #endregion #region Label LabelDisplay = new Label { MouseEnabled = false, Multiline = true, Color = (Color)GetStyle("labelUpColor") }; vGroup.AddChild(LabelDisplay); #endregion #region Icon IconDisplay = new Image { MouseEnabled = false }; vGroup.AddChild(IconDisplay); #endregion }
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 }
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 }