Esempio n. 1
0
        private void CloseTab(int index)
        {
            var tab = VisualizerHost.TabPages[index];

            if (tab == VisualizerHost.SelectedTab)
            {
                //Select the next tab to the right, or the rightmost tab
                if (VisualizerHost.TabPages.Count > index + 1)
                {
                    VisualizerHost.SelectedIndex = index + 1;
                }
                else if (VisualizerHost.TabPages.Count > 1)
                {
                    VisualizerHost.SelectedIndex = VisualizerHost.TabPages.Count - 2;
                }
            }

            //close down the visualizer and its associated tab
            var vis = (IVisualizer)tab.Tag;

            vis.OnClose();
            Visualizers.Remove(vis);
            VisualizerHost.TabPages.Remove(tab);

            Debug.Assert(Visualizers.Count == VisualizerHost.TabPages.Count);

            if (VisualizerHost.TabPages.Count == 0)
            {
                m_closeVisualizerButton.Enabled = false;
            }
        }
Esempio n. 2
0
        public void AddVisualizer(Type visType)
        {
            IVisualizer visualizer = (IVisualizer)Activator.CreateInstance(visType);

            Visualizers.Add(visualizer);
            TabPage page = new TabPage(visualizer.DisplayName);

            page.Tag = visualizer;

            var toolbar = new VisualizerToolbar(ActiveSnapshot, visualizer);

            toolbar.Dock = DockStyle.Top;
            page.Controls.Add(toolbar);

            visualizer.Control.Top    = toolbar.Height;
            visualizer.Control.Left   = 0;
            visualizer.Control.Size   = new System.Drawing.Size(page.Width, page.Height - toolbar.Height);
            visualizer.Control.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
            page.Controls.Add(visualizer.Control);

            VisualizerHost.TabPages.Add(page);

            //We have to initialize here to make sure everything is wired if the visualizer calls back in
            if (!visualizer.Initialize(this, Connection, ActiveSnapshot))
            {
                VisualizerHost.TabPages.Remove(page);
                Visualizers.Remove(visualizer);
                return;
            }

            VisualizerHost.SelectedTab      = page;
            m_closeVisualizerButton.Enabled = true;
        }
Esempio n. 3
0
 public bool TryRemoveWatchVisualizer(IVisualizer vis)
 {
     foreach (var vv in Visualizers)
     {
         if (vv.Item2 == vis)
         {
             vv.Item1.Dispose(vv.Item2);
             Visualizers.Remove(vv);
             return(true);
         }
     }
     return(false);
 }