X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fextension%2Fprefdialog.h;h=0a10881d6889d4de120356ca86342e9549598d14;hb=d703e5d08553a3dd5eb4f0a11040de79071bdcfb;hp=bf30eda36617535eea455986be0ba56667f85f4c;hpb=3a34031ac93159c6f1ffe78af42cf6555448543a;p=inkscape.git diff --git a/src/extension/prefdialog.h b/src/extension/prefdialog.h index bf30eda36..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 */ @@ -15,21 +15,65 @@ #include #include +#include #include +#include "execution-env.h" +#include "param/parameter.h" + namespace Inkscape { namespace Extension { +/** \brief A class to represent the preferences for an extension */ class PrefDialog : public Gtk::Dialog { /** \brief Help string if it exists */ gchar const * _help; /** \brief Name of the extension */ Glib::ustring _name; -public: - PrefDialog (Glib::ustring name, gchar const * help, Gtk::Widget * controls); - Gtk::ResponseType run (void); + /** \brief A pointer to the OK button */ + Gtk::Button * _button_ok; + /** \brief A pointer to the CANCEL button */ + Gtk::Button * _button_cancel; + + /** \brief Button to control live preview */ + 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 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 = NULL, + Effect * effect = NULL); + virtual ~PrefDialog (); };