X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgrid.cpp;h=3b44ac857e0058e9e6d34de38ffd158aced3e17e;hb=HEAD;hp=b3e9c43c311898896638e267d13edcdc88cba1a7;hpb=646af3dd91a6ca981572a5b69a0f0bd205d9af49;p=libs%2Fgltk.git diff --git a/source/grid.cpp b/source/grid.cpp index b3e9c43..eb32cc9 100644 --- a/source/grid.cpp +++ b/source/grid.cpp @@ -3,11 +3,9 @@ namespace Msp { namespace GLtk { -Grid::Grid(Layout &l, unsigned c): +Grid::Grid(Layout &l, size_t c): Arrangement(l), - columns(c), - first_row(true), - column(0) + columns(c) { } void Grid::skip() @@ -17,6 +15,9 @@ void Grid::skip() void Grid::next_row() { + if(row_bottom.empty()) + throw arrangement_error("empty row not allowed"); + finish_row(); } @@ -84,5 +85,23 @@ void Grid::finish_row() column = 0; } + +Grid::Loader::Loader(Grid &g): + DataFile::ObjectLoader(g) +{ + add("next_row", &Loader::next_row); + add("skip", &Loader::skip); +} + +void Grid::Loader::next_row() +{ + obj.next_row(); +} + +void Grid::Loader::skip() +{ + obj.skip(); +} + } // namespace GLtk } // namespace Msp