X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fextension%2Fprefdialog.h;h=0a10881d6889d4de120356ca86342e9549598d14;hb=722a5b294d2a6cee2003c1b5969655204b346089;hp=1965b7e96677bc4c9cb038ad90532b237742cb03;hpb=431cb712d731431812d96ef3751093c7fbe32333;p=inkscape.git diff --git a/src/extension/prefdialog.h b/src/extension/prefdialog.h index 1965b7e96..0a10881d6 100644 --- a/src/extension/prefdialog.h +++ b/src/extension/prefdialog.h @@ -2,7 +2,7 @@ * Authors: * Ted Gould * - * Copyright (C) 2005 Authors + * Copyright (C) 2005,2007-2008 Authors * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -19,6 +19,7 @@ #include #include "execution-env.h" +#include "param/parameter.h" namespace Inkscape { namespace Extension { @@ -29,8 +30,6 @@ class PrefDialog : public Gtk::Dialog { gchar const * _help; /** \brief Name of the extension */ Glib::ustring _name; - /** \brief An execution environment if there is one */ - ExecutionEnv * _exEnv; /** \brief A pointer to the OK button */ Gtk::Button * _button_ok; @@ -38,24 +37,43 @@ class PrefDialog : public Gtk::Dialog { Gtk::Button * _button_cancel; /** \brief Button to control live preview */ - Gtk::CheckButton * _button_preview; - /** \brief Button to control whether the dialog is pinned */ - Gtk::CheckButton * _button_pinned; + Gtk::Widget * _button_preview; + /** \brief Checkbox for the preview */ + Gtk::CheckButton * _checkbox_preview; + + /** \brief Parameter to control live preview */ + Parameter * _param_preview; - /** \brief XML to define the pinned parameter on the dialog */ - static const char * pinned_param_xml; /** \brief XML to define the live effects parameter on the dialog */ static const char * live_param_xml; + /** \brief Signal that the user is changing the live effect state */ + sigc::signal _signal_preview; + /** \brief Signal that one of the parameters change */ + sigc::signal _signal_param_change; + + /** \brief If this is the preferences for an effect, the effect + that we're working with. */ + Effect * _effect; + /** \brief If we're executing in preview mode here is the execution + environment for the effect. */ + ExecutionEnv * _exEnv; + + /** \brief The timer used to make it so that parameters don't respond + directly and allows for changes. */ + sigc::connection _timersig; + + void preview_toggle(void); + void param_change(void); + bool param_timer_expire(void); + void on_response (int signal); + public: PrefDialog (Glib::ustring name, gchar const * help, - Gtk::Widget * controls, - ExecutionEnv * exEnv = NULL); - int run (void); - - void setPreviewState (Glib::ustring state); - void setPinned (bool in_pin); + Gtk::Widget * controls = NULL, + Effect * effect = NULL); + virtual ~PrefDialog (); };