public GraphicsCompositorEditorViewModel([NotNull] GraphicsCompositorViewModel graphicsCompositor) : base(graphicsCompositor) { // Create the service needed to manage observable view models ViewModelService = new GraphViewModelService(Session.AssetNodeContainer); // Update the service provider of this view model to contains the ObservableViewModelService we created. ServiceProvider = new ViewModelServiceProvider(ServiceProvider, ViewModelService.Yield()); // Get some quantum nodes graphicsCompositorNode = Session.AssetNodeContainer.GetNode(graphicsCompositor.Asset); renderStagesNode = graphicsCompositorNode[nameof(GraphicsCompositorAsset.RenderStages)].Target; renderFeaturesNode = graphicsCompositorNode[nameof(GraphicsCompositorAsset.RenderFeatures)].Target; cameraSlotsNode = graphicsCompositorNode[nameof(GraphicsCompositorAsset.Cameras)].Target; sharedRenderersNode = graphicsCompositorNode[nameof(GraphicsCompositorAsset.SharedRenderers)].Target; // Setup commands DeleteSelectionCommand = new AnonymousCommand(ServiceProvider, DeleteSelection); AddNewRenderStageCommand = new AnonymousCommand(ServiceProvider, AddNewRenderStage); RemoveSelectedRenderStagesCommand = new AnonymousCommand(ServiceProvider, RemoveSelectedRenderStages); AddNewRenderFeatureCommand = new AnonymousCommand <AbstractNodeType>(ServiceProvider, AddNewRenderFeature); RemoveSelectedRenderFeaturesCommand = new AnonymousCommand(ServiceProvider, RemoveSelectedRenderFeatures); AddNewCameraSlotCommand = new AnonymousCommand(ServiceProvider, AddNewCameraSlot); RemoveSelectedCameraSlotsCommand = new AnonymousCommand(ServiceProvider, RemoveSelectedCameraSlots); }
private static ICommandBase OpenHyperlinkCommandFactory() { // TODO: have a proper way to initialize the services (maybe at application startup) var serviceProvider = new ViewModelServiceProvider(new[] { new DispatcherService(Application.Current?.Dispatcher ?? Dispatcher.CurrentDispatcher) }); return(new AnonymousCommand <string>(serviceProvider, OpenHyperlink, CanOpenHyperlink)); }
public VisualScriptEditorViewModel(IVisualScriptViewModelService visualScriptViewModelService, VisualScriptViewModel visualScript) : base(visualScript) { // Create the service needed to manage observable view models ViewModelService = new GraphViewModelService(Session.AssetNodeContainer); // Update the service provider of this view model to contains the ObservableViewModelService we created. ServiceProvider = new ViewModelServiceProvider(ServiceProvider, ViewModelService.Yield()); VisualScriptViewModelService = visualScriptViewModelService; blockTemplateDescriptionCollection = new Lazy <BlockTemplateDescriptionCollectionViewModel>(() => new BlockTemplateDescriptionCollectionViewModel(this)); AddNewPropertyCommand = new AnonymousCommand(ServiceProvider, AddNewProperty); RemoveSelectedPropertiesCommand = new AnonymousCommand(ServiceProvider, RemoveSelectedProperties); //ShowAddBlockDialogCommand = new AnonymousTaskCommand(ServiceProvider, ShowAddBlockDialog); AddNewMethodCommand = new AnonymousCommand(ServiceProvider, AddNewMethod); RemoveSelectedMethodCommand = new AnonymousCommand(ServiceProvider, RemoveSelectedFunction); var rootNode = Session.AssetNodeContainer.GetNode(visualScript.Asset); baseTypeNodeBinding = new MemberGraphNodeBinding <string>(rootNode[nameof(VisualScriptAsset.BaseType)], nameof(BaseType), OnPropertyChanging, OnPropertyChanged, visualScript.UndoRedoService); propertiesNode = rootNode[nameof(VisualScriptAsset.Properties)]; }
internal void Initialize(NugetStore store, string defaultLogText = null) { var dispatcherService = new DispatcherService(Dispatcher); var dialogService = new DialogService(dispatcherService, Launcher.ApplicationName); var serviceProvider = new ViewModelServiceProvider(new object[] { dispatcherService, dialogService }); DataContext = new LauncherViewModel(serviceProvider, store); }
public TestContext() { ObservableViewModelService = new ObservableViewModelService(); ServiceProvider = new ViewModelServiceProvider(); ServiceProvider.RegisterService(new DispatcherService(Dispatcher.CurrentDispatcher)); ServiceProvider.RegisterService(ObservableViewModelService); NodeContainer = new NodeContainer(); }
public TestContainerContext() { NodeContainer = new NodeContainer(); GraphViewModelService = new GraphViewModelService(NodeContainer); ServiceProvider = new ViewModelServiceProvider(); ServiceProvider.RegisterService(new DispatcherService(Dispatcher.CurrentDispatcher)); ServiceProvider.RegisterService(GraphViewModelService); }
public ModelAssetTemplateWindow() { var viewModelService = new GraphViewModelService(SessionViewModel.Instance.AssetNodeContainer); var services = new ViewModelServiceProvider(SessionViewModel.Instance.ServiceProvider, viewModelService.Yield()); Parameters = new ImportModelFromFileViewModel(services); InitializeComponent(); }
public ScriptNameWindow(string defaultClassName, string defaultNamespace) { var dispatcher = new DispatcherService(Dispatcher); services = new ViewModelServiceProvider(new object[] { dispatcher, new DialogService(dispatcher, EditorViewModel.Instance.EditorName) }); InitializeComponent(); ClassNameTextBox.Text = defaultClassName; NamespaceTextBox.Text = defaultNamespace; }
/// <summary> /// Initializes a new instance of the <see cref="SettingsViewModel"/> class. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> and an <see cref="IDialogService"/> to use for this view model.</param> /// <param name="profile">The profile associated </param> public SettingsViewModel([NotNull] IViewModelServiceProvider serviceProvider, SettingsProfile profile) : base(serviceProvider, new AssetNodeContainer()) { var viewModelService = ServiceProvider.Get <GraphViewModelService>(); RegisterNodePresenterUpdater(new SettingsPropertyNodeUpdater()); ServiceProvider = new ViewModelServiceProvider(serviceProvider, viewModelService.Yield()); ValidateChangesCommand = new AnonymousTaskCommand(serviceProvider, ValidateChanges); DiscardChangesCommand = new AnonymousCommand(serviceProvider, DiscardChanges); Profile = profile; Initialize(); }
private static IViewModelServiceProvider InitializeServiceProvider() { // TODO: this should be done elsewhere var dispatcherService = new DispatcherService(Dispatcher.CurrentDispatcher); var dialogService = new XenkoDialogService(dispatcherService, XenkoGameStudio.EditorName); var pluginService = new PluginService(); var services = new List <object> { new DispatcherService(Dispatcher.CurrentDispatcher), dialogService, pluginService }; if (renderDocManager != null) { services.Add(renderDocManager); } var serviceProvider = new ViewModelServiceProvider(services); return(serviceProvider); }
public ScriptNameWindow(string defaultClassName, string defaultNamespace, TemplateAssetDescription defaultScriptTemplate, bool enableTemplateSelect, IEnumerable <TemplateAssetDescription> scriptTemplates) { var dispatcher = new DispatcherService(Dispatcher); services = new ViewModelServiceProvider(new object[] { dispatcher, new DialogService(dispatcher, EditorViewModel.Instance.EditorName) }); InitializeComponent(); ClassNameTextBox.Text = defaultClassName; NamespaceTextBox.Text = defaultNamespace; TemplateComboBox.Visibility = enableTemplateSelect ? Visibility.Visible : Visibility.Collapsed; if (enableTemplateSelect) { TemplateComboBox.ItemsSource = scriptTemplates; TemplateComboBox.SelectedValue = defaultScriptTemplate; } this.enableTemplateSelect = enableTemplateSelect; this.defaultScriptTemplate = defaultScriptTemplate; }
public UpdatePlatformsWindow(ICollection <PlatformType> installedPlatforms) { if (installedPlatforms == null) { throw new ArgumentNullException(nameof(installedPlatforms)); } var dispatcher = new DispatcherService(Dispatcher); var dialog = new DialogService(dispatcher, EditorViewModel.Instance.EditorName); services = new ViewModelServiceProvider(new object[] { dispatcher, dialog }); AvailablePlatforms = new List <SolutionPlatformViewModel>(); foreach (var platform in AssetRegistry.SupportedPlatforms) { var isInstalled = installedPlatforms.Contains(platform.Type); var solutionPlatform = new SolutionPlatformViewModel(services, platform, isInstalled, isInstalled); AvailablePlatforms.Add(solutionPlatform); } ForcePlatformRegenerationVisible = true; InitializeComponent(); DataContext = this; }
/// <summary> /// Initializes a new instance of the <see cref="PropertiesViewModel"/> class. /// </summary> /// <param name="serviceProvider">The view model service provider to use.</param> /// <param name="nodeContainer"> /// The <see cref="Core.Quantum.NodeContainer"/> containing the nodes used to access object /// properties. /// </param> protected PropertiesViewModel([NotNull] IViewModelServiceProvider serviceProvider, [NotNull] NodeContainer nodeContainer) : base(serviceProvider) { if (nodeContainer is null) { throw new ArgumentNullException(nameof(nodeContainer)); } NodeContainer = nodeContainer; // Create the service needed to manage graph view models ViewModelService = new GraphViewModelService(nodeContainer); // Update the service provider of this view model to contains the GraphViewModelService we created ServiceProvider = new ViewModelServiceProvider(serviceProvider, ViewModelService.Yield()); RegisterNodePresenterCommand(new CreateNewInstanceCommand()); RegisterNodePresenterCommand(new AddNewItemCommand()); RegisterNodePresenterCommand(new AddPrimitiveKeyCommand()); RegisterNodePresenterCommand(new RemoveItemCommand()); RegisterNodePresenterCommand(new RenameStringKeyCommand()); RegisterNodePresenterCommand(new MoveItemCommand()); RegisterNodePresenterCommand(new FlagEnumSelectAllCommand()); RegisterNodePresenterCommand(new FlagEnumSelectNoneCommand()); RegisterNodePresenterCommand(new FlagEnumSelectInvertCommand()); RegisterNodePresenterUpdater(new AbstractNodeEntryNodeUpdater()); RegisterNodePresenterUpdater(new CategoryNodeUpdater()); RegisterNodePresenterUpdater(new CollectionPropertyNodeUpdater()); RegisterNodePresenterUpdater(new DisplayAttributeNodeUpdater()); RegisterNodePresenterUpdater(new MathematicsNodeUpdater()); RegisterNodePresenterUpdater(new NumericValueNodeUpdater()); RegisterNodePresenterUpdater(new UPathNodeUpdater()); RegisterNodePresenterUpdater(new DictionaryNodeUpdater()); // NOTE: Try to keep InlineMemberNodeUpdater last since it's transfering some metadata generated by previous updater between nodes RegisterNodePresenterUpdater(new InlineMemberNodeUpdater()); }
public GameTemplateWindow(IEnumerable <SolutionPlatform> availablePlatforms, string defaultNamespace) { var dispatcher = new DispatcherService(Dispatcher); var dialog = new DialogService(dispatcher, EditorViewModel.Instance.EditorName); services = new ViewModelServiceProvider(new object[] { dispatcher, dialog }); AvailablePlatforms = availablePlatforms.Select(x => new SolutionPlatformViewModel(services, x, false, x.Type == PlatformType.Windows)).ToList(); // Obsolete - this will be replaced by AssetPacks at some point AssetPackages = new List <AssetPackageViewModel>(); AssetPackages.Add(new AssetPackageViewModel(services, "Animated Models", new UDirectory("mannequinModel"), false)); AssetPackages.Add(new AssetPackageViewModel(services, "Building Blocks", new UDirectory("PrototypingBlocks"), false)); AssetPackages.Add(new AssetPackageViewModel(services, "Materials Pack", new UDirectory("MaterialPackage"), false)); AssetPackages.Add(new AssetPackageViewModel(services, "Particles Pack", new UDirectory("VFXPackage"), false)); AssetPackages.Add(new AssetPackageViewModel(services, "Samples Assets", new UDirectory("SamplesAssetPackage"), false)); Namespace = defaultNamespace; Orientation = DisplayOrientation.LandscapeRight; InitializeComponent(); DataContext = this; SelectedGraphicsProfile = GraphicsProfile.Level_10_0; IsHDR = true; }
private static ICommandBase OpenHyperlinkCommandFactory() { // TODO: have a proper way to initialize the services (maybe at application startup) var serviceProvider = new ViewModelServiceProvider(new[] { new DispatcherService(Application.Current?.Dispatcher ?? Dispatcher.CurrentDispatcher) }); return new AnonymousCommand<string>(serviceProvider, OpenHyperlink, CanOpenHyperlink); }
protected MessageDialogBase() { var serviceProvider = new ViewModelServiceProvider(new[] { new DispatcherService(Dispatcher) }); ButtonCommand = new AnonymousCommand <int>(serviceProvider, ButtonClick); }
protected MessageDialogBase() { var serviceProvider = new ViewModelServiceProvider(new[] { new DispatcherService(Dispatcher) }); ButtonCommand = new AnonymousCommand<int>(serviceProvider, ButtonClick); }