protected RendererBaseToolWindow(BaseToolWindow copy) : base(copy) { CreateAndRegisterNewRenderer(); RegisterMessages(); }
internal void SearchContent(BaseToolWindow toolWindow) { var availableControls = WndManager.HostedControls.All; foreach (var hostedControl in availableControls) { var window = _package.FindToolWindow(typeof(BaseToolWindow), Math.Abs(hostedControl.GetType().ToString().GetHashCode()), false); if (window == toolWindow) { toolWindow.SetContent(hostedControl); return; } } }
private Task InstantiateNewToolWindow(object parameter) { ToolWindowFactoryInfo factoryInfo = (ToolWindowFactoryInfo)parameter; BaseToolWindow toolWindow = ConstructToolWindow(factoryInfo); IDockable toolWindowDock = null; if (factoryInfo.ToolWindowAttribute.ToolWindowType == ToolWindowType.Document) { toolWindowDock = new DocumentDock() { Proportion = Double.NaN, ActiveDockable = toolWindow, VisibleDockables = CreateList <IDockable>(toolWindow) }; } else { toolWindowDock = new ToolDock() { Proportion = Double.NaN, ActiveDockable = toolWindow, VisibleDockables = CreateList <IDockable>(toolWindow) }; } toolWindowDock.Id = factoryInfo.ToolWindowAttribute.DisplayName; toolWindowDock.Title = factoryInfo.ToolWindowAttribute.DisplayName; var window = CreateWindowFrom(toolWindowDock); window.Owner = _rootDock; window.Factory = this; // REEEEEEEEEEE why is there no f*****g documentation for this f*****g library? AddWindow(_rootDock, window); // DO NOT set this boolean to true. Don't do it. Trust me. window.Present(false); return(Task.CompletedTask); }
private BaseToolWindow ConstructToolWindow(ToolWindowFactoryInfo factoryInfo) { if (factoryInfo.ToolWindowAttribute.ShareViewModelInstance) { if (factoryInfo.Instances.Count == 0) { factoryInfo.Instances.Add(Activator.CreateInstance(factoryInfo.Type, GetConstructorArguments(factoryInfo.Type)) as BaseToolWindow); } return(factoryInfo.Instances[0]); } else { BaseToolWindow toolWindow = Activator.CreateInstance(factoryInfo.Type, GetConstructorArguments(factoryInfo.Type)) as BaseToolWindow; factoryInfo.Instances.Add(toolWindow); return(toolWindow); } }
public ExampleDocumentViewModel(BaseToolWindow copy) : base(copy) { CreateCommands(); }