index 1965b7e96677bc4c9cb038ad90532b237742cb03..0a10881d6889d4de120356ca86342e9549598d14 100644 (file)
* Authors:
* Ted Gould <ted@gould.cx>
*
- * Copyright (C) 2005 Authors
+ * Copyright (C) 2005,2007-2008 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include <gtkmm/socket.h>
#include "execution-env.h"
+#include "param/parameter.h"
namespace Inkscape {
namespace Extension {
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;
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<void> _signal_preview;
+ /** \brief Signal that one of the parameters change */
+ sigc::signal<void> _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 ();
};