summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-11-20 12:27:56 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-11-20 12:27:56 +0000
commitca58ec1faedca0081ecd233f2cefa1ba783cebf4 (patch)
tree11216c01bb8867a9bd4ad6d4b8bdefc3c61a952a /src/gui
parent5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc (diff)
downloadmana-client-ca58ec1faedca0081ecd233f2cefa1ba783cebf4.tar.gz
mana-client-ca58ec1faedca0081ecd233f2cefa1ba783cebf4.tar.bz2
mana-client-ca58ec1faedca0081ecd233f2cefa1ba783cebf4.tar.xz
mana-client-ca58ec1faedca0081ecd233f2cefa1ba783cebf4.zip
Merged revisions 3642,3662-3664,3667 via svnmerge from
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk ........ r3642 | gmelquio | 2007-10-19 19:46:46 +0200 (Fri, 19 Oct 2007) | 1 line Factored code between resource handlers. Implemented failure-friendly sprite loader. ........ r3662 | gmelquio | 2007-10-21 21:01:16 +0200 (Sun, 21 Oct 2007) | 1 line Added persistent positioning. ........ r3663 | gmelquio | 2007-10-21 21:03:43 +0200 (Sun, 21 Oct 2007) | 1 line Fixed missing pixels at bottom and right. ........ r3664 | gmelquio | 2007-10-21 21:05:56 +0200 (Sun, 21 Oct 2007) | 1 line Changed to use default values when restoring missing settings. ........ r3667 | gmelquio | 2007-10-21 22:09:08 +0200 (Sun, 21 Oct 2007) | 1 line Fixed invisible text in dropboxes and shopboxes. ........
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/listbox.cpp1
-rw-r--r--src/gui/menuwindow.cpp9
-rw-r--r--src/gui/ministatus.cpp1
-rw-r--r--src/gui/shoplistbox.cpp1
-rw-r--r--src/gui/trade.cpp2
-rw-r--r--src/gui/window.cpp15
-rw-r--r--src/gui/window.h7
7 files changed, 19 insertions, 17 deletions
diff --git a/src/gui/listbox.cpp b/src/gui/listbox.cpp
index a7f6df8d..94e8b38c 100644
--- a/src/gui/listbox.cpp
+++ b/src/gui/listbox.cpp
@@ -52,6 +52,7 @@ void ListBox::draw(gcn::Graphics *graphics)
}
// Draw the list elements
+ graphics->setColor(gcn::Color(0, 0, 0));
for (int i = 0, y = 0;
i < mListModel->getNumberOfElements();
++i, y += fontHeight)
diff --git a/src/gui/menuwindow.cpp b/src/gui/menuwindow.cpp
index e6b35f5a..2043b7d1 100644
--- a/src/gui/menuwindow.cpp
+++ b/src/gui/menuwindow.cpp
@@ -66,22 +66,19 @@ MenuWindow::MenuWindow():
"Setup",
0
};
- int x = 0, y = 3, h = 0;
+ int x = 0, h = 0;
for (const char **curBtn = buttonNames; *curBtn; curBtn++)
{
gcn::Button *btn = new Button(*curBtn, *curBtn, &listener);
- btn->setPosition(x, y);
+ btn->setPosition(x, 0);
add(btn);
x += btn->getWidth() + 3;
h = btn->getHeight();
}
+ setPosition(windowContainer->getWidth() - x - 3, 3);
setContentSize(x - 3, h);
- setDefaultSize(windowContainer->getWidth() - getWidth() - 1,
- 0,
- x - 3,
- y + h);
}
void MenuWindow::draw(gcn::Graphics *graphics)
diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp
index 694a6f32..8f121368 100644
--- a/src/gui/ministatus.cpp
+++ b/src/gui/ministatus.cpp
@@ -78,6 +78,7 @@ MiniStatusWindow::MiniStatusWindow():
setDefaultSize(0, 0, mXpBar->getX() + mXpBar->getWidth(),
mXpBar->getY() + mXpBar->getHeight());
+ loadWindowState();
}
void MiniStatusWindow::update()
diff --git a/src/gui/shoplistbox.cpp b/src/gui/shoplistbox.cpp
index 4efd6e64..610ad76c 100644
--- a/src/gui/shoplistbox.cpp
+++ b/src/gui/shoplistbox.cpp
@@ -95,6 +95,7 @@ void ShopListBox::draw(gcn::Graphics *gcnGraphics)
graphics->drawImage(icon, 1, y);
}
}
+ graphics->setColor(gcn::Color(0, 0, 0));
graphics->drawText(mListModel->getElementAt(i), ITEM_ICON_SIZE + 5,
y + (ITEM_ICON_SIZE - getFont()->getHeight()) / 2);
}
diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp
index 06daf3ef..744afe1e 100644
--- a/src/gui/trade.cpp
+++ b/src/gui/trade.cpp
@@ -99,6 +99,8 @@ TradeWindow::TradeWindow(Network *network):
add(mMoneyField);
add(mMoneyLabel);
+ loadWindowState();
+
gcn::Rectangle area = getChildrenArea();
int width = area.width;
int height = area.height;
diff --git a/src/gui/window.cpp b/src/gui/window.cpp
index 8317684a..90031545 100644
--- a/src/gui/window.cpp
+++ b/src/gui/window.cpp
@@ -526,17 +526,21 @@ Window::loadWindowState()
{
const std::string &name = mWindowName;
- setPosition((int) config.getValue(name + "WinX", getX()),
- (int) config.getValue(name + "WinY", getY()));
+ setPosition((int) config.getValue(name + "WinX", mDefaultX),
+ (int) config.getValue(name + "WinY", mDefaultY));
if (mGrip)
{
- setSize((int) config.getValue(name + "WinWidth", getWidth()),
- (int) config.getValue(name + "WinHeight", getHeight()));
+ setSize((int) config.getValue(name + "WinWidth", mDefaultWidth),
+ (int) config.getValue(name + "WinHeight", mDefaultHeight));
const gcn::Rectangle area = getChildrenArea();
mChrome->setSize(area.width, area.height);
}
+ else
+ {
+ setContentSize(mDefaultWidth, mDefaultHeight);
+ }
}
void Window::setDefaultSize(int defaultX, int defaultY,
@@ -546,9 +550,6 @@ void Window::setDefaultSize(int defaultX, int defaultY,
mDefaultY = defaultY;
mDefaultWidth = defaultWidth;
mDefaultHeight = defaultHeight;
-
- setPosition(mDefaultX, mDefaultY);
- setContentSize(mDefaultWidth, mDefaultHeight);
}
void Window::resetToDefaultSize()
diff --git a/src/gui/window.h b/src/gui/window.h
index 8e3fdef9..18f97cec 100644
--- a/src/gui/window.h
+++ b/src/gui/window.h
@@ -255,10 +255,9 @@ class Window : public gcn::Window
getWindowName() { return mWindowName; }
/**
- * Read the x, y, and width and height for resizables in the config
- * based on the name of the window.
- * That function let the values set with set{X, Y, Height, width}()
- * if no config value is found.
+ * Reads the position (and the size for resizable windows) in the
+ * configuration based on the given string.
+ * Uses the default values when config values are missing.
* Don't forget to set these default values and resizable before
* calling this function.
*/