Esempio n. 1
0
        public void OpenEffectSettings()
        {
            BaseLayerEffect layerEffect = LayerPropertyGroup.LayerEffect;
            LayerEffectConfigurationDialog configurationViewModel = (LayerEffectConfigurationDialog)layerEffect.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("Effect configuration dialogs must have exactly one constructor");
                }

                ParameterInfo                effectParameter = constructors.First().GetParameters().First(p => typeof(BaseLayerEffect).IsAssignableFrom(p.ParameterType));
                ConstructorArgument          argument        = new(effectParameter.Name, layerEffect);
                EffectConfigurationViewModel viewModel       = (EffectConfigurationViewModel)layerEffect.Descriptor.Provider.Plugin.Kernel.Get(configurationViewModel.Type, argument);
                _windowManager.ShowDialog(new LayerEffectSettingsWindowViewModel(viewModel));
            }
            catch (Exception e)
            {
                _dialogService.ShowExceptionDialog("An exception occured while trying to show the effect's settings window", e);
                throw;
            }
        }
 public override void EnableLayerEffect()
 {
     $if$($IncludeConfigurationWindow$ == True) ConfigurationDialog = new LayerEffectConfigurationDialog <CustomViewModel>(); $endif$
 }
 public override void EnableLayerEffect()
 {
     ConfigurationDialog = new LayerEffectConfigurationDialog <ColorMatrixConfigurationViewModel>();
 }
Esempio n. 4
0
 public LayerEffectSettingsWindowViewModel(EffectConfigurationViewModel configurationViewModel, LayerEffectConfigurationDialog configuration)
 {
     _configuration     = configuration;
     ActiveItem         = configurationViewModel ?? throw new ArgumentNullException(nameof(configurationViewModel));
     ActiveItem.Closed += ActiveItemOnClosed;
 }