Beispiel #1
0
 public void RemoveTab(IEditorTab tab)
 {
     if (m_Tabs.Contains(tab))
     {
         m_Tabs.Remove(tab);
     }
 }
Beispiel #2
0
 public void AddTab(IEditorTab tab)
 {
     if (!m_Tabs.Contains(tab))
     {
         m_Tabs.Add(tab);
     }
 }
Beispiel #3
0
        private void InitialiseTab(IEditorTab tab)
        {
            TabItem newTab = new TabItem();

            m_tabs.Add(tab, newTab);
            newTab.Header  = tab.Caption;
            newTab.Padding = new Thickness(8, 4, 8, 4);
            tabControl.Items.Add(newTab);

            ScrollViewer scrollViewer = new ScrollViewer();

            scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            scrollViewer.Padding = new Thickness(5);
            newTab.Content       = scrollViewer;

            Grid controlGrid = new Grid();

            ColumnDefinition labelColumn = new ColumnDefinition();

            labelColumn.Width = new GridLength(1, GridUnitType.Auto);
            ColumnDefinition controlColumn = new ColumnDefinition();

            controlColumn.Width = new GridLength(1, GridUnitType.Star);
            controlGrid.ColumnDefinitions.Add(labelColumn);
            controlGrid.ColumnDefinitions.Add(controlColumn);

            scrollViewer.Content = controlGrid;

            foreach (IEditorControl ctl in tab.Controls)
            {
                AddControlToGrid(controlGrid, ctl);
            }

            if (m_lastRowIsResizable)
            {
                // If final grid row is resizable, add a dummy row underneath so it can be expanded
                AddRowToGrid(controlGrid);
            }

            if (m_lastRowIsScrollableAndExpands)
            {
                // If final grid row is scrollable and expands, disable the parent scrollviewer, otherwise
                // the final grid row will simply expand until its own content doesn't need to scroll.
                // For example, the TextEditorControl.
                scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;
            }
        }
Beispiel #4
0
        private void InitialiseTab(IEditorTab tab)
        {
            TabItem newTab = new TabItem();
            m_tabs.Add(tab, newTab);
            newTab.Header = tab.Caption;
            newTab.Padding = new Thickness(8, 4, 8, 4);
            tabControl.Items.Add(newTab);

            ScrollViewer scrollViewer = new ScrollViewer();
            scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            scrollViewer.Padding = new Thickness(5);
            newTab.Content = scrollViewer;

            Grid controlGrid = new Grid();

            ColumnDefinition labelColumn = new ColumnDefinition();
            labelColumn.Width = new GridLength(1, GridUnitType.Auto);
            ColumnDefinition controlColumn = new ColumnDefinition();
            controlColumn.Width = new GridLength(1, GridUnitType.Star);
            controlGrid.ColumnDefinitions.Add(labelColumn);
            controlGrid.ColumnDefinitions.Add(controlColumn);

            scrollViewer.Content = controlGrid;

            foreach (IEditorControl ctl in tab.Controls)
            {
                AddControlToGrid(controlGrid, ctl);
            }

            if (m_lastRowIsResizable)
            {
                // If final grid row is resizable, add a dummy row underneath so it can be expanded
                AddRowToGrid(controlGrid);
            }

            if (m_lastRowIsScrollableAndExpands)
            {
                // If final grid row is scrollable and expands, disable the parent scrollviewer, otherwise
                // the final grid row will simply expand until its own content doesn't need to scroll.
                // For example, the TextEditorControl.
                scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;
            }
        }
Beispiel #5
0
        public void ChangeTab(IEditorTab tab)
        {
            int index = m_Tabs.IndexOf(currentTab);

            ChangeTab(index);
        }