X-Git-Url: http://git.tdb.fi/?p=libs%2Fgltk.git;a=blobdiff_plain;f=source%2Farrangement.cpp;h=581e6b405ccf9da2bbeea1f94401ab04bb185c01;hp=ec890efb7e08d55f8802c0c20f434e7a4e9bdfba;hb=32539688068fad9614291159b069da10ead10f47;hpb=304500a51a1a9d00e3c84ed2a6ffda0f829445b4 diff --git a/source/arrangement.cpp b/source/arrangement.cpp index ec890ef..581e6b4 100644 --- a/source/arrangement.cpp +++ b/source/arrangement.cpp @@ -48,6 +48,30 @@ void Arrangement::add_constraint(Widget &wdg, Layout::ConstraintType type, const layout.add_constraint(wdg, type, **i); } +Layout::ConstraintType Arrangement::get_order_constraint(Side s, bool slack) +{ + switch(s) + { + case TOP: return (slack ? Layout::FAR_ABOVE : Layout::ABOVE); + case RIGHT: return (slack ? Layout::FAR_RIGHT_OF : Layout::RIGHT_OF); + case BOTTOM: return (slack ? Layout::FAR_BELOW : Layout::BELOW); + case LEFT: return (slack ? Layout::FAR_LEFT_OF : Layout::LEFT_OF); + default: throw invalid_argument("Arrangement::get_align_constraint"); + } +} + +Layout::ConstraintType Arrangement::get_align_constraint(Side s) +{ + switch(s) + { + case TOP: return Layout::ALIGN_TOP; + case RIGHT: return Layout::ALIGN_RIGHT; + case BOTTOM: return Layout::ALIGN_BOTTOM; + case LEFT: return Layout::ALIGN_LEFT; + default: throw invalid_argument("Arrangement::get_align_constraint"); + } +} + Arrangement::Edge::Edge(): aligned(false)