#include <list>
#include <stdexcept>
#include <sigc++/trackable.h>
+#include "mspgltk_api.h"
#include "widget.h"
namespace Msp {
namespace GLtk {
-class hierarchy_error: public std::logic_error
+class MSPGLTK_API hierarchy_error: public std::logic_error
{
public:
hierarchy_error(const std::string &);
};
-class Container: virtual public Widget
+class MSPGLTK_API Container: virtual public Widget
{
protected:
struct Child: public sigc::trackable
{
Container &container;
- Widget *widget;
+ Widget *widget = 0;
Time::TimeDelta time_since_animate;
Child(Container &, Widget *);
};
std::list<Child *> children;
- Widget *click_focus;
- unsigned click_button;
- Widget *pointer_focus;
- bool pointer_grabbed;
- Widget *input_focus;
- Widget *saved_input_focus;
- Widget *touch_focus;
- bool children_rebuild_needed;
-
- Container();
+ Widget *click_focus = 0;
+ unsigned click_button = 0;
+ Widget *pointer_focus = 0;
+ bool pointer_grabbed = false;
+ Widget *input_focus = 0;
+ Widget *saved_input_focus = 0;
+ Widget *touch_focus = 0;
+ bool children_rebuild_needed = false;
+
+ Container() = default;
public:
virtual ~Container();