private void OnConfigurationRightClicked(Base item, ClickedEventArgs args) { Configuration ClickedConfig = (Configuration)item.UserData; Menu RightClickMenu = new Menu(Parent); { MenuItem SetActive = RightClickMenu.AddItem("Set as Active Configuration"); { SetActive.Clicked += delegate(Base sender, ClickedEventArgs args2) { Game.ServerInfo.CurrentConfiguration = ClickedConfig; }; } } Point LocalPos = Parent.CanvasPosToLocal(new Point(args.X, args.Y)); RightClickMenu.SetPosition(LocalPos.X - 6, LocalPos.Y - 28); //Subtracting bounds of inner panel RightClickMenu.Show(); }
/// <summary> /// Initializes a new instance of the <see cref="ComboBox"/> class. /// </summary> /// <param name="parent">Parent control.</param> public ComboBox(Base parent) : base(parent) { SetSize(100, 20); m_Menu = new Menu(this); m_Menu.IsHidden = true; m_Menu.IconMarginDisabled = true; m_Menu.IsTabable = false; DownArrow arrow = new DownArrow(this); m_Button = arrow; Alignment = Pos.Left | Pos.CenterV; Text = String.Empty; Margin = new Margin(3, 0, 0, 0); IsTabable = true; KeyboardInputEnabled = true; }
private void OnResourceRightClicked(Base item, ClickedEventArgs args) { Resource ClickedResource = (Resource)(((ResourceNode)item).Resource); Menu RightClickMenu = new Menu(Parent); { if (ClickedResource is Folder) { Folder FolderResource = ClickedResource as Folder; MenuItem Add = RightClickMenu.AddItem("Add"); { MenuItem submenu = Add.Menu.AddItem("Folder"); { submenu.SetImage(@"Data\folder.png"); submenu.Clicked += delegate(Base sender, ClickedEventArgs args2) { Folder res = new Folder(); res.Name = "New Folder"; FolderResource.Add(res); new AddFolder(res, ClickedResource.ID).Send(); }; } submenu = Add.Menu.AddItem("Texture"); { submenu.SetImage(@"Data\texture.png"); submenu.Clicked += delegate(Base sender, ClickedEventArgs args2) { FSTexture tex = new FSTexture(); tex.Name = "NewTexture.png"; tex.Load(new Bitmap(16, 16)); FolderResource.Add(tex); new AddTexture(tex, ClickedResource.ID).Send(); }; } submenu = Add.Menu.AddItem("Block Type"); { submenu.SetImage(@"Data\blocktype.png"); submenu.Clicked += delegate(Base sender, ClickedEventArgs args2) { BlockType bt = new BlockType(); bt.Name = "NewBlock.block"; FolderResource.Add(bt); new AddBlockType(bt, ClickedResource.ID).Send(); }; } submenu = Add.Menu.AddItem("Code File"); { submenu.SetImage(@"Data\SharedCode.png"); submenu.Clicked += delegate(Base sender, ClickedEventArgs args2) { CodeFile cf = new CodeFile(); cf.Name = "NewClass.cs"; FolderResource.Add(cf); new AddCode(cf, ClickedResource.ID).Send(); }; } } } MenuItem Rename = RightClickMenu.AddItem("Rename"); Rename.Clicked += delegate(Base sender, ClickedEventArgs renameargs) { ((ResourceNode)item).StartRename(); }; } Point LocalPos = Parent.CanvasPosToLocal(new Point(args.X, args.Y)); RightClickMenu.SetPosition(LocalPos.X - 6, LocalPos.Y - 28); //Subtracting bounds of inner panel RightClickMenu.Show(); }