示例#1
0
        public Tab AddTab(string tabName)
        {
            if (_tabs.Any(p => p.TabName == tabName))
            {
                throw new ArgumentException(string.Format("Tab already exists with name `{0}`", tabName));
            }

            var tabbedPanelPanel = new TabbedPanelTab(
                tabName,
                GuiManager.CreateToggleButton(tabName, new Vector2(), new Vector2(), true, this),
                GuiManager.CreatePanel(this));

            tabbedPanelPanel.ToggleButton.Click += ChangeTab;

            tabbedPanelPanel.ToggleButton.Position = new Vector2(_tabs.Count * ButtonWidth, 0);
            tabbedPanelPanel.ToggleButton.Size = new Vector2(ButtonWidth, ButtonHeight);
            tabbedPanelPanel.Tab.Visible = false;

            _tabs.Add(tabbedPanelPanel);

            tabbedPanelPanel.Tab.Position = new Vector2(0, ButtonHeight);

            tabbedPanelPanel.Tab.AutoSize = AutoSize.Width | AutoSize.Height;

            SwitchToTab(tabbedPanelPanel);

            return tabbedPanelPanel.Tab;
        }
示例#2
0
 private void SwitchToTab(TabbedPanelTab panel)
 {
     foreach (var tabbedPanelPanel in _tabs)
     {
         tabbedPanelPanel.Tab.Visible = false;
     }
     panel.Tab.Visible = true;
 }