public override void Initialize() { base.Initialize(); ScreenResolutions = new List<RadioButton>(); var top = 50; var exit = new Button(ControlManager.Manager) {Text = "Back to previous screen", Left = 50, Top = top, Width = 200, Height = 50}; exit.Init(); ControlManager.Add(exit); exit.Click += (sender, args) => ScreenManager.SwapScreens(this, Constants.ScreenNames.MainMenu); var panel = new Panel(ControlManager.Manager) {Width = 856, Height = 467, Left = 300, Top = 50 }; panel.Init(); ControlManager.Add(panel); var resLabel = new Label(ControlManager.Manager) {Text = "Screen Resolution:", Top = top, Left = 20, Width = 250}; resLabel.Init(); panel.Add(resLabel); top += 50; resolutionPanel = new Panel(ControlManager.Manager) {Color = Color.Gray, Width = 300, Height = 150, Top = 70, Left = 50, Parent = panel, AutoScroll = true}; resolutionPanel.Init(); var resTop = 10; DisplayMode current = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode; foreach (DisplayMode mode in GraphicsAdapter.DefaultAdapter.SupportedDisplayModes.Where(i => i.Format == SurfaceFormat.Color && i.Width >= 1224)) { if (mode.Width > current.Width) FullScreenResolution = mode; var option = new RadioButton(ControlManager.Manager) { Text = String.Format("{0}x{1}", mode.Width, mode.Height), Width = 200, Left = 50, Top = resTop, Parent = resolutionPanel}; option.Checked = mode.Width == GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width && mode.Height == GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height; int x = mode.Width; int y = mode.Height; option.Click += (sender, args) => ApplyResolution(x, y); resTop += 30; option.Init(); current = mode; ScreenResolutions.Add(option); } top += resolutionPanel.Height; var fullScreenModeLabel = new Label(ControlManager.Manager) { Text = "Full Screen Mode:", Top = top, Left = resLabel.Left, Parent = panel, Width = 200 }; fullScreenModeLabel.Init(); top += fullScreenModeLabel.Height; var fullScreenPanel = new Panel(ControlManager.Manager) { Color = Color.Gray, Width = resolutionPanel.Width, Height = 50, Top = top, Left = resolutionPanel.Left, Parent = panel }; fullScreenPanel.Init(); top += fullScreenModeLabel.Height; String OnOff = Application.Graphics.IsFullScreen ? "On" : "Off"; var fullScreenIndicator = new RadioButton(ControlManager.Manager) { Top = top, Left = 100, Width = 200, Parent = panel, Text = "Full Screen: " + OnOff, Checked = Application.Graphics.IsFullScreen }; fullScreenIndicator.Click += (sender, args) => FullScreenMode(fullScreenIndicator); fullScreenIndicator.Init(); top += fullScreenPanel.Height; var backgroundSoundLabel = new Label(ControlManager.Manager) { Text = "Background Volume:", Top = top, Left = 20, Width = 250 }; backgroundSoundLabel.Init(); panel.Add(backgroundSoundLabel); top += backgroundSoundLabel.Height; var backgroundVolumePercentage = new Label(ControlManager.Manager) { Text = "50%", Top = top, Left = 480, Width = 250 }; backgroundVolumePercentage.Init(); panel.Add(backgroundVolumePercentage); var backgroundVolume = new TrackBar(ControlManager.Manager) {Width = 400, Top = top, Left = 50}; backgroundVolume.Init(); panel.Add(backgroundVolume); backgroundVolume.Value = 50; backgroundVolume.ValueChanged += (sender, args) => ChangeBackgroundVolume(backgroundVolumePercentage, backgroundVolume.Value); top += 20; var soundEffectsLabel = new Label(ControlManager.Manager) { Text = "Effects Volume:", Top = top, Left = 20, Width = 250 }; soundEffectsLabel.Init(); panel.Add(soundEffectsLabel); top += 20; var effectsVolumePercentage = new Label(ControlManager.Manager) { Text = "50%", Top = top, Left = 480, Width = 250 }; backgroundVolumePercentage.Init(); panel.Add(effectsVolumePercentage); var effectsVolume = new TrackBar(ControlManager.Manager) {Width = 400, Top = top, Left = 50 }; effectsVolume.Init(); panel.Add(effectsVolume); effectsVolume.Value = 50; effectsVolume.ValueChanged += (sender, args) => ChangeEffectsVolume(effectsVolumePercentage, effectsVolume.Value); }
/// <summary> /// Код дизайнера всех базовых окон /// </summary> private void WindowsDesigner() { Manager = new Manager(this, graphics, "Default"); Manager.Initialize(); #region mainmenu mainmenu = new Window(Manager) {BackColor = Color.Black}; mainmenu.Init(); mainmenu.Text = ""; mainmenu.SetPosition(resx/3, resy/4); mainmenu.Width = resx/3; mainmenu.Height = resy/2; mainmenu.Visible = true; mainmenu.BorderVisible = false; mainmenu.Movable = false; mainmenu.Resizable = false; mainmenucloseB = new Button(Manager); mainmenucloseB.Init(); mainmenucloseB.Text = "Quit"; mainmenucloseB.Width = resx/5; mainmenucloseB.Height = 25; mainmenucloseB.Left = (resx/3 - resx/5)/2; mainmenucloseB.Top = mainmenu.ClientHeight - mainmenucloseB.Height - 8; mainmenucloseB.Anchor = Anchors.Bottom; mainmenucloseB.Parent = mainmenu; mainmenucloseB.Click += button_Click; mainmenugeneratenewB = new Button(Manager); mainmenugeneratenewB.Init(); mainmenugeneratenewB.Text = "Создать новый мир и начать игру"; mainmenugeneratenewB.Width = resx/5; mainmenugeneratenewB.Height = 25; mainmenugeneratenewB.Left = (resx/3 - resx/5)/2; mainmenugeneratenewB.Top = 50; mainmenugeneratenewB.Anchor = Anchors.Bottom; mainmenugeneratenewB.Parent = mainmenu; mainmenugeneratenewB.Click += mainmenugeneratenewB_Click; mainmenuloadmapB = new Button(Manager) {Text = "Начать игру в созданном мире", Width = resx/5}; mainmenuloadmapB.Init(); mainmenuloadmapB.Height = 25; mainmenuloadmapB.Left = (resx/3 - resx/5)/2; mainmenuloadmapB.Top = 100; mainmenuloadmapB.Anchor = Anchors.Bottom; mainmenuloadmapB.Parent = mainmenu; mainmenuloadmapB.Click += mainmenuloadmapB_Click; mainmenuloadgameB = new Button(Manager); mainmenuloadgameB.Init(); mainmenuloadgameB.Text = "Загрузить игру"; mainmenuloadgameB.Width = resx/5; mainmenuloadgameB.Height = 25; mainmenuloadgameB.Left = (resx/3 - resx/5)/2; mainmenuloadgameB.Top = 150; mainmenuloadgameB.Anchor = Anchors.Bottom; mainmenuloadgameB.Parent = mainmenu; mainmenuloadgameB.Click += mainmenuloadgameB_Click; mainmenuoptionsB = new Button(Manager); mainmenuoptionsB.Init(); mainmenuoptionsB.Text = "Опции"; mainmenuoptionsB.Width = resx/5; mainmenuoptionsB.Height = 25; mainmenuoptionsB.Left = (resx/3 - resx/5)/2; mainmenuoptionsB.Top = 200; mainmenuoptionsB.Anchor = Anchors.Bottom; mainmenuoptionsB.Parent = mainmenu; mainmenuoptionsB.Click += mainmenuoptionsB_Click; Manager.Add(mainmenu); #endregion #region generateoptionsmenu generateoptionsmenu = new Window(Manager) {BackColor = Color.Black}; generateoptionsmenu.Init(); generateoptionsmenu.Text = ""; generateoptionsmenu.SetPosition(resx/3, resy/4); generateoptionsmenu.Width = resx/3; generateoptionsmenu.Height = resy/2; generateoptionsmenu.Visible = false; generateoptionsmenu.BorderVisible = false; generateoptionsmenu.Movable = false; generateoptionsmenu.Resizable = false; generateoptionnextB = new Button(Manager); generateoptionnextB.Init(); generateoptionnextB.Text = "Продолжить"; generateoptionnextB.Width = resx/5; generateoptionnextB.Height = 25; generateoptionnextB.Left = (resx/3 - resx/5)/2; generateoptionnextB.Top = 50; generateoptionnextB.Anchor = Anchors.Bottom; generateoptionnextB.Parent = generateoptionsmenu; generateoptionnextB.Click += generateoptionnextB_Click; generateoptionbackB = new Button(Manager); generateoptionbackB.Init(); generateoptionbackB.Text = "Назад"; generateoptionbackB.Width = resx/5; generateoptionbackB.Height = 25; generateoptionbackB.Left = (resx/3 - resx/5)/2; generateoptionbackB.Top = generateoptionsmenu.ClientHeight - generateoptionbackB.Height - 8; generateoptionbackB.Anchor = Anchors.Bottom; generateoptionbackB.Parent = generateoptionsmenu; generateoptionbackB.Click += generateoptionbackB_Click; Manager.Add(generateoptionsmenu); #endregion #region generationMenu generationMenu = new Window(Manager) {BackColor = Color.Black}; generationMenu.Init(); generationMenu.Text = ""; generationMenu.SetPosition(20, 20); generationMenu.Width = resx/6; generationMenu.Height = 300; generationMenu.Visible = false; generationMenu.BorderVisible = false; generationMenu.Movable = false; generationMenu.Resizable = false; generationbegingameB = new Button(Manager); generationbegingameB.Init(); generationbegingameB.Text = "Начать игру"; generationbegingameB.Width = resx/8; generationbegingameB.Height = 25; generationbegingameB.Left = (resx/6 - resx/8)/2; generationbegingameB.Top = 50; generationbegingameB.Anchor = Anchors.Bottom; generationbegingameB.Parent = generationMenu; generationbegingameB.Click += generationbegingameB_Click; generationgenerateB = new Button(Manager); generationgenerateB.Init(); generationgenerateB.Text = "Генерировать"; generationgenerateB.Width = resx/8; generationgenerateB.Height = 25; generationgenerateB.Left = (resx/6 - resx/8)/2; generationgenerateB.Top = 80; generationgenerateB.Anchor = Anchors.Bottom; generationgenerateB.Parent = generationMenu; generationgenerateB.Click += generationgenerateB_Click; generationNormalMapB = new Button(Manager); generationNormalMapB.Init(); generationNormalMapB.Text = "Обычная карта"; generationNormalMapB.Width = resx/8; generationNormalMapB.Height = 25; generationNormalMapB.Left = (resx/6 - resx/8)/2; generationNormalMapB.Top = 110; generationNormalMapB.Anchor = Anchors.Bottom; generationNormalMapB.Parent = generationMenu; generationNormalMapB.Click += generationnormalmapB_Click; generationheightmapB = new Button(Manager); generationheightmapB.Init(); generationheightmapB.Text = "Карта высот"; generationheightmapB.Width = resx/8; generationheightmapB.Height = 25; generationheightmapB.Left = (resx/6 - resx/8)/2; generationheightmapB.Top = 140; generationheightmapB.Anchor = Anchors.Bottom; generationheightmapB.Parent = generationMenu; generationheightmapB.Click += generationheightmapB_Click; generationtempmapB = new Button(Manager); generationtempmapB.Init(); generationtempmapB.Text = "Карта температур"; generationtempmapB.Width = resx/8; generationtempmapB.Height = 25; generationtempmapB.Left = (resx/6 - resx/8)/2; generationtempmapB.Top = 170; generationtempmapB.Anchor = Anchors.Bottom; generationtempmapB.Parent = generationMenu; generationtempmapB.Click += generationtempmapB_Click; generationbackB = new Button(Manager); generationbackB.Init(); generationbackB.Text = "Назад"; generationbackB.Width = resx/8; generationbackB.Height = 25; generationbackB.Left = (resx/6 - resx/8)/2; generationbackB.Top = 200; generationbackB.Anchor = Anchors.Bottom; generationbackB.Parent = generationMenu; generationbackB.Click += generationbackB_Click; generateoption = new TrackBar(Manager); generateoption.Init(); generateoption.Top = 230; generateoption.Left = (resx/6 - resx/8)/2; generateoption.Width = resx/8; generateoption.Height = 25; generateoption.Parent = generationMenu; generateoption.ValueChanged += generateoption_ValueChanged; generateoptionlabel = new Label(Manager); generateoptionlabel.Init(); generateoptionlabel.Top = 250; generateoptionlabel.Left = (resx/6 - resx/8)/2; generateoptionlabel.Width = resx/8; generateoptionlabel.Height = 25; generateoptionlabel.Parent = generationMenu; Manager.Add(generationMenu); #endregion #region mapload maploadmenu = new Window(Manager) {Color = Color.Black}; maploadmenu.Init(); maploadmenu.Text = ""; maploadmenu.SetPosition(resx/3, resy/4); maploadmenu.Width = resx/3; maploadmenu.Height = resy/2; maploadmenu.Visible = false; maploadmenu.BorderVisible = false; maploadmenu.Movable = false; maploadmenu.Resizable = false; maploadmenuLoad = new Button(Manager); maploadmenuLoad.Init(); maploadmenuLoad.Text = "Назад"; maploadmenuLoad.Width = resx/5; maploadmenuLoad.Height = 25; maploadmenuLoad.Left = (resx/3 - resx/5)/2; maploadmenuLoad.Top = maploadmenu.ClientHeight - maploadmenuLoad.Height - 8; maploadmenuLoad.Anchor = Anchors.Bottom; maploadmenuLoad.Parent = maploadmenu; maploadmenuLoad.Click += maploadmenuLoad_Click; maploadmenuLoadNext = new Button(Manager); maploadmenuLoadNext.Init(); maploadmenuLoadNext.Text = "Далее"; maploadmenuLoadNext.Width = resx/5; maploadmenuLoadNext.Height = 25; maploadmenuLoadNext.Left = (resx/3 - resx/5)/2; maploadmenuLoadNext.Top = maploadmenu.ClientHeight - maploadmenuLoad.Height - 8 - 30; maploadmenuLoadNext.Anchor = Anchors.Bottom; maploadmenuLoadNext.Parent = maploadmenu; maploadmenuLoadNext.Click += maploadmenuLoadNext_Click; maploadmenulistbox = new ListBox(Manager); maploadmenulistbox.Init(); maploadmenulistbox.Text = ""; maploadmenulistbox.Width = resx/5; maploadmenulistbox.Height = resy/3; maploadmenulistbox.Left = (resx/3 - resx/5)/2; maploadmenulistbox.Top = 50; maploadmenulistbox.Anchor = Anchors.Bottom; maploadmenulistbox.Parent = maploadmenu; maploadmenulistbox.DoubleClick += maploadmenulistbox_DoubleClick; Manager.Add(maploadmenu); #endregion #region Summary Window SummaryWindow = new Window(Manager) {Color = Color.Black}; SummaryWindow.Init(); SummaryWindow.Text = ""; SummaryWindow.SetPosition(100, 100); SummaryWindow.Width = resx/4; SummaryWindow.Height = resy/4; SummaryWindow.Visible = false; SummaryWindow.BorderVisible = true; SummaryWindow.Movable = true; SummaryWindow.Resizable = false; summarytb = new TextBox(Manager); summarytb.Init(); summarytb.Text = ""; summarytb.Width = resx/4 - 30; summarytb.Height = resy/4 - 60; summarytb.Left = (20)/2; summarytb.CaretVisible = false; summarytb.Passive = true; summarytb.Mode = TextBoxMode.Multiline; summarytb.Top = (20)/2; summarytb.Anchor = Anchors.Bottom; summarytb.Parent = SummaryWindow; Manager.Add(SummaryWindow); #endregion #region ingameUIpartLeft ingameUIpartLeft = new Window(Manager) {Color = Color.Black}; ingameUIpartLeft.Init(); ingameUIpartLeft.Text = ""; ingameUIpartLeft.SetPosition(resx/5*4, 0); ingameUIpartLeft.Width = resx/5; ingameUIpartLeft.Height = resy; ingameUIpartLeft.Visible = false; ingameUIpartLeft.BorderVisible = false; ingameUIpartLeft.Movable = false; ingameUIpartLeft.Resizable = false; ingameshowOrdersB = new Button(Manager); ingameshowOrdersB.Init(); ingameshowOrdersB.Text = "Приказы (O)"; ingameshowOrdersB.Width = resx/5 - 20; ingameshowOrdersB.Height = 25; ingameshowOrdersB.Left = (20)/2; ingameshowOrdersB.Top = 10; ingameshowOrdersB.Anchor = Anchors.Bottom; ingameshowOrdersB.Parent = ingameUIpartLeft; ingameshowOrdersB.Click += ingameshowOrdersB_Click; ingameshowZonesB = new Button(Manager); ingameshowZonesB.Init(); ingameshowZonesB.Text = "Зоны (Z)"; ingameshowZonesB.Width = resx/5 - 20; ingameshowZonesB.Height = 25; ingameshowZonesB.Left = (20)/2; ingameshowZonesB.Top = 40; ingameshowZonesB.Anchor = Anchors.Bottom; ingameshowZonesB.Parent = ingameUIpartLeft; ingameshowZonesB.Click += ingameshowZonesB_Click; ingameshowBuildingsB = new Button(Manager); ingameshowBuildingsB.Init(); ingameshowBuildingsB.Text = "Постройки (Z)"; ingameshowBuildingsB.Width = resx/5 - 20; ingameshowBuildingsB.Height = 25; ingameshowBuildingsB.Left = (20)/2; ingameshowBuildingsB.Top = 70; ingameshowBuildingsB.Anchor = Anchors.Bottom; ingameshowBuildingsB.Parent = ingameUIpartLeft; ingameshowBuildingsB.Click += ingameshowBuildingsB_Click; ingameshowallinfo = new Button(Manager); ingameshowallinfo.Init(); ingameshowallinfo.Text = "Подробная информация"; ingameshowallinfo.Width = resx/5 - 20; ingameshowallinfo.Height = 25; ingameshowallinfo.Left = (20)/2; ingameshowallinfo.Top = 100; ingameshowallinfo.Anchor = Anchors.Bottom; ingameshowallinfo.Parent = ingameUIpartLeft; ingameshowallinfo.Click += ingameshowallinfo_Click; ingameUIpartLeftlistbox = new ListBox(Manager); ingameUIpartLeftlistbox.Init(); ingameUIpartLeftlistbox.Text = ""; ingameUIpartLeftlistbox.Width = resx/5 - 20; ingameUIpartLeftlistbox.Height = 90; ingameUIpartLeftlistbox.Left = 10; ingameUIpartLeftlistbox.Top = 200; ingameUIpartLeftlistbox.Anchor = Anchors.Bottom; ingameUIpartLeftlistbox.Parent = ingameUIpartLeft; ingameUIpartLeftlistbox.DoubleClick += maploadmenulistbox_DoubleClick; ingameUIpartLeftlistbox2 = new ListBox(Manager); ingameUIpartLeftlistbox2.Init(); ingameUIpartLeftlistbox2.Text = ""; ingameUIpartLeftlistbox2.Width = resx/5 - 20; ingameUIpartLeftlistbox2.Height = 200; ingameUIpartLeftlistbox2.Left = 10; ingameUIpartLeftlistbox2.Top = 300; ingameUIpartLeftlistbox2.Anchor = Anchors.Bottom; ingameUIpartLeftlistbox2.Parent = ingameUIpartLeft; Manager.Add(ingameUIpartLeft); #endregion #region orderssubmenu orderssubmenu = new Window(Manager); orderssubmenu.Init(); orderssubmenu.Text = ""; orderssubmenu.Width = 150; orderssubmenu.Height = 200; orderssubmenu.Center(); orderssubmenu.Visible = false; orderssubmenu.Resizable = false; digorder = new Button(Manager); digorder.Init(); digorder.Text = "Выкопать"; digorder.Width = orderssubmenu.Width - 40; digorder.Height = 24; digorder.Left = 20; digorder.Top = 20; digorder.Anchor = Anchors.Bottom; digorder.Parent = orderssubmenu; digorder.Click += digorder_Click; supplyorder = new Button(Manager); supplyorder.Init(); supplyorder.Text = "Обеспечить ресурсами"; supplyorder.Width = orderssubmenu.Width - 40; supplyorder.Height = 24; supplyorder.Left = 20; supplyorder.Top = 50; supplyorder.Anchor = Anchors.Bottom; supplyorder.Parent = orderssubmenu; supplyorder.Click += supplyorder_Click; cancelorder = new Button(Manager); cancelorder.Init(); cancelorder.Text = "Отменить все приказы"; cancelorder.Width = orderssubmenu.Width - 40; cancelorder.Height = 24; cancelorder.Left = 20; cancelorder.Top = 80; cancelorder.Anchor = Anchors.Bottom; cancelorder.Parent = orderssubmenu; cancelorder.Click += cancelorder_Click; collectorder = new Button(Manager); collectorder.Init(); collectorder.Text = "Cобрать"; collectorder.Width = orderssubmenu.Width - 40; collectorder.Height = 24; collectorder.Left = 20; collectorder.Top = 110; collectorder.Anchor = Anchors.Bottom; collectorder.Parent = orderssubmenu; collectorder.Click += collectorder_Click; orderslabel = new Label(Manager); orderslabel.Left = 5; orderslabel.Top = 5; orderslabel.Text = "Приказы"; orderslabel.Parent = orderssubmenu; Manager.Add(orderssubmenu); #endregion #region Buildings window buildinsgwindow = new Window(Manager) {BackColor = Color.Black}; buildinsgwindow.Init(); buildinsgwindow.Text = ""; buildinsgwindow.SetPosition(20, 20); buildinsgwindow.Width = 42*6 + 20; buildinsgwindow.Height = 300; buildinsgwindow.Visible = false; buildinsgwindow.Resizable = false; buildingssb = new ScrollBar(Manager, Orientation.Vertical); buildingssb.Init(); buildingssb.Top = 0; buildingssb.Width = 20; buildingssb.Left = buildinsgwindow.Width - buildingssb.Width - 20; buildingssb.Height = buildinsgwindow.Height - 40; buildingssb.Parent = buildinsgwindow; buildingssb.ValueChanged += buildingssb_ValueChanged; buildingsbuttons = new Button[dbobject.Data.Count]; buildingsbuttonslabel = new Label[dbobject.Data.Count]; int i = 0; foreach (var dbo in dbobject.Data) { buildingsbuttons[i] = new Button(Manager); buildingsbuttons[i].Init(); buildingsbuttons[i].Text = dbo.Value.Name; buildingsbuttons[i].Width = 40; buildingsbuttons[i].Height = 40; buildingsbuttons[i].Left = i%5*42; buildingsbuttons[i].Top = i/5*42; int[] tg = {buildingsbuttons[i].Top, dbo.Key}; buildingsbuttons[i].Tag = tg; buildingsbuttons[i].Anchor = Anchors.Bottom; buildingsbuttons[i].Parent = buildinsgwindow; buildingsbuttons[i].Glyph = new Glyph(object_tex, GetTexRectFromN(dbo.Value.MetatexN)); buildingsbuttons[i].ToolTip = new ToolTip(Manager); buildingsbuttons[i].ToolTip.Text = dbo.Value.Name + " id " + dbo.Key; buildingsbuttons[i].Click += Buildingsbutton_Click; iss.n.Add(dbo.Key, new LocalItem {id = dbo.Key, count = 0}); buildingsbuttonslabel[i] = new Label(Manager); buildingsbuttonslabel[i].Init(); buildingsbuttonslabel[i].Text = "0"; buildingsbuttonslabel[i].Width = 40; buildingsbuttonslabel[i].Height = 40; buildingsbuttonslabel[i].Left = i%5*42; buildingsbuttonslabel[i].Top = i/5*42; buildingsbuttonslabel[i].Parent = buildinsgwindow; i++; } Manager.Add(buildinsgwindow); #endregion #region Ingamemesages Ingamemesages = new Window(Manager); Ingamemesages.Init(); Ingamemesages.Text = ""; Ingamemesages.Width = 480; Ingamemesages.Height = 200; Ingamemesages.Center(); Ingamemesages.Visible = false; Ingamemesages.Resizable = false; IngamemesagesOk = new Button(Manager); IngamemesagesOk.Init(); IngamemesagesOk.Text = "OK"; IngamemesagesOk.Width = 72; IngamemesagesOk.Height = 24; IngamemesagesOk.Left = (Ingamemesages.ClientWidth/2) - (IngamemesagesOk.Width/2); IngamemesagesOk.Top = Ingamemesages.ClientHeight - IngamemesagesOk.Height - 8; IngamemesagesOk.Anchor = Anchors.Bottom; IngamemesagesOk.Parent = Ingamemesages; IngamemesagesOk.Click += IngamemesagesOk_Click; Ingamemesageslabel = new Label(Manager); Ingamemesageslabel.Left = 5; Ingamemesageslabel.Top = 5; Ingamemesageslabel.Text = "Text"; Ingamemesageslabel.Parent = Ingamemesages; Manager.Add(Ingamemesages); #endregion }
//////////////////////////////////////////////////////////////////////////// public TaskControls(Manager manager) : base(manager) { MinimumWidth = 340; MinimumHeight = 140; Height = 480; Center(); Text = "Controls Test"; TopPanel.Visible = true; Caption.Text = "Information"; Description.Text = "Demonstration of various controls available in Neoforce Controls library."; Caption.TextColor = Description.TextColor = new Color(96, 96, 96); grpEdit = new GroupPanel(Manager); grpEdit.Init(); grpEdit.Parent = this; grpEdit.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; grpEdit.Width = ClientWidth - 200; grpEdit.Height = 160; grpEdit.Left = 8; grpEdit.Top = TopPanel.Height + 8; grpEdit.Text = "EditBox"; pnlControls = new Panel(Manager); pnlControls.Init(); pnlControls.Passive = true; pnlControls.Parent = this; pnlControls.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; pnlControls.Left = 8; pnlControls.Top = grpEdit.Top + grpEdit.Height + 8; pnlControls.Width = ClientWidth - 200; pnlControls.Height = BottomPanel.Top - 32 - pnlControls.Top; pnlControls.BevelBorder = BevelBorder.All; pnlControls.BevelMargin = 1; pnlControls.BevelStyle = BevelStyle.Etched; pnlControls.Color = Color.Transparent; lblEdit = new Label(manager); lblEdit.Init(); lblEdit.Parent = grpEdit; lblEdit.Left = 16; lblEdit.Top = 8; lblEdit.Text = "Testing field:"; lblEdit.Width = 128; lblEdit.Height = 16; txtEdit = new TextBox(manager); txtEdit.Init(); txtEdit.Parent = grpEdit; txtEdit.Left = 16; txtEdit.Top = 24; txtEdit.Width = grpEdit.ClientWidth - 32; txtEdit.Height = 20; txtEdit.Anchor = Anchors.Left | Anchors.Top | Anchors.Right | Anchors.Bottom; txtEdit.Text = "Text"; rdbNormal = new RadioButton(manager); rdbNormal.Init(); rdbNormal.Parent = grpEdit; rdbNormal.Left = 16; rdbNormal.Top = 52; rdbNormal.Width = grpEdit.ClientWidth - 32; rdbNormal.Anchor = Anchors.Left | Anchors.Bottom | Anchors.Right; rdbNormal.Checked = true; rdbNormal.Text = "Normal mode"; rdbNormal.ToolTip.Text = "Enables normal mode for TextBox control."; rdbNormal.CheckedChanged += new TomShane.Neoforce.Controls.EventHandler(ModeChanged); rdbPassword = new RadioButton(manager); rdbPassword.Init(); rdbPassword.Parent = grpEdit; rdbPassword.Left = 16; rdbPassword.Top = 68; rdbPassword.Width = grpEdit.ClientWidth - 32; rdbPassword.Anchor = Anchors.Left | Anchors.Bottom | Anchors.Right; rdbPassword.Checked = false; rdbPassword.Text = "Password mode"; rdbPassword.ToolTip.Text = "Enables password mode for TextBox control."; rdbPassword.CheckedChanged += new TomShane.Neoforce.Controls.EventHandler(ModeChanged); chkBorders = new CheckBox(manager); chkBorders.Init(); chkBorders.Parent = grpEdit; chkBorders.Left = 16; chkBorders.Top = 96; chkBorders.Width = grpEdit.ClientWidth - 32; chkBorders.Anchor = Anchors.Left | Anchors.Bottom | Anchors.Right; chkBorders.Checked = false; chkBorders.Text = "Borderless mode"; chkBorders.ToolTip.Text = "Enables or disables borderless mode for TextBox control."; chkBorders.CheckedChanged += new TomShane.Neoforce.Controls.EventHandler(chkBorders_CheckedChanged); chkReadOnly = new CheckBox(manager); chkReadOnly.Init(); chkReadOnly.Parent = grpEdit; chkReadOnly.Left = 16; chkReadOnly.Top = 110; chkReadOnly.Width = grpEdit.ClientWidth - 32; chkReadOnly.Anchor = Anchors.Left | Anchors.Bottom | Anchors.Right; chkReadOnly.Checked = false; chkReadOnly.Text = "Read only mode"; chkReadOnly.ToolTip.Text = "Enables or disables read only mode for TextBox control.\nThis mode is necessary to enable explicitly."; chkReadOnly.CheckedChanged += new TomShane.Neoforce.Controls.EventHandler(chkReadOnly_CheckedChanged); string[] colors = new string[] {"Red", "Green", "Blue", "Yellow", "Orange", "Purple", "White", "Black", "Magenta", "Cyan", "Brown", "Aqua", "Beige", "Coral", "Crimson", "Gray", "Azure", "Ivory", "Indigo", "Khaki", "Orchid", "Plum", "Salmon", "Silver", "Gold", "Pink", "Linen", "Lime", "Olive", "Slate"}; spnMain = new SpinBox(manager, SpinBoxMode.List); spnMain.Init(); spnMain.Parent = pnlControls; spnMain.Left = 16; spnMain.Top = 16; spnMain.Width = pnlControls.Width - 32; spnMain.Height = 20; spnMain.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; spnMain.Items.AddRange(colors); spnMain.Mode = SpinBoxMode.Range; spnMain.ItemIndex = 0; cmbMain = new ComboBox(manager); cmbMain.Init(); cmbMain.Parent = pnlControls; cmbMain.Left = 16; cmbMain.Top = 44; cmbMain.Width = pnlControls.Width - 32; cmbMain.Height = 20; cmbMain.ReadOnly = true; cmbMain.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; cmbMain.Items.AddRange(colors); cmbMain.ItemIndex = 0; cmbMain.MaxItems = 5; cmbMain.ToolTip.Color = Color.Yellow; cmbMain.Movable = cmbMain.Resizable = true; cmbMain.OutlineMoving = cmbMain.OutlineResizing = true; trkMain = new TrackBar(manager); trkMain.Init(); trkMain.Parent = pnlControls; trkMain.Left = 16; trkMain.Top = 72; trkMain.Width = pnlControls.Width - 32; trkMain.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; trkMain.Range = 64; trkMain.Value = 16; trkMain.ValueChanged += new TomShane.Neoforce.Controls.EventHandler(trkMain_ValueChanged); lblTrack = new Label(manager); lblTrack.Init(); lblTrack.Parent = pnlControls; lblTrack.Left = 16; lblTrack.Top = 96; lblTrack.Width = pnlControls.Width - 32; lblTrack.Anchor = Anchors.Left | Anchors.Top | Anchors.Right; lblTrack.Alignment = Alignment.TopRight; lblTrack.TextColor = new Color(32, 32, 32); trkMain_ValueChanged(this, null); // forcing label redraw with init values mnuListBox = new ContextMenu(manager); MenuItem i1 = new MenuItem("This is very long text"); MenuItem i2 = new MenuItem("Menu", true); MenuItem i3 = new MenuItem("Item", false); //i3.Enabled = false; MenuItem i4 = new MenuItem("Separated", true); MenuItem i11 = new MenuItem(); MenuItem i12 = new MenuItem(); MenuItem i13 = new MenuItem(); MenuItem i14 = new MenuItem(); MenuItem i111 = new MenuItem(); MenuItem i112 = new MenuItem(); MenuItem i113 = new MenuItem(); mnuListBox.Items.AddRange(new MenuItem[]{i1,i2, i3, i4}); i2.Items.AddRange(new MenuItem[] { i11, i12, i13, i14 }); i13.Items.AddRange(new MenuItem[] { i111, i112, i113 }); lstMain = new ListBox(manager); lstMain.Init(); lstMain.Parent = this; lstMain.Top = TopPanel.Height + 8; lstMain.Left = grpEdit.Left + grpEdit.Width + 8; lstMain.Width = ClientWidth - lstMain.Left - 8; lstMain.Height = ClientHeight - 16 - BottomPanel.Height - TopPanel.Height; lstMain.Anchor = Anchors.Top | Anchors.Right | Anchors.Bottom; lstMain.HideSelection = false; lstMain.Items.AddRange(colors); lstMain.ContextMenu = mnuListBox; prgMain = new ProgressBar(manager); prgMain.Init(); prgMain.Parent = this.BottomPanel; prgMain.Left = lstMain.Left; prgMain.Top = 10; prgMain.Width = lstMain.Width; prgMain.Height = 16; prgMain.Anchor = Anchors.Top | Anchors.Right; prgMain.Mode = ProgressBarMode.Infinite; prgMain.Passive = false; btnDisable = new Button(manager); btnDisable.Init(); btnDisable.Parent = BottomPanel; btnDisable.Left = 8; btnDisable.Top = 8; btnDisable.Text = "Disable"; btnDisable.Click += new Controls.EventHandler(btnDisable_Click); btnDisable.TextColor = Color.FromNonPremultiplied(255, 64, 32, 200); btnProgress = new Button(manager); btnProgress.Init(); btnProgress.Parent = BottomPanel; btnProgress.Left = prgMain.Left - 16; btnProgress.Top = prgMain.Top; btnProgress.Height = 16; btnProgress.Width = 16; btnProgress.Text = "!"; btnProgress.Anchor = Anchors.Top | Anchors.Right; btnProgress.Click += new Controls.EventHandler(btnProgress_Click); mnuMain = new MainMenu(manager); mnuMain.Items.Add(i2); mnuMain.Items.Add(i13); mnuMain.Items.Add(i3); mnuMain.Items.Add(i4); MainMenu = mnuMain; ToolBarPanel tlp = new ToolBarPanel(manager); ToolBarPanel = tlp; ToolBar tlb = new ToolBar(manager); ToolBar tlbx = new ToolBar(manager); tlb.FullRow = true; tlbx.Row = 1; tlbx.FullRow = false; tlp.Add(tlb); tlp.Add(tlbx); /* tlb.Init(); tlb.Width = 256; tlb.Parent = ToolBarPanel;*/ //tlbx.Init(); /* tlbx.Width = 512; tlbx.Top = 25; tlbx.Parent = ToolBarPanel;*/ /* ToolBarButton tb1 = new ToolBarButton(manager); tb1.Init(); tb1.Parent = tlb; tb1.Left = 10; tb1.Top = 1; tb1.Glyph = new Glyph(Manager.Skin.Images["Icon.Warning"].Resource); tb1.Glyph.SizeMode = SizeMode.Stretched; */ StatusBar stb = new StatusBar(Manager); StatusBar = stb; DefaultControl = txtEdit; OutlineMoving = true; OutlineResizing = true; BottomPanel.BringToFront(); SkinChanged += new TomShane.Neoforce.Controls.EventHandler(TaskControls_SkinChanged); TaskControls_SkinChanged(null, null); }