private void LayoutSerializer_LayoutSerializationCallback(object sender, LayoutSerializationCallbackEventArgs e) { var mvm = this.DataContext as MainWindowViewModel; if (e.Model.ContentId == null) { e.Cancel = true; return; } if (e.Model.ContentId.Equals(Korduene.UI.WPF.Constants.ContentIds.TOOLBOX, StringComparison.OrdinalIgnoreCase)) { var vm = new ToolBoxViewModel(); e.Content = vm; mvm.AddToolsInternal(vm); } else if (e.Model.ContentId.Equals(Korduene.UI.WPF.Constants.ContentIds.PROPERTIES, StringComparison.OrdinalIgnoreCase)) { var vm = new PropertiesViewModel(); e.Content = vm; mvm.AddToolsInternal(vm); } else if (e.Model.ContentId.Equals(Korduene.UI.WPF.Constants.ContentIds.SOLUTION_EXPLORER, StringComparison.OrdinalIgnoreCase)) { var vm = new SolutionExplorerViewModel(); e.Content = vm; mvm.AddToolsInternal(vm); } else if (e.Model.ContentId.Equals(Korduene.UI.WPF.Constants.ContentIds.OUTPUT, StringComparison.OrdinalIgnoreCase)) { var vm = new OutputViewModel(); e.Content = vm; mvm.AddToolsInternal(vm); } }
public DockingAdapterViewModel() { DockingAdapter = new ObservableCollection <Workspace>(); ToolboxViewModel toolbox = new ToolboxViewModel() { Name = "ToolboxWindow", Header = "Toolbox", State = DockState.Dock, SideInDockMode = DockSide.Left, DesiredWidthInDockedMode = 250 }; SolutionExplorerViewModel solutionexplorer = new SolutionExplorerViewModel() { Name = "SolutionExplorerWindow", Header = "Solution Explorer", State = DockState.Dock, SideInDockMode = DockSide.Right, DesiredWidthInDockedMode = 300 }; ClassViewModel classview = new ClassViewModel() { Name = "ClassViewWindow", Header = "Class View", State = DockState.Dock, TargetNameInDockedMode = "SolutionExplorerWindow", SideInDockMode = DockSide.Tabbed }; PropertiesViewModel properties = new PropertiesViewModel() { Name = "PropertiesWindow", Header = "Properties", State = DockState.Dock, TargetNameInDockedMode = "SolutionExplorerWindow", SideInDockMode = DockSide.Bottom }; ErrorListViewModel errorlist = new ErrorListViewModel() { Name = "ErrorListWindow", Header = "Error List", State = DockState.Dock, SideInDockMode = DockSide.Bottom, DesiredHeightInDockedMode = 200 }; FindSymbolResultsViewModel findsymbolresults = new FindSymbolResultsViewModel() { Name = "FindSymbolResultsWindow", Header = "Find Symbol Results", State = DockState.Dock, TargetNameInDockedMode = "ErrorListWindow", SideInDockMode = DockSide.Tabbed }; OutputViewModel output = new OutputViewModel() { Name = "OutputWindow", Header = "Output", State = DockState.Dock, TargetNameInDockedMode = "ErrorListWindow", SideInDockMode = DockSide.Tabbed }; FindResultsViewModel findresults = new FindResultsViewModel() { Name = "FindResults1Window", Header = "Find Results 1", State = DockState.Dock, TargetNameInDockedMode = "ErrorListWindow", SideInDockMode = DockSide.Tabbed }; MainWindowXAMLViewModel mainwindowxaml = new MainWindowXAMLViewModel() { Header = "MainWindow.xaml", State = DockState.Document }; MainWindowCSViewModel mainwindowcs = new MainWindowCSViewModel() { Header = "MainWindow.xaml.cs", State = DockState.Document }; DockingAdapter.Add(toolbox); DockingAdapter.Add(solutionexplorer); DockingAdapter.Add(classview); DockingAdapter.Add(properties); DockingAdapter.Add(errorlist); DockingAdapter.Add(findsymbolresults); DockingAdapter.Add(output); DockingAdapter.Add(findresults); DockingAdapter.Add(mainwindowxaml); DockingAdapter.Add(mainwindowcs); }
public SolutionExplorer(SolutionExplorerViewModel solutionExplorerViewModel) { _solutionExplorerViewModel = solutionExplorerViewModel; }
public IEnumerable<Project> ShowProjectSelectorWindow( string instructionText, IPackage package, Predicate<Project> checkedStateSelector, Predicate<Project> enabledStateSelector) { if (!_uiDispatcher.CheckAccess()) { // Use Invoke() here to block the worker thread object result = _uiDispatcher.Invoke( new Func<string, IPackage, Predicate<Project>, Predicate<Project>, IEnumerable<Project>>(ShowProjectSelectorWindow), instructionText, package, checkedStateSelector, enabledStateSelector); return (IEnumerable<Project>)result; } var viewModel = new SolutionExplorerViewModel( ServiceLocator.GetInstance<DTE>().Solution, package, checkedStateSelector, enabledStateSelector); // only show the solution explorer window if there is at least one compatible project if (viewModel.HasProjects) { var window = new SolutionExplorer() { DataContext = viewModel }; window.InstructionText.Text = instructionText; bool? dialogResult = null; using (NuGetEventTrigger.Instance.TriggerEventBeginEnd( NuGetEvent.SelectProjectDialogBegin, NuGetEvent.SelectProjectDialogEnd)) { dialogResult = window.ShowModal(); } if (dialogResult ?? false) { return viewModel.GetSelectedProjects(); } else { return null; } } else { IEnumerable<FrameworkName> supportedFrameworks = package.GetSupportedFrameworks() .Where(name => name != null && name != VersionUtility.UnsupportedFrameworkName); string errorMessage = supportedFrameworks.Any() ? String.Format( CultureInfo.CurrentCulture, Resources.Dialog_NoCompatibleProject, package.Id, Environment.NewLine + String.Join(Environment.NewLine, supportedFrameworks)) : String.Format( CultureInfo.CurrentCulture, Resources.Dialog_NoCompatibleProjectNoFrameworkNames, package.Id); // if there is no project compatible with the selected package, show an error message and return MessageHelper.ShowWarningMessage(errorMessage, title: null); return null; } }
public IEnumerable <Project> ShowProjectSelectorWindow( string instructionText, IPackage package, Predicate <Project> checkedStateSelector, Predicate <Project> enabledStateSelector) { if (!_uiDispatcher.CheckAccess()) { // Use Invoke() here to block the worker thread object result = _uiDispatcher.Invoke( new Func <string, IPackage, Predicate <Project>, Predicate <Project>, IEnumerable <Project> >(ShowProjectSelectorWindow), instructionText, package, checkedStateSelector, enabledStateSelector); return((IEnumerable <Project>)result); } var viewModel = new SolutionExplorerViewModel( ServiceLocator.GetInstance <DTE>().Solution, package, checkedStateSelector, enabledStateSelector); // only show the solution explorer window if there is at least one compatible project if (viewModel.HasProjects) { var window = new SolutionExplorer() { DataContext = viewModel }; window.InstructionText.Text = instructionText; bool?dialogResult = null; using (NuGetEventTrigger.Instance.TriggerEventBeginEnd( NuGetEvent.SelectProjectDialogBegin, NuGetEvent.SelectProjectDialogEnd)) { dialogResult = window.ShowModal(); } if (dialogResult ?? false) { return(viewModel.GetSelectedProjects()); } else { return(null); } } else { IEnumerable <FrameworkName> supportedFrameworks = package.GetSupportedFrameworks() .Where(name => name != null && name != VersionUtility.UnsupportedFrameworkName); string errorMessage = supportedFrameworks.Any() ? String.Format( CultureInfo.CurrentCulture, Resources.Dialog_NoCompatibleProject, package.Id, Environment.NewLine + String.Join(Environment.NewLine, supportedFrameworks)) : String.Format( CultureInfo.CurrentCulture, Resources.Dialog_NoCompatibleProjectNoFrameworkNames, package.Id); // if there is no project compatible with the selected package, show an error message and return MessageHelper.ShowWarningMessage(errorMessage, title: null); return(null); } }
public SolutionExplorerView(SolutionExplorerViewModel viewModel) { this.DataContext = viewModel; InitializeComponent(); }
public SolutionExplorer() { InitializeComponent(); solutionExplorerViewModel = new SolutionExplorerViewModel(); DataContext = solutionExplorerViewModel; }