return 0;
}
+XMLNode&
+ProcessorWindowProxy::get_state () const
+{
+ XMLNode *node;
+ node = &ProxyBase::get_state();
+ node->add_property (X_("custom-ui"), is_custom? X_("yes") : X_("no"));
+ return *node;
+}
+
+void
+ProcessorWindowProxy::set_state (const XMLNode& node)
+{
+ XMLNodeList children = node.children ();
+ XMLNodeList::const_iterator i = children.begin ();
+ while (i != children.end()) {
+ XMLProperty* prop = (*i)->property (X_("name"));
+ if ((*i)->name() == X_("Window") && prop && prop->value() == _name) {
+ break;
+ }
+ ++i;
+ }
+
+ if (i != children.end()) {
+ XMLProperty* prop;
+ if ((prop = (*i)->property (X_("custom-ui"))) != 0) {
+ want_custom = PBD::string_is_affirmative (prop->value ());
+ }
+ }
+
+ ProxyBase::set_state(node);
+}
+
Gtk::Window*
ProcessorWindowProxy::get (bool create)
{
bool marked;
+ void set_state (const XMLNode&);
+ XMLNode& get_state () const;
+
private:
ProcessorBox* _processor_box;
boost::weak_ptr<ARDOUR::Processor> _processor;
#include "ardour_dialog.h"
#include "ardour_window.h"
#include "window_manager.h"
+#include "processor_box.h"
#include "i18n.h"
if (dynamic_cast<ProxyTemporary*> (*i)) {
continue;
}
- root.add_child_nocopy ((*i)->get_state());
+ if (dynamic_cast<ProcessorWindowProxy*> (*i)) {
+ ProcessorWindowProxy *pi = dynamic_cast<ProcessorWindowProxy*> (*i);
+ root.add_child_nocopy (pi->get_state());
+ } else {
+ root.add_child_nocopy ((*i)->get_state());
+ }
}
}