protected void OnMouseChange(Object sender, MouseChangeEventArgs e) { logger.Trace("OnMouseChange() received..."); CheckStatus(); CheckMouseChangeEvent(e); ButtonGroup changes = new ButtonGroup(); // for this event it's pretty likely that one argument is empty, so check first if (!e.MouseOver.IsEmpty()) { Status.UpdateStatus(e.MouseOver, StatusFlags.MouseOver, true); changes.Add(e.MouseOver); } if (!e.MouseOut.IsEmpty()) { Status.UpdateStatus(e.MouseOut, StatusFlags.MouseOver, false); changes.Add(e.MouseOut); } if (!changes.IsEmpty()) { changes.Seal(); RaiseStatusChangeEvent(new StatusChangeEventArgs(changes)); } }
public void OnSelection(Object sender, SelectionEventArgs e) { logger.Trace("OnSelection() received..."); CheckStatus(); ButtonGroup changes = new ButtonGroup(); // handle unselected first, because of selection race, or in other words: selection is trump Status.UpdateStatus(e.Unselected, StatusFlags.Selected, false); changes.Add(e.Unselected); Status.UpdateStatus(e.Selected, StatusFlags.Selected, true); changes.Add(e.Selected); if (!changes.IsEmpty()) { changes.Seal(); RaiseStatusChangeEvent(new StatusChangeEventArgs(changes)); } }
/// <summary> /// Clears selection flag for all selected buttons and returns them. /// </summary> public ButtonGroup ClearSelection() { ButtonGroup changes = new ButtonGroup(); foreach (var entry in statusDict) { if (entry.Value.Selected) { entry.Value.Update(ButtonStatus.Flags.Selected, false); changes.Add(entry.Key); } } changes.Seal(); return(changes); }
public ButtonGroup GetButtonsForCol(int x) { CheckColArgument(x); ButtonGroup group = new ButtonGroup(); for (int y = 0; y < Rows; y++) { if (buttonGrid[x, y] != null) { group.Add(buttonGrid[x, y].Id); } } group.Seal(); return(group); }
public ButtonGroup GetButtonsForRow(int y) { CheckRowArgument(y); ButtonGroup group = new ButtonGroup(); for (int x = 0; x < Cols; x++) { if (buttonGrid[x, y] != null) { group.Add(buttonGrid[x, y].Id); } } group.Seal(); return(group); }
/// <summary> /// find all buttons int current scene and ensure existance in openlist or closedlist /// </summary> void EvaluateOpenList() { var markButtons = Object.FindObjectsOfType <TestUIMarkButton>(); foreach (var markButton in markButtons) { ButtonGroup group = mClosedList.Find(g => g.RootName.Equals(markButton.RootName)); if (group != null) { continue; } group = mOpenList.Find(g => g.RootName.Equals(markButton.RootName)); if (group != null) { if (!group.Contains(markButton.RelativePath)) { group.Add(markButton.RelativePath); } } else { var rootObj = GameObject.Find(markButton.RootName); if (rootObj == null) { throw new Exception(string.Format("TestUIMark--- the root name of button: {0} is wrong, please do Reset TestUIMarkButton in Editor")); } group = new ButtonGroup(markButton.RootName); var eles = rootObj.GetComponentsInChildren <TestUIMarkButton>(true); foreach (var e in eles) { group.Add(e.RelativePath); } mOpenList.Add(group); } } }
public override void RenderView(System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) { writer.Write("<!DOCTYPE html>"); writer.Write("<head>"); writer.Write("<title>后台管理中心 - " + AppConfig.WebTitle + "</title>"); writer.Write("</head><body></body>"); var x = Html.X(); writer.Write(x.ResourceManager().ToHtmlString()); #region 总体布局 var viewPort = new Viewport(); viewPort.Layout = "border"; var _copyright = new Panel(); _copyright.Title = AppConfig.WebName + " 版权所有"; _copyright.TitleAlign = TitleAlign.Center; _copyright.Collapsible = false; _copyright.Region = Region.South; _copyright.Split = true; var _menu = new Panel(); _menu.Title = "导航菜单"; _menu.Collapsible = true; _menu.Region = Region.West; _menu.Split = true; _menu.Width = 200; var _workArea = new Ext.Net.TabPanel(); _workArea.Title = "欢迎使用"; _workArea.Region = Region.Center; _workArea.ID = "tabWork"; var _title = new Panel(); _title.Title = AppConfig.WebTitle; _title.Collapsible = false; _title.Region = Region.North; _title.Split = true; viewPort.Items.Add(_title); viewPort.Items.Add(_workArea); viewPort.Items.Add(_copyright); viewPort.Items.Add(_menu); #endregion #region 个人区 var _personPanel = new Ext.Net.Panel(); _personPanel.Collapsed = true; _personPanel.Collapsible = true; _personPanel.Title = "欢迎使用"; _personPanel.Height = 110; _personPanel.BodyPadding = 10; _personPanel.Layout = "table"; _personPanel.LayoutConfig.Add(new TableLayoutConfig() { Columns = 2 }); Image avatarImg = new Image(); avatarImg.RowSpan = 2; avatarImg.Width = avatarImg.Height = 70; //avatarImg.ImageUrl = BaseResource.avatar; _personPanel.Add(avatarImg); _personPanel.Add(new Label(UserInfo.Username)); ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.Width = 80; buttonGroup.Layout = "vbox"; buttonGroup.Add(new Button() { Icon = Ext.Net.Icon.Key, Text = "修改密码", ID = "btnChangePassword", OnClientClick = "App.winChangePassword.show();App.winChangePassword.getLoader().load();" }); var btnExit = new Button() { Text = "安全退出", ID = "btnExit", Icon = Icon.KeyDelete }; buttonGroup.Add(btnExit); _personPanel.Add(buttonGroup); _menu.Add(_personPanel); var winChangePassword = new Window() { Icon = Icon.Key, BodyPadding = 10, Width = 300, Height = 210, Modal = true, Hidden = true, AutoShow = false, ID = "winChangePassword", Title = "修改密码", Loader = new ComponentLoader() { Url = Url.Action("changePassword", "account"), Mode = LoadMode.Frame } }; #endregion var _menuPanel = new TreePanel() { Title = "功能菜单", Height = 500, RootVisible = false, ID = "mainMenu" }; var _menuStore = new TreeStore() { NodeParam = "parentId" }; _menuStore.Proxy.Add(x.AjaxProxy().Url(Url.Action("GetMenus")).ActionMethods(y => y.Read = HttpMethod.POST)); //_menuStore.ReadData += _menuStore_ReadData; _menuPanel.Store.Add(_menuStore); _menuPanel.Root.Add(new Node() { NodeID = "0", Text = "Root", Expanded = true }); _menu.Add(_menuPanel); var itemClick = _menuPanel.DirectEvents.ItemClick; itemClick.Before = "var tree=arguments[0],eventType=arguments[1],eventName=arguments[2],extraParams=arguments[3];var tab = App.tabWork.getComponent('menu' + extraParams.menuid);if (tab) {App.tabWork.setActiveTab(tab);return false;}return tree.getStore().getNodeById(extraParams.menuid).isLeaf();"; itemClick.Url = Url.Action("OpenPage"); itemClick.ExtraParams.Add(new Parameter("menuid", "record.data.id", ParameterMode.Raw)); writer.Write(viewPort.ToBuilder().ToHtmlString()); }
public override void Initialize() { Manager.Scene.AddEntity(new PlayerSignedOut()); Manager.Vars["CMYK_Ammo"] = 0; Manager.Vars["score"] = 0; MusicPlayer.Play(MusicPlayer.MenuTheme); Manager.Scene.AddEntity(new GreyInfectiontitleScene()); // Opciones del menu: menu = new ButtonGroup(); Manager.Scene.AddEntity(menu); menu.Location = new Vector2(Manager.Graphics.ScreenSafeArea.Right - 240, 360); menu.ButtonHeight = 70; Button button; button = new Button(); button.Caption = Session.Strings["mainmenu_play"]; button.ConfirmFXWaitToEnd = true; button.OnEnter += OnEnterPlay; menu.Add(button); button = new Button(); button.Caption = Session.Strings["mainmenu_options"]; button.ConfirmFXWaitToEnd = true; button.OnEnter += OnEnterOptions; menu.Add(button); button = new Button(); button.Caption = Session.Strings["mainmenu_credits"]; button.ConfirmFXWaitToEnd = true; button.OnEnter += OnEnterCredits; menu.Add(button); button = new Button(); button.Caption = Session.Strings["mainmenu_exit"]; button.OnEnter += OnEnterExit; menu.Add(button); // Si es modo Trial se activa el boton de compra: if (Guide.IsTrialMode) { purchase = new PurchaseButton(); Manager.Scene.AddEntity(purchase); } // Indicaciones de input: InputHintLabel inputHint = new InputHintLabel(); Manager.Scene.AddEntity(inputHint); inputHint.Button = InputHintLabel.GamepadButtonChar.A; inputHint.Caption = Session.Strings["button_select"]; inputHint.Location = new Vector2(475, Manager.Graphics.ScreenSafeArea.Bottom - 14); inputHint = new InputHintLabel(); Manager.Scene.AddEntity(inputHint); inputHint.Button = InputHintLabel.GamepadButtonChar.LeftThumb; inputHint.Caption = Session.Strings["button_move"]; inputHint.Location = new Vector2(750, Manager.Graphics.ScreenSafeArea.Bottom - 14); base.Initialize(); }
public void Initialize(Scene scene, ActionPerformed gameListener, ActionPerformed modeListener) { // Create the main panel which holds all other GUI components frame = new G2DPanel(); frame.Bounds = new Rectangle(30, 305, 480, 280); frame.Border = GoblinEnums.BorderFactory.LineBorder; frame.Transparency = 0.7f; // Ranges from 0 (fully transparent) to 1 (fully opaque) frame.TextTransparency = 1.0f; uiFont = State.Content.Load <SpriteFont>("UIFont"); G2DLabel gameLabel = new G2DLabel("Game Mode:"); gameLabel.TextFont = uiFont; gameLabel.Bounds = new Rectangle(4, 4, 100, 48); // Create radio buttons for selecting the game mode gameAdd = new G2DRadioButton("Add"); gameAdd.TextFont = uiFont; gameAdd.Bounds = new Rectangle(18, 70, 150, 50); // Make the Addition mode as the selected one first gameAdd.DoClick(); gameEdit = new G2DRadioButton("Edit"); gameEdit.TextFont = uiFont; gameEdit.Bounds = new Rectangle(170, 70, 150, 50); gamePlay = new G2DRadioButton("Play"); gamePlay.TextFont = uiFont; gamePlay.Bounds = new Rectangle(310, 70, 150, 50); ButtonGroup gameGroup = new ButtonGroup(); gameGroup.Add(gameAdd); gameGroup.Add(gameEdit); gameGroup.Add(gamePlay); gameGroup.AddActionPerformedHandler(gameListener); frame.AddChild(gameLabel); frame.AddChild(gameAdd); frame.AddChild(gameEdit); frame.AddChild(gamePlay); G2DSeparator separator1 = new G2DSeparator(); separator1.Bounds = new Rectangle(5, 129, 470, 5); frame.AddChild(separator1); modeLabel = new G2DLabel("Add Mode:"); modeLabel.TextFont = uiFont; modeLabel.Bounds = new Rectangle(4, 140, 100, 48); modeRadio1 = new G2DRadioButton("Single"); modeRadio1.TextFont = uiFont; modeRadio1.Bounds = new Rectangle(20, 206, 200, 50); modeRadio1.DoClick(); modeRadio2 = new G2DRadioButton("Line"); modeRadio2.TextFont = uiFont; modeRadio2.Bounds = new Rectangle(220, 206, 250, 50); ButtonGroup addGroup = new ButtonGroup(); addGroup.Add(modeRadio1); addGroup.Add(modeRadio2); addGroup.AddActionPerformedHandler(modeListener); frame.AddChild(modeLabel); frame.AddChild(modeRadio1); frame.AddChild(modeRadio2); // Initially, make the GUI panel invisible frame.Visible = false; frame.Enabled = false; scene.UIRenderer.Add2DComponent(frame); }
private void Create2DGUI() { // Create the main panel which holds all other GUI components G2DPanel frame = new G2DPanel(); frame.Bounds = new Rectangle(325, State.Height - 180, 150, 170); frame.Border = GoblinEnums.BorderFactory.LineBorder; frame.Transparency = 0.7f; // Ranges from 0 (fully transparent) to 1 (fully opaque) label = "User Interfaces"; // Loads the fonts used for rendering UI labels and slider labels uiFont = Content.Load <SpriteFont>("UIFont"); sliderFont = Content.Load <SpriteFont>("SliderFont"); // Create four Radio Buttons G2DRadioButton radio1 = new G2DRadioButton("User Interfaces"); radio1.TextFont = uiFont; radio1.Bounds = new Rectangle(10, 5, 80, 20); radio1.DoClick(); // make this radio button selected initially radio1.ActionPerformedEvent += new ActionPerformed(HandleActionPerformed); G2DRadioButton radio2 = new G2DRadioButton("Computer Graphics"); radio2.TextFont = uiFont; radio2.Bounds = new Rectangle(10, 25, 80, 20); radio2.ActionPerformedEvent += new ActionPerformed(HandleActionPerformed); G2DRadioButton radio3 = new G2DRadioButton("Augmented Reality"); radio3.TextFont = uiFont; radio3.Bounds = new Rectangle(10, 45, 80, 20); radio3.ActionPerformedEvent += new ActionPerformed(HandleActionPerformed); sliderRadio = new G2DRadioButton("Slider Control"); sliderRadio.TextFont = uiFont; sliderRadio.Bounds = new Rectangle(10, 65, 80, 20); sliderRadio.ActionPerformedEvent += new ActionPerformed(HandleActionPerformed); // Create a slider G2DSlider slider = new G2DSlider(); slider.TextFont = sliderFont; slider.Bounds = new Rectangle(5, 100, 140, 30); slider.Maximum = 40; slider.MajorTickSpacing = 20; slider.MinorTickSpacing = 5; slider.PaintTicks = true; slider.PaintLabels = true; slider.StateChangedEvent += new StateChanged(HandleStateChanged); // Create a ButtonGroup object which controls the radio // button selections ButtonGroup group = new ButtonGroup(); group.Add(radio1); group.Add(radio2); group.Add(radio3); group.Add(sliderRadio); // Create a Button G2DButton button = new G2DButton("I Love"); button.TextFont = uiFont; button.Bounds = new Rectangle(50, 145, 50, 20); button.ActionPerformedEvent += new ActionPerformed(HandleActionPerformed); // Add all of the components to the main panel frame.AddChild(radio1); frame.AddChild(radio2); frame.AddChild(radio3); frame.AddChild(sliderRadio); frame.AddChild(button); frame.AddChild(slider); scene.UIRenderer.Add2DComponent(frame); }
protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); #region 总体布局 _viewPort = new Viewport(); _viewPort.Layout = "border"; _copyright = new Panel(); _copyright.Title = "版权"; _copyright.TitleAlign = TitleAlign.Center; _copyright.Collapsible = false; _copyright.Region = Region.South; _copyright.Split = true; _menu = new Panel(); _menu.Title = "导航菜单"; _menu.Collapsible = true; _menu.Region = Region.West; _menu.Split = true; _menu.Width = 200; _workArea = new Ext.Net.TabPanel(); _workArea.Title = "欢迎使用"; _workArea.Region = Region.Center; _workArea.ID = "tabWork"; _title = new Panel(); _title.Title = WebName; _title.Collapsible = false; _title.Region = Region.North; _title.Split = true; _viewPort.Items.Add(_title); _viewPort.Items.Add(_workArea); _viewPort.Items.Add(_copyright); _viewPort.Items.Add(_menu); #endregion #region 个人区 _personPanel = new Ext.Net.Panel(); _personPanel.Collapsed = true; _personPanel.Collapsible = true; _personPanel.Title = "欢迎使用"; _personPanel.Height = 110; _personPanel.BodyPadding = 10; _personPanel.Layout = "table"; _personPanel.LayoutConfig.Add(new TableLayoutConfig() { Columns = 2 }); Image avatarImg = new Image(); avatarImg.RowSpan = 2; avatarImg.Width = avatarImg.Height = 70; avatarImg.ImageUrl = BaseResource.avatar; _personPanel.Add(avatarImg); _personPanel.Add(new Label(userInfo.Username)); ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.Width = 80; buttonGroup.Layout = "vbox"; buttonGroup.Add(new KeyButton() { Text = "修改密码", ID = "btnChangePassword", OnClientClick = "App.winChangePassword.show();App.winChangePassword.getLoader().load();" }); btnExit = new Button() { Text = "安全退出", ID = "btnExit", Icon = Icon.KeyDelete }; var clickEvent = btnExit.DirectEvents.Click; clickEvent.Event += clickEvent_Event; clickEvent.EventMask.Set("正在退出"); clickEvent.Confirmation.ConfirmRequest = true; clickEvent.Confirmation.Title = "提示"; clickEvent.Confirmation.Message = "确定退出?"; buttonGroup.Add(btnExit); _personPanel.Add(buttonGroup); _menu.Add(_personPanel); winChangePassword = new Window() { Icon = Icon.Key, BodyPadding = 10, Width = 300, Height = 210, Modal = true, Hidden = true, AutoShow = false, ID = "winChangePassword", Title = "修改密码", Loader = new ComponentLoader() { Url = ResolveClientUrl("~/user/changepassword.aspx"), Mode = LoadMode.Frame } }; winChangePassword.Loader.LoadMask.Set("正在加载"); Controls.Add(winChangePassword); #endregion _menuPanel = new TreePanel() { Title = "功能菜单", Height = 500, RootVisible = false, ID = "mainMenu" }; _menuStore = new TreeStore() { NodeParam = "parentId" }; _menuStore.ReadData += _menuStore_ReadData; _menuPanel.Store.Add(_menuStore); _menuPanel.Root.Add(new Node() { NodeID = "0", Text = "Root", Expanded = true }); _menu.Add(_menuPanel); var itemClick = _menuPanel.DirectEvents.ItemClick; itemClick.Before = "var tree=arguments[0],eventType=arguments[1],eventName=arguments[2],extraParams=arguments[3];var tab = App.tabWork.getComponent('menu' + extraParams.id);if (tab) {App.tabWork.setActiveTab(tab);return false;}return tree.getStore().getNodeById(extraParams.id).isLeaf();"; itemClick.EventMask.Set("正在加载"); itemClick.Event += itemClick_Event; itemClick.ExtraParams.Add(new Parameter("id", "record.data.id", ParameterMode.Raw)); #region 隐藏顶级窗口 _winParentWindow = new Window(); _winParentWindow.Hidden = true; _winParentWindow.Loader = new ComponentLoader(); _winParentWindow.Loader.Mode = LoadMode.Frame; _winParentWindow.Width = 800; _winParentWindow.Modal = true; _winParentWindow.Height = 600; _winParentWindow.ID = "_topWin"; Controls.Add(_winParentWindow); #endregion Controls.Add(_viewPort); }
public override void Initialize() { base.Initialize(); Manager.Scene.AddEntity(new PlayerSignedOut()); hasChanges = false; storageRequest = false; Manager.Scene.AddEntity(new GreyInfectiontitleScene()); menu = new ButtonGroup(); Manager.Scene.AddEntity(menu); menu.Location = new Vector2(640, 374); menu.ButtonHeight = 40; menu.OnExit += OnExitState; sliderSound = new SliderButton(); sliderSound.Caption = Session.Strings["optmenu_sound"]; sliderSound.OnChange += OnChangeSoundVolume; menu.Add(sliderSound); sliderMusic = new SliderButton(); sliderMusic.Caption = Session.Strings["optmenu_music"]; sliderMusic.OnChange += OnChangeMusicVolume; menu.Add(sliderMusic); TextButton button; button = new TextButton(); button.Caption = Session.Strings["optmenu_gamepad"]; button.OnEnter += OnEnterControls; menu.Add(button); button = new TextButton(); button.Caption = Session.Strings["optmenu_changestorage"]; button.OnEnter += OnEnterStorage; menu.Add(button); button = new TextButton(); button.Caption = Session.Strings["optmenu_restore"]; button.OnEnter += OnEnterRestore; menu.Add(button); // Indicaciones de input: InputHintLabel inputHint = new InputHintLabel(); Manager.Scene.AddEntity(inputHint); inputHint.Button = InputHintLabel.GamepadButtonChar.A; inputHint.Caption = Session.Strings["button_select"]; inputHint.Location = new Vector2(220, Manager.Graphics.ScreenSafeArea.Bottom - 14); inputHint = new InputHintLabel(); Manager.Scene.AddEntity(inputHint); inputHint.Button = InputHintLabel.GamepadButtonChar.B; inputHint.Caption = Session.Strings["button_back"]; inputHint.Location = new Vector2(475, Manager.Graphics.ScreenSafeArea.Bottom - 14); inputHint = new InputHintLabel(); Manager.Scene.AddEntity(inputHint); inputHint.Button = InputHintLabel.GamepadButtonChar.LeftThumb; inputHint.Caption = Session.Strings["button_move2"]; inputHint.Location = new Vector2(700, Manager.Graphics.ScreenSafeArea.Bottom - 14); // Sonidos de muestra para evaluar volumen de los efectos: sounds = new List <SoundPlayer>(); string assetName; foreach (string file in System.IO.Directory.GetFiles(Manager.Content.RootDirectory + @"\Audio\FX\", "*.*")) { assetName = file.Replace(".xnb", "").Replace(Manager.Content.RootDirectory + @"\", ""); sounds.Add(new SoundPlayer(assetName)); } SetParams(); }
public JSConsole(string[] args) : base("Rhino JavaScript Console") { JMenuBar menubar = new JMenuBar(); CreateFileChooser(); string[] fileItems = new string[] { "Load...", "Exit" }; string[] fileCmds = new string[] { "Load", "Exit" }; char[] fileShortCuts = new char[] { 'L', 'X' }; string[] editItems = new string[] { "Cut", "Copy", "Paste" }; char[] editShortCuts = new char[] { 'T', 'C', 'P' }; string[] plafItems = new string[] { "Metal", "Windows", "Motif" }; bool[] plafState = new bool[] { true, false, false }; JMenu fileMenu = new JMenu("File"); fileMenu.SetMnemonic('F'); JMenu editMenu = new JMenu("Edit"); editMenu.SetMnemonic('E'); JMenu plafMenu = new JMenu("Platform"); plafMenu.SetMnemonic('P'); for (int i = 0; i < fileItems.Length; ++i) { JMenuItem item = new JMenuItem(fileItems[i], fileShortCuts[i]); item.SetActionCommand(fileCmds[i]); item.AddActionListener(this); fileMenu.Add(item); } for (int i_1 = 0; i_1 < editItems.Length; ++i_1) { JMenuItem item = new JMenuItem(editItems[i_1], editShortCuts[i_1]); item.AddActionListener(this); editMenu.Add(item); } ButtonGroup group = new ButtonGroup(); for (int i_2 = 0; i_2 < plafItems.Length; ++i_2) { JRadioButtonMenuItem item = new JRadioButtonMenuItem(plafItems[i_2], plafState[i_2]); group.Add(item); item.AddActionListener(this); plafMenu.Add(item); } menubar.Add(fileMenu); menubar.Add(editMenu); menubar.Add(plafMenu); SetJMenuBar(menubar); consoleTextArea = new ConsoleTextArea(args); JScrollPane scroller = new JScrollPane(consoleTextArea); SetContentPane(scroller); consoleTextArea.SetRows(24); consoleTextArea.SetColumns(80); AddWindowListener(new _WindowAdapter_135()); Pack(); SetVisible(true); // System.setIn(consoleTextArea.getIn()); // System.setOut(consoleTextArea.getOut()); // System.setErr(consoleTextArea.getErr()); Program.SetIn(consoleTextArea.GetIn()); Program.SetOut(consoleTextArea.GetOut()); Program.SetErr(consoleTextArea.GetErr()); Program.Main(args); }