/*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 }); }
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); }
//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)); }
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 }
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 }
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); }
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 }
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 }
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 }
// 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 }
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 } }); }
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 }
// 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 }
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 } }); }
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/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 }
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 }
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 }
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); }
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); // } }
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); }
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); }
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); }
// 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 }
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); }
public void AddDebugInfo(Group group) { group.AddChild(new Paragraph(Anchor.AutoLeft, 1, p => "Position: " + this.Position)); }
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 }
// 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 }
internal void AddDebugInfo(Group group) { group.AddChild(new Paragraph(Anchor.AutoLeft, 1, p => "Chunks: " + this.chunks.Count)); }
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 }
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 }
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 }
// 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 }
/*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}); }
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 }
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 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 }
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 }
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 }