/// <summary> /// Initializes a new instance of the <see cref="ReqIfRibbonViewModel"/> class /// </summary> public ReqIfRibbonViewModel() { this.DialogNavigationService = ServiceLocator.Current.GetInstance <IDialogNavigationService>(); this.ThingDialogNavigationService = ServiceLocator.Current.GetInstance <IThingDialogNavigationService>(); this.PluginSettingsService = ServiceLocator.Current.GetInstance <IPluginSettingsService>(); this.OpenSaveDialogService = ServiceLocator.Current.GetInstance <IOpenSaveFileDialogService>(); this.Sessions = new ReactiveList <ISession>(); this.Iterations = new ReactiveList <Iteration>(); this.Iterations.ChangeTrackingEnabled = true; CDPMessageBus.Current.Listen <SessionEvent>().Subscribe(this.SessionChangeEventHandler); CDPMessageBus.Current.Listen <ObjectChangedEvent>(typeof(Iteration)) .Subscribe(this.IterationEventHandler); this.Iterations.CountChanged.Subscribe(x => { this.CanImportExport = (x > 0); }); var isImportExportEnable = this.WhenAnyValue(x => x.CanImportExport); this.ExportCommand = ReactiveCommand.Create(isImportExportEnable); this.ExportCommand.Subscribe(x => this.ExecuteExportCommand()); this.ImportCommand = ReactiveCommand.Create(isImportExportEnable); this.ImportCommand.Subscribe(x => this.ExecuteImportCommand()); }
/// <summary> /// Initializes a new instance of the <see cref="ManageConfigurationsDialogViewModel"/> class. /// </summary> /// <param name="pluginSettingService">An instance of <see cref="IPluginSettingsService"/>.</param> public ManageConfigurationsDialogViewModel(IPluginSettingsService pluginSettingService) { // reset the loading indicator this.IsBusy = false; this.pluginSettingService = pluginSettingService; var settings = pluginSettingService.Read <TPluginSettings>(); this.SavedConfigurations = new ReactiveList <IPluginSavedConfiguration>(settings.SavedConfigurations) { ChangeTrackingEnabled = true }; this.OkCommand = ReactiveCommand.CreateAsyncTask(x => this.ExecuteOk(), RxApp.MainThreadScheduler); this.OkCommand.ThrownExceptions.Select(ex => ex).Subscribe(x => { this.ErrorMessage = x.Message; }); this.CancelCommand = ReactiveCommand.Create(); this.CancelCommand.Subscribe(_ => this.ExecuteCancel()); var canDelete = this.WhenAny(vm => vm.SelectedConfiguration, sc => sc.Value != null); this.DeleteSelectedCommand = ReactiveCommand.Create(canDelete); this.DeleteSelectedCommand.Subscribe(_ => this.ExecuteDeleteSelected()); }
/// <summary> /// Initializes a new instance of the <see cref="ReqIfExportDialogViewModel"/> class /// </summary> /// <param name="sessions">The list of <see cref="ISession"/> available</param> /// <param name="iterations">The list of <see cref="Iteration"/> available</param> /// <param name="fileDialogService">The <see cref="IOpenSaveFileDialogService"/></param> /// <param name="pluginSettingsService">The <see cref="IPluginSettingsService"/></param> /// <param name="serializer"></param> public ReqIfImportDialogViewModel(IEnumerable <ISession> sessions, IEnumerable <Iteration> iterations, IOpenSaveFileDialogService fileDialogService, IPluginSettingsService pluginSettingsService, IReqIFDeSerializer serializer) { this.Sessions = sessions?.ToList() ?? throw new ArgumentNullException(nameof(sessions)); this.fileDialogService = fileDialogService ?? throw new ArgumentNullException(nameof(fileDialogService)); this.pluginSettingsService = pluginSettingsService; this.serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); this.Iterations = new ReactiveList <ReqIfExportIterationRowViewModel>(); foreach (var iteration in iterations ?? throw new ArgumentNullException(nameof(iterations))) { this.Iterations.Add(new ReqIfExportIterationRowViewModel(iteration)); } this.AvailableMappingConfiguration = new ReactiveList <ImportMappingConfiguration>(); this.ReloadSavedConfigurations(); this.WhenAnyValue(vm => vm.Path).Subscribe(_ => this.UpdateCanExecuteImport()); this.WhenAnyValue(vm => vm.SelectedIteration).Subscribe(_ => this.UpdateCanExecuteImport()); var canOk = this.WhenAnyValue(vm => vm.CanExecuteImport); this.OkCommand = ReactiveCommand.CreateAsyncTask(canOk, async _ => await this.ExecuteOk()); this.BrowseCommand = ReactiveCommand.Create(); this.BrowseCommand.Subscribe(_ => this.ExecuteBrowse()); this.CancelCommand = ReactiveCommand.Create(); this.CancelCommand.Subscribe(_ => this.ExecuteCancel()); }
/// <summary> /// Returns an instance of <see cref="ReportDesignerRibbonViewModel"/> /// </summary> /// <param name="iteration">The associated <see cref="Iteration"/></param> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> /// <returns>An instance of <see cref="ReportDesignerRibbonViewModel"/></returns> public static ReportDesignerViewModel InstantiatePanelViewModel( Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { if (!(iteration.Container is EngineeringModel model)) { throw new InvalidOperationException("The container of an Iteration cannot be anything else than an Engineering Model."); } var participant = model.GetActiveParticipant(session.ActivePerson); if (participant == null) { throw new InvalidOperationException("The Participant in an engineering model cannot be null"); } var stopWatch = Stopwatch.StartNew(); var viewModel = new ReportDesignerViewModel(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); Logger.Info("The Report Designer opened in {0}", stopWatch.Elapsed.ToString("hh':'mm':'ss'.'fff")); return(viewModel); }
/// <summary> /// Initializes a new instance of the <see cref="RibbonMenuItemViewModelBase"/> class /// </summary> /// <param name="menuItemContent">The content of this item to display</param> /// <param name="session">The <see cref="ISession"/></param> protected RibbonMenuItemViewModelBase(string menuItemContent, ISession session) { this.Session = session; this.staticMenuItemContent = menuItemContent; this.menuItemContent = this.staticMenuItemContent; this.Disposables = new List <IDisposable>(); this.PanelNavigationServive = ServiceLocator.Current.GetInstance <IPanelNavigationService>(); this.PermissionService = this.Session.PermissionService; this.ThingDialogNavigationService = ServiceLocator.Current.GetInstance <IThingDialogNavigationService>(); this.DialogNavigationService = ServiceLocator.Current.GetInstance <IDialogNavigationService>(); this.PluginSettingsService = ServiceLocator.Current.GetInstance <IPluginSettingsService>(); this.ShowPanelCommand = ReactiveCommand.Create(); this.ShowPanelCommand.Subscribe(x => this.ExecuteShowPanel()); this.ClosePanelsCommand = ReactiveCommand.Create(); this.ClosePanelsCommand.Subscribe(x => this.ExecuteClosePanels()); CDPMessageBus.Current.Listen <NavigationPanelEvent>() .Where(x => this.PanelViewModels.Contains(x.ViewModel) && x.PanelStatus == PanelStatus.Closed) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(x => this.HandleClosedPanel(x.ViewModel)); this.PanelViewModels.CountChanged.Subscribe(this.PanelViewModelsCountChanged); }
public ReferenceDataMapperModule(IFluentRibbonManager ribbonManager, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { this.RibbonManager = ribbonManager; this.PanelNavigationService = panelNavigationService; this.ThingDialogNavigationService = thingDialogNavigationService; this.DialogNavigationService = dialogNavigationService; this.PluginSettingsService = pluginSettingsService; }
public GraphExportModule(IFluentRibbonManager ribbonManager, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IThingDialogNavigationService thingDialogNavigationService, IPluginSettingsService pluginSettingsService) { this.RibbonManager = ribbonManager; this.PanelNavigationService = panelNavigationService; this.DialogNavigationService = dialogNavigationService; this.ThingDialogNavigationService = thingDialogNavigationService; this.PluginSettingsService = pluginSettingsService; }
public SiteDirectoryModule(IRegionManager regionManager, IFluentRibbonManager ribbonManager, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { this.RegionManager = regionManager; this.RibbonManager = ribbonManager; this.PanelNavigationService = panelNavigationService; this.ThingDialogNavigationService = thingDialogNavigationService; this.DialogNavigationService = dialogNavigationService; this.PluginSettingsService = pluginSettingsService; }
/// <summary> /// Initializes a new instance of the <see cref="RequirementSpecificationMappingDialogViewModel"/> class. /// </summary> /// <param name="thingFactory">The <see cref="ThingFactory"/></param> /// <param name="iteration">The iteration</param> /// <param name="session">The session</param> /// <param name="thingDialogNavigationService">The thing Dialog Navigation Service</param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="lang">The current langguage code</param> /// <param name="importMappingConfiguration">The <see cref="ImportMappingConfiguration"/></param> public RequirementSpecificationMappingDialogViewModel(ThingFactory thingFactory, Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, string lang, ImportMappingConfiguration importMappingConfiguration) : base(iteration, session, thingDialogNavigationService, lang) { this.PreviewRows = new DisposableReactiveList <IRowViewModelBase <Thing> >(); this.thingFactory = thingFactory; this.dialogNavigationService = dialogNavigationService; this.pluginSettingsService = ServiceLocator.Current.GetInstance <IPluginSettingsService>(); this.importMappingConfiguration = importMappingConfiguration; this.PopulateRows(); this.InitializeCommands(); }
/// <summary> /// Initializes a new instance of the <see cref="DomainOfExpertiseBrowserViewModel"/> class /// </summary> /// <param name="session">The <see cref="ISession"/> containing the given <see cref="SiteDirectory"/></param> /// <param name="siteDir">The <see cref="SiteDirectory"/> containing the data of this browser</param> /// <param name="thingDialogNavigationService"> /// The <see cref="IThingDialogNavigationService"/> that allows to navigate to <see cref="Thing"/> dialog view models /// </param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/> /// The <see cref="IPanelNavigationService"/> that allows to navigate to Panels /// </param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public DomainOfExpertiseBrowserViewModel(ISession session, SiteDirectory siteDir, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(siteDir, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = string.Format("{0}, {1}", PanelCaption, this.Thing.Name); this.ToolTip = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.DomainOfExpertises = new DisposableReactiveList<DomainOfExpertiseRowViewModel>(); this.ComputeDomains(); }
/// <summary> /// Initializes a new instance of the <see cref="BrowserViewModelBase{T}"/> class /// </summary> /// <param name="thing"> /// The <see cref="Thing"/> that contains the data to browse. /// </param> /// <param name="session"> /// The <see cref="ISession"/> that manages the current view-model. /// </param> /// <param name="thingDialogNavigationService"> /// The <see cref="IThingDialogNavigationService"/> used to navigate to <see cref="IThingDialogViewModel"/>s of a specific <see cref="Thing"/> /// </param> /// <param name="panelNavigationService"> /// The <see cref="IPanelNavigationService"/> used to navigate to a Panel /// </param> /// <param name="dialogNavigationService"> /// The <see cref="IDialogNavigationService"/> used to navigate to a dialog view-model /// </param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> protected BrowserViewModelBase(T thing, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(thing, session) { this.Identifier = Guid.NewGuid(); this.thingDialogNavigationService = thingDialogNavigationService; this.panelNavigationService = panelNavigationService; this.dialogNavigationService = dialogNavigationService; this.pluginSettingsService = pluginSettingsService; var defaultThingClassKind = this.GetDefaultThingClassKind(); this.SelectedThingClassKindString = this.camelCaseToSpaceConverter.Convert(defaultThingClassKind, null, null, null).ToString(); this.Initialize(); this.InitializeCommands(); this.ContextMenu = new ReactiveList <ContextMenuItemViewModel>(); this.CreateContextMenu = new ReactiveList <ContextMenuItemViewModel>(); this.SelectedRows = new ReactiveList <IRowViewModelBase <Thing> >(); this.WhenAnyValue(vm => vm.SelectedThing).Subscribe(_ => { this.OnSelectedThingChanged(); this.ComputePermission(); this.PopulateContextMenu(); this.PopulateCreateContextMenu(); }); var activePerson = this.Session.ActivePerson; this.Person = (activePerson == null) ? string.Empty : this.Session.ActivePerson.Name; if (activePerson != null) { var personSubscription = CDPMessageBus.Current.Listen <ObjectChangedEvent>(this.Session.ActivePerson) .Where( objectChange => objectChange.EventKind == EventKind.Updated && objectChange.ChangedThing.RevisionNumber > this.RevisionNumber) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe( _ => { this.Person = this.Session.ActivePerson.Name; }); this.Disposables.Add(personSubscription); } }
/// <summary> /// Initializes a new instance of the <see cref="TestBrowserViewModel"/> class. /// </summary> /// <param name="session">the associated <see cref="ISession"/></param> /// <param name="siteDir">The unique <see cref="SiteDirectory"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> internal TestBrowserViewModel( ISession session, SiteDirectory siteDir, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(siteDir, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.FileTypes = new ReactiveList <FileTypeRowViewModel>(); var fileType = new FileType(); var rowViewModel = new FileTypeRowViewModel(fileType, session, this); this.FileTypes.Add(rowViewModel); }
/// <summary> /// Initializes a new instance of the <see cref="SavedConfigurationDialogViewModel"/> class. /// </summary> /// <param name="pluginSettingService">An instance of <see cref="IPluginSettingsService"/>.</param> /// <param name="configuration">The configuration to be saved.</param> /// <param name="converters">The <see cref="JsonConverter"/></param> public SavedConfigurationDialogViewModel(IPluginSettingsService pluginSettingService, IPluginSavedConfiguration configuration, params JsonConverter[] converters) { // reset the loading indicator this.IsBusy = false; this.jsonConverters = converters; this.pluginSettingService = pluginSettingService; this.savedConfiguration = configuration; var canOk = this.WhenAnyValue( vm => vm.Name, vm => vm.Description, (n, d) => !string.IsNullOrEmpty(n) && !string.IsNullOrEmpty(d)); this.OkCommand = ReactiveCommand.CreateAsyncTask(canOk, x => this.ExecuteOk(), RxApp.MainThreadScheduler); this.OkCommand.ThrownExceptions.Select(ex => ex).Subscribe(x => { this.ErrorMessage = x.Message; }); this.CancelCommand = ReactiveCommand.Create(); this.CancelCommand.Subscribe(_ => this.ExecuteCancel()); }
/// <summary> /// Initializes a new instance of the <see cref="ReferenceSourceBrowserViewModel"/> class. /// </summary> /// <param name="session">the associated <see cref="ISession"/></param> /// <param name="siteDir">The unique <see cref="SiteDirectory"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public ReferenceSourceBrowserViewModel(ISession session, SiteDirectory siteDir, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(siteDir, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = $"{PanelCaption}, {this.Thing.Name}"; this.ToolTip = $"{this.Thing.Name}\n{this.Thing.IDalUri}\n{this.Session.ActivePerson.Name}"; this.ReferenceSources.ChangeTrackingEnabled = true; this.AddSubscriptions(); }
/// <summary> /// Returns an instance of <see cref="ElementDefinitionsBrowserViewModel"/> /// </summary> /// <param name="iteration"> /// The associated <see cref="Iteration"/> /// </param> /// <param name="session"> /// The <see cref="ISession"/> /// </param> /// <param name="thingDialogNavigationService"> /// The <see cref="IThingDialogNavigationService"/> /// </param> /// <param name="panelNavigationService"> /// The <see cref="IPanelNavigationService"/> /// </param> /// <param name="dialogNavigationService"> /// The dialog Navigation Service. /// </param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> /// <returns> /// An instance of <see cref="RuleVerificationListViewModel"/> /// </returns> public static RuleVerificationListBrowserViewModel InstantiatePanelViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var model = iteration.Container as EngineeringModel; if (model == null) { throw new InvalidOperationException("The container of an Iteration cannot be anything else than an Engineering Model."); } var participant = model.GetActiveParticipant(session.ActivePerson); if (participant == null) { throw new InvalidOperationException("The Participant in an engineering model cannot be null"); } return(new RuleVerificationListBrowserViewModel(iteration, participant, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService)); }
/// <summary> /// Initializes a new instance of the <see cref="TeamCompositionBrowserViewModel"/> class /// </summary> /// <param name="thing"> /// The thing. /// </param> /// <param name="session"> /// The <see cref="ISession"/> containing the given <see cref="SiteDirectory"/> /// </param> /// <param name="thingDialogNavigationService"> /// The <see cref="IThingDialogNavigationService"/> that allows to navigate to <see cref="Thing"/> dialog view models /// </param> /// <param name="panelNavigationService"> /// The <see cref="IPanelNavigationService"/> /// The <see cref="IPanelNavigationService"/> that allows to navigate to Panels /// </param> /// <param name="dialogNavigationService"> /// The <see cref="IDialogNavigationService"/> /// </param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public TeamCompositionBrowserViewModel(EngineeringModelSetup thing, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(thing, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = string.Format("{0}, {1}", PanelCaption, this.Thing.Name); this.ToolTip = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.participants.ChangeTrackingEnabled = true; }
/// <summary> /// Initializes a new instance of the <see cref="ParameterSheetGeneratorRibbonPart"/> class. /// </summary> /// <param name="order"> /// The order in which the ribbon part is to be presented on the Office Ribbon /// </param> /// <param name="panelNavigationService"> /// The instance of <see cref="IPanelNavigationService"/> that orchestrates navigation of <see cref="IPanelView"/> /// </param> /// <param name="thingDialogNavigationService"> /// The instance of <see cref="IThingDialogNavigationService"/> that orchestrates navigation of <see cref="IThingDialogView"/> /// </param> /// <param name="dialogNavigationService"> /// The instance of <see cref="IDialogNavigationService"/> that orchestrates navigation to dialogs /// </param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> /// <param name="officeApplicationWrapper"> /// The instance of <see cref="IOfficeApplicationWrapper"/> that provides access to the loaded Office application. /// </param> public ParameterSheetGeneratorRibbonPart(int order, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService, IOfficeApplicationWrapper officeApplicationWrapper) : base(order, panelNavigationService, thingDialogNavigationService, dialogNavigationService, pluginSettingsService) { this.ExcelQuery = new ExcelQuery(); this.officeApplicationWrapper = officeApplicationWrapper; this.Iterations = new List <Iteration>(); CDPMessageBus.Current.Listen <SessionEvent>().Subscribe(this.SessionChangeEventHandler); CDPMessageBus.Current.Listen <ObjectChangedEvent>(typeof(Iteration)) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(this.IterationChangeEventHandler); }
/// <summary> /// returns a new instance of the <see cref="GlossaryBrowserViewModel"/> class /// </summary> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <returns>An instance of the <see cref="GlossaryBrowserViewModel"/> class</returns> public static IPanelViewModel InstantiatePanelViewModel(ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var stopWatch = Stopwatch.StartNew(); var viewModel = new GlossaryBrowserViewModel(session, session.RetrieveSiteDirectory(), thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); Logger.Info("The GlossaryBrowserViewModel opened in {0} [ms]", stopWatch.Elapsed); return(viewModel); }
public BasicRdlModule(IRegionManager regionManager, IFluentRibbonManager ribbonManager, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService, IFavoritesService favoritesService) { this.RegionManager = regionManager; this.RibbonManager = ribbonManager; this.PanelNavigationService = panelNavigationService; this.ThingDialogNavigationService = thingDialogNavigationService; this.DialogNavigationService = dialogNavigationService; this.PluginSettingsService = pluginSettingsService; this.FavoritesService = favoritesService; }
/// <summary> /// Initializes a new instance of the <see cref="ModelBrowserViewModel"/> class /// </summary> /// <param name="session">The <see cref="ISession"/> that the model browser is connected to</param> /// <param name="siteDir">The <see cref="SiteDirectory"/> containing the data</param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public ModelBrowserViewModel(ISession session, SiteDirectory siteDir, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(siteDir, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = string.Format("{0}, {1}", PanelCaption, this.Thing.Name); this.ToolTip = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); }
/// <summary> /// Returns an instance of <see cref="ElementDefinitionsBrowserViewModel"/> /// </summary> /// <param name="iteration">The associated <see cref="Iteration"/></param> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <returns>An instance of <see cref="ElementDefinitionsBrowserViewModel"/></returns> public static ElementDefinitionsBrowserViewModel InstantiatePanelViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var stopWatch = Stopwatch.StartNew(); var viewModel = new ElementDefinitionsBrowserViewModel(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); logger.Info("Open ElementDefinitionsBrowserViewModel took {0}", stopWatch.Elapsed); return(viewModel); }
/// <summary> /// Initializes a new instance of the <see cref="ParameterTypesBrowserViewModel"/> class. /// </summary> /// <param name="session">The associated session</param> /// <param name="siteDir">The unique <see cref="SiteDirectory"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/> that is used to navigate to a dialog of a specific <see cref="Thing"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/> that is used to navigate to a panel</param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/> that is used to navigate to a panel</param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public ParameterTypesBrowserViewModel(ISession session, SiteDirectory siteDir, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(siteDir, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = string.Format("{0}, {1}", PanelCaption, this.Thing.Name); this.ToolTip = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.parameterTypes.ChangeTrackingEnabled = true; this.AddSubscriptions(); }
/// <summary> /// Initializes a new instance of the <see cref="RequirementsSpecificationEditorViewModel"/> class /// </summary> /// <param name="thing">The <see cref="RequirementsSpecification"/> that is represented by the current view-model</param> /// <param name="session">The session</param> /// <param name="thingDialogNavigationService">the <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">the <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> public RequirementsSpecificationEditorViewModel(RequirementsSpecification thing, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(thing, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = $"{PanelCaption}: {this.Thing.ShortName}"; this.ToolTip = $"{this.Thing.Name}\n{this.Thing.IDalUri}\n{this.Session.ActivePerson.Name}"; var model = (EngineeringModel)this.Thing.TopContainer; this.modelSetup = model.EngineeringModelSetup; var iteration = (Iteration)thing.Container; this.iterationSetup = iteration.IterationSetup; this.ContainedRows = new DisposableReactiveList <IRowViewModelBase <Thing> >(); this.AddRequirementsSpecificationRow(thing); this.UpdateRequirementGroupRows(); this.UpdateRequirementRows(); this.AddSubscriptions(); this.UpdateProperties(); }
/// <summary> /// returns a new instance of the <see cref="PersonBrowserViewModel"/> class /// </summary> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <returns>An instance of the <see cref="PersonBrowserViewModel"/> class</returns> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public static IPanelViewModel InstantiatePanelViewModel(ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { return(new PersonBrowserViewModel(session, session.RetrieveSiteDirectory(), thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService)); }
/// <summary> /// Initializes a new instance of the <see cref="AddinRibbonPart"/> class. /// </summary> /// <param name="order"> /// The order in which the ribbon part is to be presented on the Office Ribbon /// </param> /// <param name="panelNavigationService"> /// An instance of <see cref="IPanelNavigationService"/> that orchestrates navigation of <see cref="IPanelView"/> /// </param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/> that handles navigation to dialogs</param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public AddinRibbonPart(int order, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(order, panelNavigationService, thingDialogNavigationService, dialogNavigationService, pluginSettingsService) { CDPMessageBus.Current.Listen <SessionEvent>().Subscribe(this.SessionChangeEventHandler); }
/// <summary> /// returns a new instance of the <see cref="CategoryBrowserViewModel"/> class /// </summary> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogNavigationService"/></param> /// <returns>An instance of the <see cref="CategoryBrowserViewModel"/> class</returns> public static IPanelViewModel InstantiatePanelViewModel(ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var stopWatch = Stopwatch.StartNew(); var viewModel = new CategoryBrowserViewModel(session, session.RetrieveSiteDirectory(), thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); Logger.Info("The Category Browser opened in {0}", stopWatch.Elapsed.ToString("hh':'mm':'ss'.'fff")); return(viewModel); }
/// <summary> /// Returns an instance of <see cref="ElementDefinitionsBrowserViewModel"/> /// </summary> /// <param name="iteration">The associated <see cref="Iteration"/></param> /// <param name="session">The <see cref="ISession"/></param> /// <param name="thingDialogNavigationService">The <see cref="IThingDialogNavigationService"/></param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <returns>An instance of <see cref="ElementDefinitionsBrowserViewModel"/></returns> public static ElementDefinitionsBrowserViewModel InstantiatePanelViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var stopWatch = Stopwatch.StartNew(); var parameterSubscriptionBatchService = ServiceLocator.Current.GetInstance <IParameterSubscriptionBatchService>(); var changeOwnershipBatchService = ServiceLocator.Current.GetInstance <IChangeOwnershipBatchService>(); var viewModel = new ElementDefinitionsBrowserViewModel(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService, parameterSubscriptionBatchService, changeOwnershipBatchService); stopWatch.Stop(); Logger.Info("The Element Definitions Browser opened in {0}", stopWatch.Elapsed.ToString("hh':'mm':'ss'.'fff")); return(viewModel); }
public RequirementsModule(IFluentRibbonManager ribbonManager, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService, IOfficeApplicationWrapper officeApplicationWrapper) { this.RibbonManager = ribbonManager; this.PanelNavigationService = panelNavigationService; this.ThingDialogNavigationService = thingDialogNavigationService; this.DialogNavigationService = dialogNavigationService; this.PluginSettingsService = pluginSettingsService; this.OfficeApplicationWrapper = officeApplicationWrapper; }
/// <summary> /// Initializes a new instance of the <see cref="ElementDefinitionsBrowserViewModel"/> class /// </summary> /// <param name="iteration">The associated <see cref="Iteration"/></param> /// <param name="session">The session</param> /// <param name="thingDialogNavigationService">The thing Dialog Navigation Service</param> /// <param name="panelNavigationService">The <see cref="IPanelNavigationService"/></param> /// <param name="dialogNavigationService">The <see cref="IDialogService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public ElementDefinitionsBrowserViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = "Element Definitions"; this.ToolTip = string.Format("{0}\n{1}\n{2}", ((EngineeringModel)this.Thing.Container).EngineeringModelSetup.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.ElementDefinitionRowViewModels = new DisposableReactiveList <IRowViewModelBase <Thing> >(); this.UpdateElementDefinition(); this.AddSubscriptions(); this.UpdateProperties(); }
internal OptionBrowserTestClass(Option op, ISession session, IThingDialogNavigationService dialogNav, IPanelNavigationService panelNav, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(op, session, dialogNav, panelNav, dialogNavigationService, pluginSettingsService) { this.CreateCommand = ReactiveCommand.Create(); this.CreateCommand.Subscribe(_ => this.ExecuteCreateCommand <Person>(op)); }