summaryrefslogtreecommitdiff
path: root/src/gui/widgets/layout.cpp
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-10-20 17:38:23 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-10-20 17:38:23 +0000
commit94ab3f3afa12f9f73d7f832e95aa0af2d9efdf16 (patch)
treef16d0fbe9c185ed57ff311ca99db02b29a455fe9 /src/gui/widgets/layout.cpp
parentaab0b1724897e186d2d4056da7f0cd34ccc12fcb (diff)
downloadmana-client-94ab3f3afa12f9f73d7f832e95aa0af2d9efdf16.tar.gz
mana-client-94ab3f3afa12f9f73d7f832e95aa0af2d9efdf16.tar.bz2
mana-client-94ab3f3afa12f9f73d7f832e95aa0af2d9efdf16.tar.xz
mana-client-94ab3f3afa12f9f73d7f832e95aa0af2d9efdf16.zip
Set FILL as default size in layout. Converted server selection dialog to layout handler.
Diffstat (limited to 'src/gui/widgets/layout.cpp')
-rw-r--r--src/gui/widgets/layout.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gui/widgets/layout.cpp b/src/gui/widgets/layout.cpp
index 2133b077..9d0b4791 100644
--- a/src/gui/widgets/layout.cpp
+++ b/src/gui/widgets/layout.cpp
@@ -31,14 +31,14 @@ void Layout::resizeGrid(int w, int h)
if (extH)
{
- mSizes[1].resize(h, 0);
+ mSizes[1].resize(h, FILL);
mCells.resize(h);
if (!extW) w = mSizes[0].size();
}
if (extW)
{
- mSizes[0].resize(w, 0);
+ mSizes[0].resize(w, FILL);
}
for (std::vector< std::vector< Cell > >::iterator
@@ -79,6 +79,9 @@ Cell &Layout::place(gcn::Widget *widget, int x, int y, int w, int h)
cell.mPadding = 0;
cell.mAlign[0] = Cell::FILL;
cell.mAlign[1] = Cell::FILL;
+ int &cs = mSizes[0][x], &rs = mSizes[1][y];
+ if (cs == FILL) cs = 0;
+ if (rs == FILL) rs = 0;
return cell;
}
@@ -137,8 +140,8 @@ std::vector< int > Layout::compute(int dim, int upp)
for (int i = 0; i < nb; ++i)
{
if (mSizes[dim][i] == FILL) ++nbFill;
- if (sizes[i] > 0) upp -= sizes[i];
- upp -= mPadding;
+ if (sizes[i] == FILL) sizes[i] = 0;
+ else upp -= sizes[i];
}
upp += mPadding;