Exemple #1
0
        public void InsertTab(IProfilingTab newTab, IProfilingTab after)
        {
            if (newTab == null)
            {
                throw new ArgumentNullException(nameof(newTab));
            }
            if (after == null && newTab.GetType() != typeof(HomeTab))            //We don't want anyone to remove Home tab
            {
                throw new ArgumentNullException(nameof(after));
            }
            if (after != null && !Tabs.Select(t => t.Tab).Contains(after))
            {
                throw new ArgumentOutOfRangeException($"Tab '{after.GetType().Name}' not present in current tabs.");
            }
            //Remove everything after 'after'(if after is null remove everything)
            while (Tabs.Any() && Tabs.Last().Tab != after)
            {
                TabsOnLeft.Items.Remove(TabsOnLeft.Items.Last());
            }
            newTab.InsertTab += InsertTab;
            var tabView = new TabView(newTab);

            tabView.Clicked += TabView_Clicked;
            TabsOnLeft.Items.Add(tabView);
            Select(tabView);
        }
Exemple #2
0
 public TabView(IProfilingTab tab)
 {
     Tab = tab;
     Items.Add(new Label {
         Text = tab.Title
     });
     Items.Add(new Label {
         Text = tab.Details,
         Font = Fonts.Sans(10)
     });
     Height = 40;
     Width  = 90;
 }