Code

allow inx to suppress live preview checkbox
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 18 Apr 2008 03:25:42 +0000 (03:25 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 18 Apr 2008 03:25:42 +0000 (03:25 +0000)
src/extension/effect.cpp
src/extension/effect.h
src/extension/prefdialog.cpp

index b4eeb9c9a5aa88f5c029f1ede2ebd8a817f9dbb1..2010e253a6429d0e3831edd256b8a53615cd3f81 100644 (file)
@@ -47,6 +47,7 @@ Effect::Effect (Inkscape::XML::Node * in_repr, Implementation::Implementation *
     bool hidden = false;
 
     no_doc = false;
+    no_live_preview = false;
 
     if (repr != NULL) {
 
@@ -55,6 +56,9 @@ Effect::Effect (Inkscape::XML::Node * in_repr, Implementation::Implementation *
                 if (child->attribute("needs-document") && !strcmp(child->attribute("needs-document"), "false")) {
                   no_doc = true;
                 }
+                if (child->attribute("needs-live-preview") && !strcmp(child->attribute("needs-live-preview"), "false")) {
+                  no_live_preview = true;
+                }
                 for (Inkscape::XML::Node *effect_child = sp_repr_children(child); effect_child != NULL; effect_child = effect_child->next()) {
                     if (!strcmp(effect_child->name(), "effects-menu")) {
                         // printf("Found local effects menu in %s\n", this->get_name());
index 58e39c63dc084804efe07da2b3da87a1cb096604..0724bd9610bb1ad597ab7d633db6aaecf7e6eb7a 100644 (file)
@@ -128,6 +128,7 @@ public:
     Gtk::VBox *    get_info_widget(void);
 
     bool no_doc; // if true, the effect does not process SVG document at all, so no need to save, read, and watch for errors
+    bool no_live_preview; // if true, the effect does not need "live preview" checkbox in its dialog
 
     void        set_pref_dialog (PrefDialog * prefdialog);
 private:
index 9cfa39bd57b89e8fa10f14ac7d70db1597a61e72..10249049f17aa2e6ab68a211cbc257a0589be914 100644 (file)
@@ -77,7 +77,7 @@ PrefDialog::PrefDialog (Glib::ustring name, gchar const * help, Gtk::Widget * co
     set_default_response(Gtk::RESPONSE_OK);
     _button_ok->grab_focus();
 
-    if (_effect != NULL) {
+    if (_effect != NULL && !_effect->no_live_preview) {
         if (_param_preview == NULL) {
             XML::Document * doc = sp_repr_read_mem(live_param_xml, strlen(live_param_xml), NULL);
             _param_preview = Parameter::make(doc->root(), _effect);