コード例 #1
0
        public override void Initialize()
        {
            base.Initialize();

            DataModelPropertiesViewModel eventDataModel = GetEventDataModel();

            LeftSideSelectionViewModel.ChangeDataModel(eventDataModel);
        }
コード例 #2
0
        public DataModelPropertiesViewModel GetMainDataModelVisualization()
        {
            DataModelPropertiesViewModel viewModel = new DataModelPropertiesViewModel(null, null, null);

            foreach (DataModel dataModelExpansion in _dataModelService.GetDataModels())
            {
                viewModel.Children.Add(new DataModelPropertiesViewModel(dataModelExpansion, viewModel, new DataModelPath(dataModelExpansion)));
            }

            // Update to populate children
            viewModel.Update(this);
            viewModel.UpdateRequested += (sender, args) => viewModel.Update(this);
            return(viewModel);
        }
コード例 #3
0
        public override void Initialize()
        {
            base.Initialize();

            DataModelPropertiesViewModel listDataModel = GetListDataModel();

            LeftSideSelectionViewModel.ChangeDataModel(listDataModel);

            // If this is a primitive list the user doesn't have much to choose, so preselect the list item for them
            if (DataModelConditionListPredicate.DataModelConditionList.IsPrimitiveList && DataModelConditionListPredicate.LeftPath == null)
            {
                DataModelConditionListPredicate.UpdateLeftSide(listDataModel.Children.FirstOrDefault()?.DataModelPath);
                Update();
            }
        }
コード例 #4
0
        public void UpdateModules(DataModelPropertiesViewModel mainDataModelVisualization)
        {
            List <DataModelVisualizationViewModel> disabledChildren = mainDataModelVisualization.Children
                                                                      .Where(d => d.DataModel != null && !d.DataModel.Feature.IsEnabled)
                                                                      .ToList();

            foreach (DataModelVisualizationViewModel child in disabledChildren)
            {
                mainDataModelVisualization.Children.Remove(child);
            }

            foreach (DataModel dataModelExpansion in _dataModelService.GetDataModels().OrderBy(d => d.DataModelDescription.Name))
            {
                if (mainDataModelVisualization.Children.All(c => c.DataModel != dataModelExpansion))
                {
                    mainDataModelVisualization.Children.Add(
                        new DataModelPropertiesViewModel(dataModelExpansion, mainDataModelVisualization, new DataModelPath(dataModelExpansion))
                        );
                }
            }

            mainDataModelVisualization.Update(this, null);
        }
コード例 #5
0
        public DataModelPropertiesViewModel GetPluginDataModelVisualization(Plugin plugin, bool includeMainDataModel)
        {
            if (includeMainDataModel)
            {
                DataModelPropertiesViewModel mainDataModel = GetMainDataModelVisualization();

                // If the main data model already includes the plugin data model we're done
                if (mainDataModel.Children.Any(c => c.DataModel.PluginInfo.Instance == plugin))
                {
                    return(mainDataModel);
                }
                // Otherwise get just the plugin data model and add it
                DataModelPropertiesViewModel pluginDataModel = GetPluginDataModelVisualization(plugin, false);
                if (pluginDataModel != null)
                {
                    mainDataModel.Children.Add(pluginDataModel);
                }

                return(mainDataModel);
            }

            DataModel dataModel = _dataModelService.GetPluginDataModel(plugin);

            if (dataModel == null)
            {
                return(null);
            }

            DataModelPropertiesViewModel viewModel = new DataModelPropertiesViewModel(null, null, null);

            viewModel.Children.Add(new DataModelPropertiesViewModel(dataModel, viewModel, null));

            // Update to populate children
            viewModel.Update(this);
            viewModel.UpdateRequested += (sender, args) => viewModel.Update(this);
            return(viewModel);
        }