X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farrangement.h;h=26e28a6f10f4967b45b480a8bd76005e84672f22;hb=762a689d799075c0a10e1633bf95d53de80b4572;hp=31001c4d081686e8932e68acf541f1a0b6fb957e;hpb=56c41b294aa47a38ac3e1be70d4868f260cb4274;p=libs%2Fgltk.git diff --git a/source/arrangement.h b/source/arrangement.h index 31001c4..26e28a6 100644 --- a/source/arrangement.h +++ b/source/arrangement.h @@ -1,8 +1,9 @@ #ifndef MSP_GLTK_ARRANGEMENT_H_ #define MSP_GLTK_ARRANGEMENT_H_ -#include #include +#include +#include #include "layout.h" #include "mspgltk_api.h" @@ -15,10 +16,9 @@ class MSPGLTK_API arrangement_error: public std::logic_error { public: arrangement_error(const std::string &w): std::logic_error(w) { } - virtual ~arrangement_error() throw() { } }; -class MSPGLTK_API Arrangement +class MSPGLTK_API Arrangement: public NonCopyable { protected: enum Side @@ -31,10 +31,8 @@ protected: struct Edge { - std::list widgets; - bool aligned; - - Edge(); + std::vector widgets; + bool aligned = false; bool empty() { return widgets.empty(); } void clear(); @@ -43,7 +41,7 @@ protected: }; Layout &layout; - Arrangement *parent; + Arrangement *parent = nullptr; Edge edges[4]; Arrangement(Layout &);