basic options window

This commit is contained in:
Eduardo Bart 2011-04-17 18:15:24 -03:00
parent 8ef534e7b7
commit 5be199e566
5 changed files with 131 additions and 10 deletions

View File

@ -44,11 +44,12 @@ window#infoWindow:
margin.right: 9 margin.right: 9
lineDecoration#bottomSeparator: lineDecoration#bottomSeparator:
size: [218,2]
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.right: parent.right
margin.top: 181 anchors.bottom: parent.bottom
margin.bottom: 40
margin.left: 13 margin.left: 13
margin.right: 13
button#okButton: button#okButton:
text: Ok text: Ok

111
data/ui/optionsWindow.yml Normal file
View File

@ -0,0 +1,111 @@
window#optionsWindow:
title: Info
size: [286, 262]
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
# general
button#generalButton:
text: General
anchors.left: parent.left
anchors.top: parent.top
margin.left: 18
margin.top: 32
label#generalLabel:
text: |-
Change general
game options
anchors.left: parent.left
anchors.top: parent.top
margin.left: 117
margin.top: 29
# graphics
button#graphicsButton:
text: Graphics
anchors.left: parent.left
anchors.top: parent.top
margin.left: 18
margin.top: 65
label#graphicsLabel:
text: |-
Change graphics and
performance settings
anchors.left: parent.left
anchors.top: parent.top
margin.left: 117
margin.top: 62
# console
button#consoleButton:
text: Console
anchors.left: parent.left
anchors.top: parent.top
margin.left: 18
margin.top: 98
label#consoleLabel:
text: Customise the console
anchors.left: parent.left
anchors.top: parent.top
margin.left: 117
margin.top: 95
# hotkeys
button#hotkeysButton:
text: Hotkeys
anchors.left: parent.left
anchors.top: parent.top
margin.left: 18
margin.top: 131
label#hotkeysLabel:
text: Edit your hotkey texts
anchors.left: parent.left
anchors.top: parent.top
margin.left: 117
margin.top: 128
lineDecoration#middleSeparator:
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
margin.bottom: 97
margin.left: 18
margin.right: 18
# motd
button#motdButton:
text: Motd
anchors.left: parent.left
anchors.bottom: parent.bottom
margin.left: 18
margin.bottom: 60
label#motdLabel:
text: |-
Show the most recent
Message of the Day
anchors.left: parent.left
anchors.bottom: parent.bottom
margin.left: 117
margin.bottom: 56
lineDecoration#bottomSeparator:
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
margin.bottom: 40
margin.left: 13
margin.right: 13
# ok button
button#okButton:
text: Ok
size: [43, 20]
anchors.right: parent.right
anchors.bottom: parent.bottom
margin.right: 10
margin.bottom: 13

View File

@ -118,17 +118,11 @@ void Graphics::beginRender()
{ {
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity(); glLoadIdentity();
// quads is the default drawing mode
glBegin(GL_QUADS);
m_drawMode = DRAW_QUADS;
} }
void Graphics::endRender() void Graphics::endRender()
{ {
// end last drawing disableDrawing();
glEnd();
m_drawMode = DRAW_NONE;
} }
void Graphics::disableDrawing() void Graphics::disableDrawing()

View File

@ -48,6 +48,9 @@ void MenuState::onEnter()
button = boost::static_pointer_cast<UIButton>(mainMenuPanel->getChildById("infoButton")); button = boost::static_pointer_cast<UIButton>(mainMenuPanel->getChildById("infoButton"));
button->setOnClick(boost::bind(&MenuState::infoButton_clicked, this)); button->setOnClick(boost::bind(&MenuState::infoButton_clicked, this));
button = boost::static_pointer_cast<UIButton>(mainMenuPanel->getChildById("optionsButton"));
button->setOnClick(boost::bind(&MenuState::optionsButton_clicked, this));
} }
void MenuState::onLeave() void MenuState::onLeave()
@ -124,3 +127,14 @@ void MenuState::enterGameWindowOkButton_clicked()
//m_protocolLogin->login(accountName, password); //m_protocolLogin->login(accountName, password);
} }
void MenuState::optionsButton_clicked()
{
UIWindowPtr window = boost::static_pointer_cast<UIWindow>(UILoader::loadFile("ui/optionsWindow.yml"));
window->getParent()->lockElement(window);
UIButtonPtr button = boost::static_pointer_cast<UIButton>(window->getChildById("okButton"));
button->setOnClick([] {
UIWindowPtr window = boost::static_pointer_cast<UIWindow>(UIContainer::getRootContainer()->getChildById("optionsWindow"));
window->getParent()->unlockElement();
window->destroy();
});
}

View File

@ -48,6 +48,7 @@ public:
private: private:
void enterGameButton_clicked(); void enterGameButton_clicked();
void infoButton_clicked(); void infoButton_clicked();
void optionsButton_clicked();
void enterGameWindowOkButton_clicked(); void enterGameWindowOkButton_clicked();