public void RemoveTab(IEditorTab tab) { if (m_Tabs.Contains(tab)) { m_Tabs.Remove(tab); } }
public void AddTab(IEditorTab tab) { if (!m_Tabs.Contains(tab)) { m_Tabs.Add(tab); } }
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; } }
public void ChangeTab(IEditorTab tab) { int index = m_Tabs.IndexOf(currentTab); ChangeTab(index); }