13
0

Use XMLNode::get/set_property API in Gtkmm2ext::WindowProxy class

This commit is contained in:
Tim Mayberry 2016-08-28 23:49:46 +10:00
parent 6779770fee
commit 9488cb0b69

View File

@ -20,7 +20,6 @@
#include <gtkmm/action.h> #include <gtkmm/action.h>
#include <gtkmm/window.h> #include <gtkmm/window.h>
#include "pbd/convert.h"
#include "pbd/xml++.h" #include "pbd/xml++.h"
#include "pbd/stacktrace.h" #include "pbd/stacktrace.h"
@ -89,8 +88,9 @@ WindowProxy::set_state (const XMLNode& node, int /* version */)
while (i != children.end()) { while (i != children.end()) {
child = *i; child = *i;
XMLProperty const * prop = child->property (X_("name")); std::string name;
if (child->name() == X_("Window") && prop && prop->value() == _name) { if (child->name () == X_("Window") && child->get_property (X_("name"), name) &&
name == _name) {
break; break;
} }
@ -99,25 +99,13 @@ WindowProxy::set_state (const XMLNode& node, int /* version */)
if (i != children.end()) { if (i != children.end()) {
XMLProperty const * prop;
child = *i; child = *i;
if ((prop = child->property (X_("visible"))) != 0) { child->get_property (X_("visible"), _visible);
_visible = PBD::string_is_affirmative (prop->value ()); child->get_property (X_("x-off"), _x_off);
} child->get_property (X_("y-off"), _y_off);
child->get_property (X_("x-size"), _width);
if ((prop = child->property (X_("x-off"))) != 0) { child->get_property (X_("y-size"), _height);
_x_off = atoi (prop->value());
}
if ((prop = child->property (X_("y-off"))) != 0) {
_y_off = atoi (prop->value());
}
if ((prop = child->property (X_("x-size"))) != 0) {
_width = atoi (prop->value());
}
if ((prop = child->property (X_("y-size"))) != 0) {
_height = atoi (prop->value());
}
} }
if (_window) { if (_window) {
@ -180,9 +168,8 @@ XMLNode&
WindowProxy::get_state () WindowProxy::get_state ()
{ {
XMLNode* node = new XMLNode (xml_node_name()); XMLNode* node = new XMLNode (xml_node_name());
char buf[32];
node->add_property (X_("name"), _name); node->set_property (X_("name"), _name);
if (_window && vistracker) { if (_window && vistracker) {
@ -211,15 +198,11 @@ WindowProxy::get_state ()
h = -1; h = -1;
} }
node->add_property (X_("visible"), _visible? X_("yes") : X_("no")); node->set_property (X_("visible"), _visible);
snprintf (buf, sizeof (buf), "%d", x); node->set_property (X_("x-off"), x);
node->add_property (X_("x-off"), buf); node->set_property (X_("y-off"), y);
snprintf (buf, sizeof (buf), "%d", y); node->set_property (X_("x-size"), w);
node->add_property (X_("y-off"), buf); node->set_property (X_("y-size"), h);
snprintf (buf, sizeof (buf), "%d", w);
node->add_property (X_("x-size"), buf);
snprintf (buf, sizeof (buf), "%d", h);
node->add_property (X_("y-size"), buf);
return *node; return *node;
} }