X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farrangement.h;h=26e28a6f10f4967b45b480a8bd76005e84672f22;hb=762a689d799075c0a10e1633bf95d53de80b4572;hp=7028aed4ecfd868b0ccfedb56e58194094179e02;hpb=d85d9bd7dae120e3e7ebaf64e7b78a975fab94a6;p=libs%2Fgltk.git diff --git a/source/arrangement.h b/source/arrangement.h index 7028aed..26e28a6 100644 --- a/source/arrangement.h +++ b/source/arrangement.h @@ -1,23 +1,24 @@ #ifndef MSP_GLTK_ARRANGEMENT_H_ #define MSP_GLTK_ARRANGEMENT_H_ -#include #include +#include +#include #include "layout.h" +#include "mspgltk_api.h" namespace Msp { namespace GLtk { class Widget; -class arrangement_error: public std::logic_error +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 Arrangement +class MSPGLTK_API Arrangement: public NonCopyable { protected: enum Side @@ -30,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(); @@ -42,7 +41,7 @@ protected: }; Layout &layout; - Arrangement *parent; + Arrangement *parent = nullptr; Edge edges[4]; Arrangement(Layout &);