public static bool LaunchSimpleEffectDialog(BaseEffect effect)
{
if (effect == null)
throw new ArgumentNullException ("effect");
if (effect.EffectData == null)
throw new ArgumentException ("effect.EffectData is null.");
var dialog = new SimpleEffectDialog (effect.Text,
PintaCore.Resources.GetIcon (effect.Icon),
effect.EffectData);
// Hookup event handling for live preview.
dialog.EffectDataChanged += (o, e) => {
if (effect.EffectData != null)
effect.EffectData.FirePropertyChanged (e.PropertyName);
};
int response = dialog.Run ();
bool ret = false;
if (response == (int)Gtk.ResponseType.Ok && effect.EffectData != null)
ret = !effect.EffectData.IsDefault;
dialog.Destroy ();
return ret;
}