summaryrefslogtreecommitdiff
path: root/src/gui/window.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-03-19 16:27:51 -0600
committerJared Adams <jaxad0127@gmail.com>2009-03-19 16:27:51 -0600
commit61f4e3b9838ac7a0e06cd066ea07224670f1b851 (patch)
treebacea13fd0e6e4bd0ebacdb74eea6a9db114b4b4 /src/gui/window.cpp
parentdbf402a235d142b44c1936c305f6b3f4c02890bc (diff)
downloadMana-61f4e3b9838ac7a0e06cd066ea07224670f1b851.tar.gz
Mana-61f4e3b9838ac7a0e06cd066ea07224670f1b851.tar.bz2
Mana-61f4e3b9838ac7a0e06cd066ea07224670f1b851.tar.xz
Mana-61f4e3b9838ac7a0e06cd066ea07224670f1b851.zip
Make sure positionable dialogs start out centered
Diffstat (limited to 'src/gui/window.cpp')
-rw-r--r--src/gui/window.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/gui/window.cpp b/src/gui/window.cpp
index 4bc0e4d0..d4665427 100644
--- a/src/gui/window.cpp
+++ b/src/gui/window.cpp
@@ -67,10 +67,9 @@ Window::Window(const std::string& caption, bool modal, Window *parent, const std
mModal(modal),
mCloseButton(false),
mSticky(false),
- mMinWinWidth(100),
- mMinWinHeight(40),
- mMaxWinWidth(INT_MAX),
- mMaxWinHeight(INT_MAX),
+ mMinWinWidth(100), mDefaultWidth(100), mMaxWinWidth(INT_MAX),
+ mMinWinHeight(40), mDefaultHeight(40), mMaxWinHeight(INT_MAX),
+ mDefaultX(100), mDefaultY(100),
mSkin(skin)
{
logger->log("Window::Window(\"%s\")", caption.c_str());
@@ -492,6 +491,14 @@ void Window::setDefaultSize(int defaultX, int defaultY,
mDefaultHeight = defaultHeight;
}
+void Window::setDefaultSize()
+{
+ mDefaultX = getX();
+ mDefaultY = getY();
+ mDefaultWidth = getWidth();
+ mDefaultHeight = getHeight();
+}
+
void Window::resetToDefaultSize(bool changePosition)
{
if (changePosition) setPosition(mDefaultX, mDefaultY);
@@ -733,3 +740,8 @@ void Window::reflowLayout(int w, int h)
mLayout = NULL;
setContentSize(w, h);
}
+
+void Window::center()
+{
+ setLocationRelativeTo(getParent());
+}