#include <msp/gl/matrix.h>
#include <msp/strings/format.h>
+#include <msp/strings/utils.h>
#include "container.h"
#include "resources.h"
#include "root.h"
namespace Msp {
namespace GLtk {
-Widget::Widget():
- style(0),
- state(NORMAL),
- visible(true),
- input_type(INPUT_NONE),
- parent(0),
- rebuild_needed(false)
-{ }
-
Widget::~Widget()
{
if(parent)
{
Container *p = parent;
- parent = 0;
+ parent = nullptr;
p->remove(*this);
}
}
catch(...)
{
// The container has not yet added the widget as its child
- parent = 0;
+ parent = nullptr;
throw;
}
}
for(top=this; top->parent; top=top->parent) ;
Root *root = dynamic_cast<Root *>(top);
if(!root)
- style = 0;
+ style = nullptr;
else
{
string sname = get_class();
- if(!style_name.empty())
- {
- sname += '-';
- sname += style_name;
- }
+ append(sname, "-", style_name);
style = &root->get_resources().get<Style>(sname);
}