/// <summary> /// Returns an instance of <see cref="RequirementsBrowserViewModel"/> /// </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> /// <returns>An instance of <see cref="RequirementsBrowserViewModel"/></returns> public static RequirementsBrowserViewModel InstantiatePanelViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var stopWatch = Stopwatch.StartNew(); 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 viewModel = new RequirementsBrowserViewModel(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); Logger.Info("The Requirements Browser opened in {0}", stopWatch.Elapsed.ToString("hh':'mm':'ss'.'fff")); return(viewModel); }
/// <summary> /// Initializes a new instance of the <see cref="BasicRdlRibbonPart"/> 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 instance of <see cref="IPluginSettingsService"/> that reads and writes </param> /// <param name="favoritesService">The instance of <see cref="IDialogNavigationService"/> that</param> public BasicRdlRibbonPart(int order, IPanelNavigationService panelNavigationService, IThingDialogNavigationService thingDialogNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService, IFavoritesService favoritesService) : base(order, panelNavigationService, thingDialogNavigationService, dialogNavigationService, pluginSettingsService) { CDPMessageBus.Current.Listen <SessionEvent>().Subscribe(this.SessionChangeEventHandler); this.FavoritesService = favoritesService; }
/// <summary> /// Initializes a new instance of the <see cref="DashboardBrowserViewModel"/> class /// </summary> /// <param name="iteration"> /// The <see cref="Iteration"/> /// </param> /// <param name="session"> /// The <see cref="ISession"/> containing the given <see cref="EngineeringModel"/> /// </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 DashboardBrowserViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.Caption = $"{PanelCaption}"; this.ToolTip = $"{((EngineeringModel) this.Thing.Container).EngineeringModelSetup.Name}\n{this.Thing.IDalUri}\n{this.Session.ActivePerson.Name}"; this.CurrentModel = this.CurrentEngineeringModelSetup.Name; this.CurrentIteration = this.Thing.IterationSetup.IterationNumber; var currentDomainOfExpertise = this.QueryCurrentDomainOfExpertise(); this.DomainOfExpertise = currentDomainOfExpertise == null ? "None" : $"{currentDomainOfExpertise.Name} [{currentDomainOfExpertise.ShortName}]"; this.Widgets = new ReactiveList <UserControl>(); this.WhenAnyValue(x => x.ActualHeight, x => x.ActualWidth).Subscribe(_ => this.ResizeControls()); this.WhenAnyValue(x => x.MainOrientation).Subscribe(this.OnOrientationChange); this.ResizeControls(); }
private static IPanelViewModel MockInstantiate(Iteration it, ISession ses, IThingDialogNavigationService thingDialogService, IPanelNavigationService panelService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { var model = it.Container as EngineeringModel; return(new PanelViewModel(it, model.GetActiveParticipant(ses.ActivePerson), ses, thingDialogService, panelService, dialogNavigationService, pluginSettingsService)); }
public PanelViewModel(Iteration iteration, Participant participant, ISession session, IThingDialogNavigationService dialogNav, IPanelNavigationService panelNav, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(iteration, session, dialogNav, panelNav, dialogNavigationService, pluginSettingsService) { }
/// <summary> /// Initializes a new instance of the <see cref="NaturalLanguageBrowserViewModel"/> 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 NaturalLanguageBrowserViewModel(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 = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.NaturalLanguageRowViewModels = new DisposableReactiveList <NaturalLanguageRowViewModel>(); this.ComputeNaturalLanguageRows(); }
/// <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) { var stopWatch = Stopwatch.StartNew(); var viewModel = new PersonBrowserViewModel(session, session.RetrieveSiteDirectory(), thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService); stopWatch.Stop(); Logger.Info("The Person Browser opened in {0}", stopWatch.Elapsed.ToString("hh':'mm':'ss'.'fff")); return(viewModel); }
public BuiltInRulesRibbonPage(IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IRuleVerificationService ruleVerificationService) { this.InitializeComponent(); this.DataContext = new BuiltInRulesRibbonPageViewModel(panelNavigationService, dialogNavigationService, ruleVerificationService); }
public BasicRdlModule(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="ErrorBrowserViewModel"/> 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> public ErrorBrowserViewModel(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.Errors = new List <ErrorRowViewModel>(); this.PopulateErrors(); }
/// <summary> /// Initializes a new instance of the <see cref="BudgetViewerViewModel"/> 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="IDialogNavigationService"/></param> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public BudgetViewerViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { this.openSaveFileDialogService = ServiceLocator.Current.GetInstance <IOpenSaveFileDialogService>(); this.Caption = "Budget Viewer"; this.ToolTip = string.Format("{0}\n{1}\n{2}", ((EngineeringModel)this.Thing.Container).EngineeringModelSetup.Name, this.Thing.IDalUri, this.Session.ActivePerson.Name); this.CurrentModel = this.CurrentEngineeringModelSetup.Name; this.CurrentIteration = this.Thing.IterationSetup.IterationNumber; var currentDomainOfExpertise = this.Session.QuerySelectedDomainOfExpertise(this.Thing); this.DomainOfExpertise = currentDomainOfExpertise == null ? "None" : $"{currentDomainOfExpertise.Name} [{currentDomainOfExpertise.ShortName}]"; this.OptionOverviewViewModel = new OptionOverviewViewModel(); this.BudgetViewModels = new ReactiveList <OptionBudgetViewModel>(); this.OpenConfigCommand = ReactiveCommand.Create(); this.OpenConfigCommand.Subscribe(_ => this.ExecuteOpenConfigCommand()); var confObs = this.WhenAnyValue(x => x.BudgetConfig).Select(x => x != null); this.RefreshBudgetCommand = ReactiveCommand.Create(confObs); this.RefreshBudgetCommand.CanExecuteObservable.Subscribe(_ => this.ComputeBudgets()); this.SaveConfigCommand = ReactiveCommand.Create(confObs); this.SaveConfigCommand.Subscribe(_ => this.ExecuteSaveConfigCommand()); this.LoadConfigCommand = ReactiveCommand.Create(); this.LoadConfigCommand.Subscribe(_ => this.ExecuteLoadConfigCommand()); this.ComputeBudgets(); }
/// <summary> /// Returns an instance of the <see cref="FiniteStateBrowserRibbonViewModel"/> class /// </summary> /// <param name="iteration">The <see cref="Iteration"/> containing the information</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="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> /// <returns>An instance of <see cref="OptionBrowserViewModel"/></returns> public static FiniteStateBrowserViewModel InstantiatePanelViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { return(new FiniteStateBrowserViewModel(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService)); }
/// <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 = string.Format("{0}: {1}", PanelCaption, this.Thing.ShortName); this.ToolTip = string.Format("{0}\n{1}\n{2}", this.Thing.Name, this.Thing.IDalUri, 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 ReactiveList <IRowViewModelBase <Thing> >(); this.AddRequirementsSpecificationRow(thing); this.UpdateRequirementGroupRows(); this.UpdateRequirementRows(); this.AddSubscriptions(); this.UpdateProperties(); }
/// <summary> /// Initializes a new instance of the <see cref="RuleVerificationListBrowserViewModel"/> class. /// </summary> /// <param name="iteration"> /// The <see cref="Iteration"/> that is being represented by the view-model /// </param> /// <param name="participant"> /// The active <see cref="Participant"/>. /// </param> /// <param name="session"> /// The session. /// </param> /// <param name="thingDialogNavigationService"> /// The thing dialog navigation service. /// </param> /// <param name="panelNavigationService"> /// The panel navigation service. /// </param> /// <param name="dialogNavigationService"> /// The dialog navigation service. /// </param> public RuleVerificationListBrowserViewModel(Iteration iteration, Participant participant, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService) { if (participant == null) { throw new ArgumentNullException("participant", "The participant must not be null"); } this.Caption = $"{PanelCaption}, iteration_{this.Thing.IterationSetup.IterationNumber}"; this.ToolTip = $"{((EngineeringModel) this.Thing.Container).EngineeringModelSetup.Name}\n{this.Thing.IDalUri}\n{this.Session.ActivePerson.Name}"; this.ActiveParticipant = participant; this.UpdateRuleVericationLists(); this.AddSubscriptions(); this.UpdateProperties(); }
/// <summary> /// returns a new instance of the <see cref="ModelBrowserViewModel"/> 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> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> /// <returns>An instance of the <see cref="ModelBrowserViewModel"/> class</returns> public static IPanelViewModel InstantiatePanelViewModel(ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) { return(new ModelBrowserViewModel(session, session.RetrieveSiteDirectory(), thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginSettingsService)); }
/// <summary> /// Initializes a new instance of the <see cref="RelationshipMatrixViewModel" /> 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="IDialogNavigationService" /></param> /// <param name="pluginService">The <see cref="IPluginSettingsService" /></param> public RelationshipMatrixViewModel(Iteration iteration, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginService) : base(iteration, session, thingDialogNavigationService, panelNavigationService, dialogNavigationService, pluginService) { this.Caption = "Relationship Matrix"; this.ShowDirectionality = true; this.ShowRelatedOnly = false; this.IsBusy = false; this.ToolTip = $"{((EngineeringModel) this.Thing.Container).EngineeringModelSetup.Name}\n{this.Thing.IDalUri}\n{this.Session.ActivePerson.Name}"; this.settings = this.PluginSettingsService.Read <RelationshipMatrixPluginSettings>(); this.SavedConfigurations = new ReactiveList <SavedConfiguration> { ChangeTrackingEnabled = true }; this.ReloadSavedConfigurations(); this.SourceYConfiguration = new SourceConfigurationViewModel(session, iteration, this.UpdateRelationshipConfiguration, this.BuildRelationshipMatrix, this.settings); this.SourceXConfiguration = new SourceConfigurationViewModel(session, iteration, this.UpdateRelationshipConfiguration, this.BuildRelationshipMatrix, this.settings); this.RelationshipConfiguration = new RelationshipConfigurationViewModel(session, thingDialogNavigationService, iteration, this.BuildRelationshipMatrix, this.settings); this.Matrix = new MatrixViewModel(this.Session, this.Thing, this.settings); this.Disposables.Add(this.SourceYConfiguration); this.Disposables.Add(this.SourceXConfiguration); this.Disposables.Add(this.RelationshipConfiguration); this.Disposables.Add(this.Matrix); var model = (EngineeringModel)this.Thing.TopContainer; this.modelSetup = model.EngineeringModelSetup; this.iterationSetup = this.Thing.IterationSetup; this.CurrentIteration = this.iterationSetup.IterationNumber; this.ActiveParticipant = this.modelSetup.Participant.Single(x => x.Person == this.Session.ActivePerson); this.AddSubscriptions(); this.UpdateProperties(); }
/// <summary> /// Initializes a new instance of the <see cref="ProductTreeViewModel"/> class /// </summary> /// <param name="option">The <see cref="Option"/> of which this browser is of</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> /// <param name="pluginSettingsService"> /// The <see cref="IPluginSettingsService"/> used to read and write plugin setting files. /// </param> public ProductTreeViewModel(Option option, ISession session, IThingDialogNavigationService thingDialogNavigationService, IPanelNavigationService panelNavigationService, IDialogNavigationService dialogNavigationService, IPluginSettingsService pluginSettingsService) : base(option, 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.TopElement = new ReactiveList <ElementDefinitionRowViewModel>(); var model = (EngineeringModel)this.Thing.TopContainer; this.modelSetup = model.EngineeringModelSetup; var iteration = (Iteration)this.Thing.Container; this.iterationSetup = iteration.IterationSetup; this.ActiveParticipant = this.modelSetup.Participant.Single(x => x.Person == this.Session.ActivePerson); var iterationSubscription = CDPMessageBus.Current.Listen <ObjectChangedEvent>(iteration) .Where( objectChange => objectChange.EventKind == EventKind.Updated && objectChange.ChangedThing.RevisionNumber > this.RevisionNumber) .Select(x => x.ChangedThing as Iteration) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(this.SetTopElement); this.Disposables.Add(iterationSubscription); this.AddSubscriptions(); this.SetTopElement(iteration); this.UpdateProperties(); }
public CDP4ScriptingModule(IRegionManager regionManager, IPanelNavigationService panelNavigationService) { this.RegionManager = regionManager; this.PanelNavigationService = panelNavigationService; }