diff options
author | Mateusz Kaduk <mateusz.kaduk@gmail.com> | 2004-12-22 08:44:44 +0000 |
---|---|---|
committer | Mateusz Kaduk <mateusz.kaduk@gmail.com> | 2004-12-22 08:44:44 +0000 |
commit | 008704e45a250522c82cc8ba118945e97e5bf17a (patch) | |
tree | e08db90f8363319e5241ef0c5b16820ef3a20c9b /src/gui | |
parent | a4a67125dfce17e8307bba6d283ed13d4bf542e7 (diff) | |
download | mana-008704e45a250522c82cc8ba118945e97e5bf17a.tar.gz mana-008704e45a250522c82cc8ba118945e97e5bf17a.tar.bz2 mana-008704e45a250522c82cc8ba118945e97e5bf17a.tar.xz mana-008704e45a250522c82cc8ba118945e97e5bf17a.zip |
- setup gets only called from game.cpp
- setup class changed
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/setup.cpp | 80 | ||||
-rw-r--r-- | src/gui/setup.h | 21 |
2 files changed, 47 insertions, 54 deletions
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 07ade6d3..8e6e23d6 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -7,69 +7,67 @@ #include "setup.h" -extern bool show_setup; - -/* - * Setup action listener - */ -void SetupActionListener::action(const std::string& eventId) { - if(eventId == "apply") { - puts("apply"); - show_setup = false; - } else if (eventId == "cancel") { - puts("calncel"); - show_setup = false; - } -} - /* * Display setup dialog */ -Setup::Setup() { - visible = false; - setupDialog = new gcn::Container(); +Setup::Setup(gcn::Container *parent) + : Window(parent, "Setup") +{ displayLabel = new gcn::Label("Display"); applyButton = new gcn::Button("Apply"); cancelButton = new gcn::Button("Cancel"); - /* Set dialog elements */ - setupDialog->setDimension(gcn::Rectangle(300,300,200,200)); - displayLabel->setPosition(4,14); - applyButton->setPosition(30,162); - cancelButton->setPosition(146,162); + /* Set dimension */ + displayLabel->setDimension(gcn::Rectangle(0,0,128, 16)); + applyButton->setDimension(gcn::Rectangle(0,0,128, 16)); + cancelButton->setDimension(gcn::Rectangle(0,0,128, 16)); /* Set events */ applyButton->setEventId("apply"); cancelButton->setEventId("cancel"); + /* Set position */ + displayLabel->setPosition(10,10); + applyButton->setPosition(10,100); + cancelButton->setPosition(100,100); + /* Listen for actions */ - SetupActionListener *setupActionListener = new SetupActionListener(); - applyButton->addActionListener(setupActionListener); - cancelButton->addActionListener(setupActionListener); + applyButton->addActionListener(this); + cancelButton->addActionListener(this); /* Assemble dialog */ - setupDialog->add(displayLabel); - setupDialog->add(applyButton); - setupDialog->add(cancelButton); - - setupDialog->setVisible(visible); - guiTop->add(setupDialog); + add(displayLabel); + add(applyButton); + add(cancelButton); + + setSize(240,216); + setLocationRelativeTo(getParent()); } Setup::~Setup() { - delete setupDialog; delete displayLabel; delete applyButton; delete cancelButton; } -void Setup::toggleVisible(bool toggle) { - if (!visible && toggle) { - visible = true; - } - else if (visible && !toggle) { - visible = false; - } +void Setup::action(const std::string& eventId) +{ + + if(eventId == "apply") { + puts("apply"); + } + else if(eventId == "cancel") { + puts("cancel"); + } +} + +void create_setup() { + Setup *setup; + setup = new Setup(guiTop); + + while(!key[KEY_ESC] && !key[KEY_ENTER]) { + gui_update(NULL); + } - setupDialog->setVisible(visible); + delete setup; } diff --git a/src/gui/setup.h b/src/gui/setup.h index bb211997..d94069a9 100644 --- a/src/gui/setup.h +++ b/src/gui/setup.h @@ -13,26 +13,21 @@ #include <winalleg.h> #endif -class Setup { - public: - Setup(); - ~Setup(); - void toggleVisible(bool toggle); - +class Setup : public Window, public gcn::ActionListener { private: - bool visible; /* Dialog parts */ - gcn::Container *setupDialog; gcn::Label *displayLabel; gcn::Button *applyButton; gcn::Button *cancelButton; -}; - -/* The action listener for setup dialog */ -class SetupActionListener : public gcn::ActionListener -{ + public: + Setup(gcn::Container *parent); + ~Setup(); + void action(const std::string& eventId); + }; +void create_setup(); + #endif |