X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flayout.h;h=b8c4eddf51c526222538457b64a971d6e6e83ad2;hb=8eeb6ee5d40c21150839e24996cc3e9ef308374d;hp=2de4013a5d1e8b943cf939abd5b63b114e5fd1e3;hpb=b30edd979e6e9c7acfaaf3a90903814a7e62a71e;p=libs%2Fgltk.git diff --git a/source/layout.h b/source/layout.h index 2de4013..b8c4edd 100644 --- a/source/layout.h +++ b/source/layout.h @@ -86,7 +86,42 @@ public: COPY_HEIGHT = VERTICAL|SELF_DIM|TARGET_DIM }; + class Loader: public DataFile::ObjectLoader + { + public: + typedef std::map WidgetMap; + + private: + const WidgetMap &wdg_map; + + public: + Loader(Layout &, const WidgetMap &); + + private: + void column_spacing(unsigned); + void margin(); + void row_spacing(unsigned); + void spacing(unsigned); + void widget(const std::string &); + }; + private: + class WidgetLoader: public DataFile::Loader + { + private: + Layout &layout; + Widget &widget; + const Layout::Loader::WidgetMap &wdg_map; + + public: + WidgetLoader(Layout &, Widget &, const Layout::Loader::WidgetMap &); + + private: + void constraint(ConstraintType, const std::string &); + void expand(bool, bool); + void gravity(int, int); + }; + struct Slot; struct Constraint