private void RunStartup(object sender) { if (_isStartupInitiated) { return; } _isStartupInitiated = true; //TODO assert this stuff, provide a fall back var senderDependencyObject = sender as DependencyObject; var mainWindow = Window.GetWindow(senderDependencyObject) as MainWindow; var rootTabControl = mainWindow.InitialTabablzControl; LayoutStructure layoutStructure; if (_initialLayoutStructureProvider.TryTake(out layoutStructure)) { RestoreLayout(rootTabControl, layoutStructure); } if (TabablzControl.GetLoadedInstances().SelectMany(tc => tc.Items.OfType <object>()).Any()) { return; } var tabContentLifetimeHost = _featureRegistry.Default.CreateTabContent(); var tabContentContainer = new TabItemContainer(Guid.NewGuid(), _featureRegistry.Default.FeatureId, tabContentLifetimeHost, _featureRegistry.Default); rootTabControl.AddToSource(tabContentContainer); TabablzControl.SelectItem(tabContentContainer); //TODO sort out this nasty cast ((QueryDeveloperViewModel)tabContentContainer.ViewModel).EditConnectionCommand.Execute(rootTabControl); }
private void Open <TFeatureFactory>() where TFeatureFactory : IFeatureFactory { var featureFactory = _featureRegistry.Get <TFeatureFactory>(); var tabContentLifetimeHost = featureFactory.CreateTabContent(); var tabItemContainer = new TabItemContainer(Guid.NewGuid(), featureFactory.FeatureId, tabContentLifetimeHost, featureFactory); TabablzControl.GetLoadedInstances().First(Layout.GetIsTopLeftItem).AddToSource(tabItemContainer); TabablzControl.SelectItem(tabItemContainer); IsLeftDrawerOpen = false; }
internal void AddTabablzData(string header0, IEnumerable <TabablzControl> tctrl, TabContent tc1) { TabablzControl lastTabablzControl = tctrl.Last(); // adds a new tab after the last right tab IEnumerable <DragablzItem> orderedDragablzItem = lastTabablzControl.GetOrderedHeaders(); DragablzItem lastTab = orderedDragablzItem.Last(); TabablzControl.AddItem(tc1, lastTab.DataContext, AddLocationHint.After); TabablzControl.SelectItem(tc1); }
internal void AddTabablzData(string header0, IEnumerable <TabablzControl> tctrl, TabContent tc1) { TabablzControl lastTabablzControl = tctrl.Last(); // dodaje novi tab iza zadnjeg tab-a koji se vidi IEnumerable <DragablzItem> orderedDragablzItem = lastTabablzControl.GetOrderedHeaders(); DragablzItem lastTab = orderedDragablzItem.Last(); TabablzControl.AddItem(tc1, lastTab.DataContext, AddLocationHint.After); TabablzControl.SelectItem(tc1); }