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
1 changed files with 14 additions and 31 deletions

View File

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