コード例 #1
0
        public DeviceSharedResourcesViewModel(Func <IResourceViewModel> resourceViewModelGettingFunc,
                                              ISharedResourcesEditorFactory sharedResourcesEditorFactory, ISerializerService serializerService,
                                              IApplicationGlobalCommands applicationGlobalCommands, ITypesContainer container)
        {
            ResourcesCollection           = new ObservableCollection <IResourceViewModel>();
            _resourceViewModelGettingFunc = resourceViewModelGettingFunc;
            _sharedResourcesEditorFactory = sharedResourcesEditorFactory;
            CloseCommand = new RelayCommand <object>(OnCloseExecute);
            OpenResourceForEditingCommand = new RelayCommand <object>(OnOpenResourceForEditingExecute);
            SelectResourceCommand         = new RelayCommand <object>(OnSelectExecute, CanExecuteSelectResource);
            DeleteResourceCommand         = new RelayCommand(OnDeleteExecute, CanExecuteDeleteResource);
            RenameResourceCommand         = new RelayCommand(OnRenameResourceExecute, CanExecuteRenameResource);

            _serializerService         = serializerService;
            _applicationGlobalCommands = applicationGlobalCommands;
            _container = container;

            SaveCommand = new RelayCommand(SaveResources);
            LoadCommand = new RelayCommand(LoadResources);

            //_lastPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), DEFAULT_FOLDER);
            //_lastFileName = DEFAULT_FOLDER;
            //if (_lastPath != null && !Directory.Exists(_lastPath))
            //	{
            //	Directory.CreateDirectory(_lastPath);
            //	}
            //	else
            //	{
            //
            //	}
        }
コード例 #2
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IDeviceConnection, Model.ModBusRtuConnection>(StringKeys.MODBUS_RTU_CONNECTION);
            container.Register <IModbusRtuConnection, Model.ModBusRtuConnection>();
            container.Register <IDeviceConnectionViewModel, ModBusConnectionViewModel>(StringKeys.MODBUS_RTU_CONNECTION + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);

            //регистрация фабрики
            container.Register <IDeviceConnectionFactory, ModBusRtuConnectionFactory>(StringKeys.MODBUSRTU_CONNECTION_FACTORY_NAME);

            container.Register <IComPortConfigurationFactory, ComPortConfigurationFactory>();
            container.Register <IComPortConfigurationViewModelFactory, ComPortConfigurationViewModelFactory>();
            container.Register <IComPortConfiguration, ComPortConfiguration>();
            container.Register <IComPortConfigurationViewModel, ComPortConfigurationViewModel>();
            container.Register <IComPortInterrogationViewModel, ComPortInterrogationViewModel>();
            container.Register <IModBusConnectionViewModel, ModBusConnectionViewModel>();

            //регистрация менеджера подключений
            container.Register <IComConnectionManager, ComConnectionManager>(true);

            //регистрация известных для сериализации типов
            //ISerializerService serializerService = container.Resolve<ISerializerService>();
            //serializerService.AddKnownTypeForSerialization(typeof(Model.ModBusRtuConnection));
            //serializerService.AddKnownTypeForSerialization(typeof(ComPortConfiguration));
            //serializerService.AddNamespaceAttribute("modBusRtuConnection", "ModBusRtuConnectionNS");
            //serializerService.AddNamespaceAttribute("comPortConfiguration", "ComPortConfigurationNS");

            //регистрация ресурсов
            IXamlResourcesService xamlResourcesService = container.Resolve <IXamlResourcesService>();

            xamlResourcesService.AddResourceAsGlobal("Resources/ModBusRtuConnectionResources.xaml", GetType().Assembly);
            xamlResourcesService.AddResourceAsGlobal("Resources/ComPortConfigurationResources.xaml", GetType().Assembly);
        }
コード例 #3
0
ファイル: ProgrammingModule.cs プロジェクト: Pepega-corp/Un2
        public void Initialize(ITypesContainer container)
        {
            container.Register <ProgramModel>();
            container.Register <IFragmentViewModel, ProgrammingViewModel>(ProgrammingKeys.PROGRAMMING + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicDeviceProvider>();
            container.Register <SchemeTabViewModel>();
            container.Register <LogicElementsFactory>();

            container.Register <LogicElement, Input>(ProgrammingKeys.INPUT);
            container.Register <LogicElementViewModel, InputViewModel>(ProgrammingKeys.INPUT + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Output>(ProgrammingKeys.OUTPUT);
            container.Register <LogicElementViewModel, OutputViewModel>(ProgrammingKeys.OUTPUT + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Inversion>(ProgrammingKeys.INVERSION);
            container.Register <LogicElementViewModel, InversionViewModel>(ProgrammingKeys.INVERSION + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, And>(ProgrammingKeys.AND);
            container.Register <LogicElementViewModel, AndViewModel>(ProgrammingKeys.AND + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Or>(ProgrammingKeys.OR);
            container.Register <LogicElementViewModel, OrViewModel>(ProgrammingKeys.OR + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Xor>(ProgrammingKeys.XOR);
            container.Register <LogicElementViewModel, XorViewModel>(ProgrammingKeys.XOR + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, AlarmJournal>(ProgrammingKeys.ALARM_JOURNAL);
            container.Register <LogicElementViewModel, AlarmJournalViewModel>(ProgrammingKeys.ALARM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, SystemJournal>(ProgrammingKeys.SYSTEM_JOURNAL);
            container.Register <LogicElementViewModel, SystemJournalViewModel>(ProgrammingKeys.SYSTEM_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, Timer>(ProgrammingKeys.TIMER);
            container.Register <LogicElementViewModel, TimerViewModel>(ProgrammingKeys.TIMER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, RsTrigger>(ProgrammingKeys.RS_TRIGGER);
            container.Register <LogicElementViewModel, RsTriggerViewModel>(ProgrammingKeys.RS_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <LogicElement, SrTrigger>(ProgrammingKeys.SR_TRIGGER);
            container.Register <LogicElementViewModel, SrTriggerViewModel>(ProgrammingKeys.SR_TRIGGER + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("UI/ProgrammingViewTemplate.xaml", GetType().Assembly);
        }
コード例 #4
0
 public MeasuringElementEditorViewModelFactory(ITypesContainer container,
                                               IMeasuringElementFactory measuringElementFactory, ISharedResourcesGlobalViewModel sharedResourcesGlobalViewModel, IFormatterEditorFactory formatterEditorFactory)
 {
     _container = container;
     _measuringElementFactory        = measuringElementFactory;
     _sharedResourcesGlobalViewModel = sharedResourcesGlobalViewModel;
     _formatterEditorFactory         = formatterEditorFactory;
 }
コード例 #5
0
 public MeasuringGroupViewModelFactory(ITypesContainer container,
                                       IMeasuringElementViewModelFactory measuringElementViewModelFactory,
                                       MeasuringMemorySubscriptionFactory measuringMemorySubscriptionFactory)
 {
     _container = container;
     _measuringElementViewModelFactory   = measuringElementViewModelFactory;
     _measuringMemorySubscriptionFactory = measuringMemorySubscriptionFactory;
 }
コード例 #6
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IUniconJournal, UniconJournal>();
            container.Register <IJournalRecord, JournalRecord>();
            container.Register <IJournalParameter, JournalParameter>();
            container.Register <IComplexJournalParameter, ComplexJournalParameter>();
            container.Register <ISubJournalParameter, SubJournalParameter>();
            container.Register <IDependentJournalParameter, DependentJournalParameter>();
            container.Register <IJournalCondition, JournalParameterDependancyCondition>();
            container.Register <IJournalLoaderProvider, JournalLoaderProvider>();

            container.Register <IRecordTemplate, RecordTemplate>();
            container.Register <ILoadingSequenceLoaderRegistry, LoadingSequenceLoaderRegistry>(true);

            container.Register <IFragmentViewModel, UniconJournalViewModel>(
                JournalKeys.UNICON_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <IJournalRecordViewModel, JournalRecordViewModel>();
            container.Register <IJournalRecordFactory, JournalRecordFactory>();
            container.Register <IJournalRecordViewModelFactory, JournalRecordViewModelFactory>();

            container.Register <IJournalLoadingSequence, OffsetLoadingSequence>(JournalKeys
                                                                                .OFFSET_LOADING_SEQUENCE);
            container.Register <IJournalLoadingSequence, IndexLoadingSequence>(JournalKeys
                                                                               .INDEX_LOADING_SEQUENCE);

            //ISerializerService serializerService = container.Resolve<ISerializerService>();
            //serializerService.AddKnownTypeForSerializationRange(new[]
            //{
            //    typeof(DependentJournalParameter), typeof(JournalParameterDependancyCondition),
            //    typeof(UniconJournal), typeof(JournalRecord), typeof(JournalParameter), typeof(RecordTemplate),
            //    typeof(SubJournalParameter), typeof(ComplexJournalParameter), typeof(OffsetLoadingSequence), typeof(IndexLoadingSequence)
            //});
            //serializerService.AddNamespaceAttribute("journal", "UniconJournalNS");
            //serializerService.AddNamespaceAttribute("journalRecord", "JournalRecordNS");
            //serializerService.AddNamespaceAttribute("journalParameter", "JournalParameterNS");
            //serializerService.AddNamespaceAttribute("subJournalParameter", "SubJournalParameterNS");
            //serializerService.AddNamespaceAttribute("complexJournalParameter", "ComplexJournalParameterNS");
            //serializerService.AddNamespaceAttribute("offsetLoadingSequence", "OffsetLoadingSequenceNS");
            //serializerService.AddNamespaceAttribute("indexLoadingSequence", "IndexLoadingSequenceNS");
            //serializerService.AddNamespaceAttribute("recordTemplate", "RecordTemplateNS");
            //serializerService.AddNamespaceAttribute("journalParameterDependancyCondition",
            //    "JournalParameterDependancyConditionNS");
            //serializerService.AddNamespaceAttribute("dependentJournalParameter", "DependentJournalParameterNS");


            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/JournalDataTemplates.xaml",
                                                                            GetType().Assembly);

            container.Resolve <ILoadAllService>().RegisterFragmentLoadHandler(
                JournalKeys.UNICON_JOURNAL + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL,
                JournalLoadHelper.GetJournalLoadingHelper());

            container.Resolve <ILoadingSequenceLoaderRegistry>().AddLoader <OffsetLoadingSequence>((context, sequence) =>
                                                                                                   new OffsetLoadingSequenceLoader(sequence as OffsetLoadingSequence, context.DataProviderContainer));

            container.Resolve <ILoadingSequenceLoaderRegistry>().AddLoader <IndexLoadingSequence>((context, sequence) =>
                                                                                                  new IndexLoadingSequenceLoader(sequence as IndexLoadingSequence, context.DataProviderContainer));
        }
コード例 #7
0
        public void InitializeTypes(ITypesContainer typesContainer)
        {
            typesContainer.Register <GetDeviceDefinitionsQueryHandler>();
            typesContainer.Register <UpdateDeviceDefinitionCommandHandler>();
            typesContainer.Register <GetStoreSnapshotQueryHandler>();
            typesContainer.Register <UploadSnapshotCommandHandler>();

            typesContainer.Register <IHandlerRegistry, HandlerRegistry>(true);
        }
コード例 #8
0
 public DefaultDeviceCreator(Func <IDevice> deviceGettingFunc, ILogService logService,
                             Func <IDeviceLogger> deviceLoggerGettingFunc, ITypesContainer container, ISerializerService serializerService)
 {
     _deviceGettingFunc       = deviceGettingFunc;
     _logService              = logService;
     _deviceLoggerGettingFunc = deviceLoggerGettingFunc;
     _container         = container;
     _serializerService = serializerService;
 }
コード例 #9
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IGraphicalMenu, Model.GraphicalMenu>();

            container.Register <IFragmentViewModel, GraphicalMenuFragmentViewModel>(
                GraphicalMenuKeys.GRAPHICAL_MENU + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/GraphicalMenuDataTemplates.xaml",
                                                                            GetType().Assembly);
        }
コード例 #10
0
        public UniconJournalViewModel(ILocalizerService localizerService,
                                      IFragmentOptionsViewModel fragmentOptionsViewModel,
                                      Func <IFragmentOptionGroupViewModel> fragmentOptionGroupViewModelgetFunc,
                                      Func <IFragmentOptionCommandViewModel> fragmentOptionCommandViewModelgetFunc,
                                      IApplicationGlobalCommands applicationGlobalCommands, ITypesContainer typesContainer, ILogService logService
                                      , IApplicationSettingsService applicationSettingsService, IJournalLoaderProvider journalLoaderProvider,
                                      IValueViewModelFactory valueViewModelFactory)

        {
            _localizerService          = localizerService;
            _applicationGlobalCommands = applicationGlobalCommands;
            _typesContainer            = typesContainer;
            _logService = logService;
            _applicationSettingsService = applicationSettingsService;
            _journalLoaderProvider      = journalLoaderProvider;
            _valueViewModelFactory      = valueViewModelFactory;
            IFragmentOptionGroupViewModel fragmentOptionGroupViewModel = fragmentOptionGroupViewModelgetFunc();

            fragmentOptionGroupViewModel.NameKey = "Device";
            IFragmentOptionCommandViewModel fragmentOptionCommandViewModel = fragmentOptionCommandViewModelgetFunc();

            fragmentOptionCommandViewModel.TitleKey = "Load";
            fragmentOptionCommandViewModel.IconKey  = IconResourceKeys.IconInboxIn;
            fragmentOptionGroupViewModel.FragmentOptionCommandViewModels.Add(fragmentOptionCommandViewModel);
            LoadCommand = new RelayCommand(OnLoadJournal, CanLoadExecute);
            fragmentOptionCommandViewModel.OptionCommand = LoadCommand;
            fragmentOptionsViewModel.FragmentOptionGroupViewModels.Add(fragmentOptionGroupViewModel);

            fragmentOptionCommandViewModel               = fragmentOptionCommandViewModelgetFunc();
            fragmentOptionCommandViewModel.TitleKey      = "Open";
            fragmentOptionCommandViewModel.IconKey       = IconResourceKeys.IconDiscUpload;
            fragmentOptionCommandViewModel.OptionCommand = new RelayCommand(OnExecuteLoadJournal);
            fragmentOptionGroupViewModel.FragmentOptionCommandViewModels.Add(fragmentOptionCommandViewModel);

            fragmentOptionCommandViewModel               = fragmentOptionCommandViewModelgetFunc();
            fragmentOptionCommandViewModel.TitleKey      = "Save";
            fragmentOptionCommandViewModel.IconKey       = IconResourceKeys.IconDiscDownload;
            fragmentOptionCommandViewModel.OptionCommand = new RelayCommand(OnExecuteSaveJournal);
            fragmentOptionGroupViewModel.FragmentOptionCommandViewModels.Add(fragmentOptionCommandViewModel);

            fragmentOptionCommandViewModel               = fragmentOptionCommandViewModelgetFunc();
            fragmentOptionCommandViewModel.TitleKey      = ApplicationGlobalNames.UiCommandStrings.SAVE_FOR_PRINT;
            fragmentOptionCommandViewModel.IconKey       = IconResourceKeys.IconPrintText;
            fragmentOptionCommandViewModel.OptionCommand = new RelayCommand(OnExecuteExportJournal);
            fragmentOptionGroupViewModel.FragmentOptionCommandViewModels.Add(fragmentOptionCommandViewModel);

            _loaderHooks = new LoaderHooks(
                () => { Table.Values.Clear(); }, list =>
            {
                Table.AddFormattedValueViewModel(list.Select(formattedValue =>
                                                             _valueViewModelFactory.CreateFormattedValueViewModel(formattedValue)).ToList());
            });
            FragmentOptionsViewModel = fragmentOptionsViewModel;
            CanExecuteJournalLoading = true;
        }
コード例 #11
0
        public void Initialize(ITypesContainer container)
        {
            container.Register <IDeviceConnection, Model.MockConnection>(StringKeys.MOCK_CONNECTION);
            container.Register <IDeviceConnectionViewModel, MockConnectionViewModel>(StringKeys.MOCK_CONNECTION + ApplicationGlobalNames.CommonInjectionStrings.VIEW_MODEL);
            container.Register <Model.MockConnection>();
            //регистрация фабрики
            container.Register <IDeviceConnectionFactory, MockConnectionFactory>(StringKeys.MOCK_CONNECTION_FACTORY_NAME);
            //регистрация ресурсов
            IXamlResourcesService xamlResourcesService = container.Resolve <IXamlResourcesService>();

            xamlResourcesService.AddResourceAsGlobal("Resources/MockConnectionResources.xaml", GetType().Assembly);
        }
コード例 #12
0
 public ModBusConnectionViewModel(IComConnectionManager connectionManager, ITypesContainer container,
                                  IComPortConfigurationViewModelFactory comPortConfigurationViewModelFactory,
                                  IComPortInterrogationViewModel comPortInterrogationViewModel)
 {
     _connectionManager = connectionManager;
     _container         = container;
     _comPortConfigurationViewModelFactory = comPortConfigurationViewModelFactory;
     RefreshAvailablePorts = new RelayCommand(OnRefreshingAvailablePorts);
     AvailablePorts        = new ObservableCollection <string>();
     OnRefreshingAvailablePorts();
     ComPortInterrogationViewModel = comPortInterrogationViewModel;
     _isInterrogationEnabled       = true;
 }
コード例 #13
0
        public void Initialize(ITypesContainer container)
        {
            container.Register(typeof(IFragmentEditorViewModel), typeof(OscilloscopeEditorViewModel),
                               OscilloscopeKeys.OSCILLOSCOPE + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            container.Register(typeof(IJournalLoadingSequenceEditorViewModel), typeof(OscilloscopeJournalLoadingSequenceEditorViewModel),
                               OscilloscopeKeys.OSCILLOSCOPE_JOURNAL_LOADING_SEQUENCE + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL);

            container.Register(typeof(IOscillogramLoadingParametersEditorViewModel), typeof(OscillogramLoadingParametersEditorViewModel));
            container.Register(typeof(IOscilloscopeTagEditorViewModel), typeof(OscilloscopeTagEditorViewModel));
            container.Register(typeof(IOscilloscopeTagEditorViewModelFactory), typeof(OscilloscopeTagEditorViewModelFactory));

            container.Resolve <IXamlResourcesService>().AddResourceAsGlobal("Resources/OscilloscopeDataTemplates.xaml", GetType().Assembly);
        }
コード例 #14
0
ファイル: roottypes.cs プロジェクト: JustasB/cudafy
		public bool AddTypesContainer (ITypesContainer container)
		{
			var mn = container.MemberName;
			ITypesContainer found;
			if (!defined_type_containers.TryGetValue (mn, out found)) {
				defined_type_containers.Add (mn, container);
				return true;
			}

			if (container is NamespaceContainer && found is NamespaceContainer)
				return true;

			var container_tc = container as TypeContainer;
			var found_tc = found as TypeContainer;
			if (container_tc != null && found_tc != null && container_tc.Kind == found_tc.Kind) {
				if ((found_tc.ModFlags & container_tc.ModFlags & Modifiers.PARTIAL) != 0) {
					return false;
				}

				if (((found_tc.ModFlags | container_tc.ModFlags) & Modifiers.PARTIAL) != 0) {
					Report.SymbolRelatedToPreviousError (found_tc);
					Error_MissingPartialModifier (container_tc);
					return false;
				}
			}

			string ns = mn.Left != null ? mn.Left.GetSignatureForError () : Module.GlobalRootNamespace.GetSignatureForError ();
			mn = new MemberName (mn.Name, mn.TypeArguments, mn.Location);

			Report.SymbolRelatedToPreviousError (found.Location, "");
			Report.Error (101, container.Location,
				"The namespace `{0}' already contains a definition for `{1}'",
				ns, mn.GetSignatureForError ());
			return false;
		}