Beispiel #1
0
        /// <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());
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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;
 }
Beispiel #8
0
 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;
 }
Beispiel #9
0
        /// <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();
        }
Beispiel #11
0
        /// <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);
            }
        }
Beispiel #12
0
            /// <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();
        }
Beispiel #15
0
        /// <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));
        }
Beispiel #16
0
        /// <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);
        }
Beispiel #18
0
        /// <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);
        }
Beispiel #19
0
 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;
 }
Beispiel #20
0
 /// <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);
 }
Beispiel #21
0
        /// <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);
        }
Beispiel #22
0
        /// <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();
        }
Beispiel #24
0
 /// <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));
 }
Beispiel #25
0
 /// <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);
        }
Beispiel #27
0
        /// <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;
 }
Beispiel #29
0
        /// <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));
 }