Exemplo n.º 1
0
        public void OpenBrushSettings()
        {
            BaseLayerBrush layerBrush = LayerPropertyGroup.LayerBrush;
            LayerBrushConfigurationDialog configurationViewModel = (LayerBrushConfigurationDialog)layerBrush.ConfigurationDialog;

            if (configurationViewModel == null)
            {
                return;
            }

            try
            {
                // Limit to one constructor, there's no need to have more and it complicates things anyway
                ConstructorInfo[] constructors = configurationViewModel.Type.GetConstructors();
                if (constructors.Length != 1)
                {
                    throw new ArtemisUIException("Brush configuration dialogs must have exactly one constructor");
                }

                // Find the BaseLayerBrush parameter, it is required by the base constructor so its there for sure
                ParameterInfo               brushParameter = constructors.First().GetParameters().First(p => typeof(BaseLayerBrush).IsAssignableFrom(p.ParameterType));
                ConstructorArgument         argument       = new(brushParameter.Name, layerBrush);
                BrushConfigurationViewModel viewModel      = (BrushConfigurationViewModel)layerBrush.Descriptor.Provider.Plugin.Kernel.Get(configurationViewModel.Type, argument);

                _windowManager.ShowDialog(new LayerBrushSettingsWindowViewModel(viewModel));
            }
            catch (Exception e)
            {
                _dialogService.ShowExceptionDialog("An exception occured while trying to show the brush's settings window", e);
            }
        }
        public override void EnableLayerBrush()
        {
            ConfigurationDialog = new LayerBrushConfigurationDialog <CapturePropertiesViewModel>(1280, 720);

            Properties.Capture.LayerPropertyOnCurrentValueSet += CaptureOnLayerPropertyOnCurrentValueSet;
            RecreateCaptureZone();
        }
 public LayerBrushSettingsWindowViewModel(BrushConfigurationViewModel configurationViewModel, LayerBrushConfigurationDialog configuration)
 {
     _configuration     = configuration;
     ActiveItem         = configurationViewModel ?? throw new ArgumentNullException(nameof(configurationViewModel));
     ActiveItem.Closed += ActiveItemOnClosed;
 }
 public override void EnableLayerBrush()
 {
     $if$($IncludeConfigurationWindow$ == True) ConfigurationDialog = new LayerBrushConfigurationDialog <CustomViewModel>(); $endif$
 }