From 81cf85e9ec1d37dc6e8dd9883f42bb50dace9135 Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Thu, 9 Mar 2006 02:02:57 +0000 Subject: Made the Button ctor accept eventId and action listener. --- ChangeLog | 11 ++++++++++ src/gui/buddywindow.cpp | 13 ++++-------- src/gui/button.cpp | 7 +++++- src/gui/button.h | 3 ++- src/gui/buy.cpp | 17 ++++----------- src/gui/buysell.cpp | 4 +--- src/gui/char_select.cpp | 52 ++++++++++++--------------------------------- src/gui/char_server.cpp | 8 ++----- src/gui/confirm_dialog.cpp | 9 ++------ src/gui/connection.cpp | 6 ++---- src/gui/debugwindow.cpp | 4 +--- src/gui/help.cpp | 5 +---- src/gui/inventorywindow.cpp | 9 ++------ src/gui/item_amount.cpp | 16 ++++---------- src/gui/login.cpp | 12 +++-------- src/gui/menuwindow.cpp | 4 +--- src/gui/newskill.cpp | 44 +++++++++----------------------------- src/gui/npc_text.cpp | 5 +---- src/gui/npclistdialog.cpp | 8 ++----- src/gui/ok_dialog.cpp | 5 +---- src/gui/register.cpp | 9 ++------ src/gui/sell.cpp | 16 ++++---------- src/gui/setup.cpp | 16 ++++---------- src/gui/skill.cpp | 12 +++-------- src/gui/status.cpp | 18 ++++++---------- src/gui/tabbedcontainer.cpp | 8 +++---- src/gui/trade.cpp | 18 ++++------------ src/gui/updatewindow.cpp | 8 ++----- 28 files changed, 101 insertions(+), 246 deletions(-) diff --git a/ChangeLog b/ChangeLog index dbf05f03..6d165663 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2006-03-09 Björn Steinbrink + * src/gui/buddywindow.cpp, src/gui/connection.cpp, src/gui/sell.cpp, + src/gui/trade.cpp, src/gui/char_server.cpp, src/gui/login.cpp, + src/gui/button.h, src/gui/newskill.cpp, src/gui/setup.cpp, + src/gui/updatewindow.cpp, src/gui/button.cpp, src/gui/char_select.cpp + ,src/gui/item_amount.cpp, src/gui/npc_text.cpp, src/gui/ok_dialog.cpp, + src/gui/confirm_dialog.cpp, src/gui/debugwindow.cpp, + src/gui/tabbedcontainer.cpp, src/gui/inventorywindow.cpp, + src/gui/help.cpp, src/gui/menuwindow.cpp, src/gui/buy.cpp, + src/gui/skill.cpp, src/gui/buysell.cpp, src/gui/status.cpp, + src/gui/register.cpp, src/gui/npclistdialog.cpp: Made the Button ctor + accept eventId and action listener. * src/localplayer.cpp, src/game.cpp, src/gui/trade.cpp, src/gui/inventorywindow.cpp, src/gui/trade.h, src/localplayer.h, src/game.h: Use std::auto_ptr in some places. diff --git a/src/gui/buddywindow.cpp b/src/gui/buddywindow.cpp index cfa21b63..19a2f1e0 100644 --- a/src/gui/buddywindow.cpp +++ b/src/gui/buddywindow.cpp @@ -48,17 +48,12 @@ BuddyWindow::BuddyWindow(): 7, 5, 110, 170)); add(scrollArea); - Button *talk = new Button("Talk"); + Button *talk = new Button("Talk", "Talk", this); + Button *remove = new Button("Remove", "Remove", this); + Button *cancel = new Button("Cancel", "Cancel", this); + talk->setPosition(2,180); - talk->addActionListener(this); - talk->setEventId("Talk"); - Button *remove = new Button("Remove"); - remove->addActionListener(this); - remove->setEventId("Remove"); remove->setPosition(talk->getWidth()+2,180); - Button *cancel = new Button("Cancel"); - cancel->addActionListener(this); - cancel->setEventId("Cancel"); cancel->setPosition(talk->getWidth()+remove->getWidth()+2,180); add(talk); diff --git a/src/gui/button.cpp b/src/gui/button.cpp index 8e57181e..9d01095b 100644 --- a/src/gui/button.cpp +++ b/src/gui/button.cpp @@ -39,7 +39,8 @@ ImageRect Button::button[4]; int Button::mInstances = 0; -Button::Button(const std::string& caption): +Button::Button(const std::string& caption, const std::string &eventId, + gcn::ActionListener *listener): gcn::Button(caption) { setBorderSize(0); @@ -74,6 +75,10 @@ Button::Button(const std::string& caption): } mInstances++; + setEventId(eventId); + if (listener) { + addActionListener(listener); + } } Button::~Button() diff --git a/src/gui/button.h b/src/gui/button.h index 86467769..36d8f7a1 100644 --- a/src/gui/button.h +++ b/src/gui/button.h @@ -40,7 +40,8 @@ class Button : public gcn::Button { /** * Constructor, sets the caption of the button to the given string. */ - Button(const std::string& caption); + Button(const std::string& caption, const std::string &eventId, + gcn::ActionListener *listener); /** * Destructor. diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp index 71f502f2..42c6ff2f 100644 --- a/src/gui/buy.cpp +++ b/src/gui/buy.cpp @@ -53,10 +53,10 @@ BuyDialog::BuyDialog(Network *network): slider = new Slider(1.0); quantityLabel = new gcn::Label("0"); moneyLabel = new gcn::Label("Price: 0 GP"); - increaseButton = new Button("+"); - decreaseButton = new Button("-"); - buyButton = new Button("Buy"); - quitButton = new Button("Quit"); + increaseButton = new Button("+", "+", this); + decreaseButton = new Button("-", "-", this); + buyButton = new Button("Buy", "buy", this); + quitButton = new Button("Quit", "quit", this); itemDescLabel = new gcn::Label("Description:"); itemEffectLabel = new gcn::Label("Effect:"); @@ -89,18 +89,9 @@ BuyDialog::BuyDialog(Network *network): itemList->setEventId("item"); slider->setEventId("slider"); - increaseButton->setEventId("+"); - decreaseButton->setEventId("-"); - buyButton->setEventId("buy"); - quitButton->setEventId("quit"); itemList->addActionListener(this); slider->addActionListener(this); - increaseButton->addActionListener(this); - decreaseButton->addActionListener(this); - buyButton->addActionListener(this); - quitButton->addActionListener(this); - add(scrollArea); add(slider); diff --git a/src/gui/buysell.cpp b/src/gui/buysell.cpp index d4c33d30..6e338f08 100644 --- a/src/gui/buysell.cpp +++ b/src/gui/buysell.cpp @@ -38,10 +38,8 @@ BuySellDialog::BuySellDialog(): for (const char **curBtn = buttonNames; *curBtn; curBtn++) { - Button *btn = new Button(*curBtn); + Button *btn = new Button(*curBtn, *curBtn, this); if (!buyButton) buyButton = btn; // For focus request - btn->setEventId(*curBtn); - btn->addActionListener(this); btn->setPosition(x, y); add(btn); x += btn->getWidth() + 10; diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp index 7ce2a77d..72f0b554 100644 --- a/src/gui/char_select.cpp +++ b/src/gui/char_select.cpp @@ -71,25 +71,19 @@ void CharDeleteConfirm::action(const std::string &eventId) CharSelectDialog::CharSelectDialog(Network *network, LockedArray *charInfo): Window("Select Character"), mNetwork(network), mCharInfo(charInfo), mCharSelected(false) { - selectButton = new Button("Ok"); - cancelButton = new Button("Cancel"); - newCharButton = new Button("New"); - delCharButton = new Button("Delete"); - previousButton = new Button("Previous"); - nextButton = new Button("Next"); + selectButton = new Button("Ok", "ok", this); + cancelButton = new Button("Cancel", "cancel", this); + newCharButton = new Button("New", "new", this); + delCharButton = new Button("Delete", "delete", this); + previousButton = new Button("Previous", "previous", this); + nextButton = new Button("Next", "next", this); + nameLabel = new gcn::Label("Name"); levelLabel = new gcn::Label("Level"); jobLevelLabel = new gcn::Label("Job Level"); moneyLabel = new gcn::Label("Money"); playerBox = new PlayerBox(); - selectButton->setEventId("ok"); - newCharButton->setEventId("new"); - cancelButton->setEventId("cancel"); - delCharButton->setEventId("delete"); - previousButton->setEventId("previous"); - nextButton->setEventId("next"); - int w = 195; int h = 220; setContentSize(w, h); @@ -123,14 +117,6 @@ CharSelectDialog::CharSelectDialog(Network *network, LockedArray * add(jobLevelLabel); add(moneyLabel); - // Set up event listener - selectButton->addActionListener(this); - cancelButton->addActionListener(this); - newCharButton->addActionListener(this); - delCharButton->addActionListener(this); - previousButton->addActionListener(this); - nextButton->addActionListener(this); - selectButton->requestFocus(); setLocationRelativeTo(getParent()); updatePlayerInfo(); @@ -250,24 +236,18 @@ CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network): { nameField = new TextField(""); nameLabel = new gcn::Label("Name:"); - nextHairColorButton = new Button(">"); - prevHairColorButton = new Button("<"); + nextHairColorButton = new Button(">", "nextcolor", this); + prevHairColorButton = new Button("<", "prevcolor", this); hairColorLabel = new gcn::Label("Hair Color:"); - nextHairStyleButton = new Button(">"); - prevHairStyleButton = new Button("<"); + nextHairStyleButton = new Button(">", "nextstyle", this); + prevHairStyleButton = new Button("<", "prevstyle", this); hairStyleLabel = new gcn::Label("Hair Style:"); - createButton = new Button("Create"); - cancelButton = new Button("Cancel"); + createButton = new Button("Create", "create", this); + cancelButton = new Button("Cancel", "cancel", this); playerBox = new PlayerBox(); playerBox->showPlayer = true; nameField->setEventId("create"); - nextHairColorButton->setEventId("nextcolor"); - prevHairColorButton->setEventId("prevcolor"); - nextHairStyleButton->setEventId("nextstyle"); - prevHairStyleButton->setEventId("prevstyle"); - createButton->setEventId("create"); - cancelButton->setEventId("cancel"); int w = 200; int h = 150; @@ -290,12 +270,6 @@ CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network): h - 5 - cancelButton->getHeight()); nameField->addActionListener(this); - nextHairColorButton->addActionListener(this); - prevHairColorButton->addActionListener(this); - nextHairStyleButton->addActionListener(this); - prevHairStyleButton->addActionListener(this); - createButton->addActionListener(this); - cancelButton->addActionListener(this); add(playerBox); add(nameField); diff --git a/src/gui/char_server.cpp b/src/gui/char_server.cpp index 876bcd0e..37ef0462 100644 --- a/src/gui/char_server.cpp +++ b/src/gui/char_server.cpp @@ -54,8 +54,8 @@ ServerSelectDialog::ServerSelectDialog(LoginData *loginData): serverListModel = new ServerListModel(); serverList = new ListBox(serverListModel); scrollArea = new ScrollArea(serverList); - okButton = new Button("OK"); - cancelButton = new Button("Cancel"); + okButton = new Button("OK", "ok", this); + cancelButton = new Button("Cancel", "cancel", this); setContentSize(200, 100); @@ -72,12 +72,8 @@ ServerSelectDialog::ServerSelectDialog(LoginData *loginData): scrollArea->getBorderSize())); serverList->setEventId("ok"); - okButton->setEventId("ok"); - cancelButton->setEventId("cancel"); //serverList->addActionListener(this); - okButton->addActionListener(this); - cancelButton->addActionListener(this); add(scrollArea); add(okButton); diff --git a/src/gui/confirm_dialog.cpp b/src/gui/confirm_dialog.cpp index becb8859..2d574157 100644 --- a/src/gui/confirm_dialog.cpp +++ b/src/gui/confirm_dialog.cpp @@ -33,8 +33,8 @@ ConfirmDialog::ConfirmDialog(const std::string &title, const std::string &msg, Window(title, true, parent) { gcn::Label *textLabel = new gcn::Label(msg); - gcn::Button *yesButton = new Button("Yes"); - gcn::Button *noButton = new Button("No"); + gcn::Button *yesButton = new Button("Yes", "yes", this); + gcn::Button *noButton = new Button("No", "no", this); int w = textLabel->getWidth() + 20; int inWidth = yesButton->getWidth() + noButton->getWidth() + 5; @@ -53,11 +53,6 @@ ConfirmDialog::ConfirmDialog(const std::string &title, const std::string &msg, yesButton->getX() + yesButton->getWidth() + 5, h - 5 - noButton->getHeight()); - yesButton->setEventId("yes"); - noButton->setEventId("no"); - yesButton->addActionListener(this); - noButton->addActionListener(this); - add(textLabel); add(yesButton); add(noButton); diff --git a/src/gui/connection.cpp b/src/gui/connection.cpp index 372537a8..36fa316d 100644 --- a/src/gui/connection.cpp +++ b/src/gui/connection.cpp @@ -49,11 +49,9 @@ ConnectionDialog::ConnectionDialog(): { setContentSize(200, 100); - Button *cancelButton; - cancelButton = new Button("Cancel"); + Button *cancelButton = new Button("Cancel", "cancelButton", + &connectionActionListener); cancelButton->setPosition(5, 100 - 5 - cancelButton->getHeight()); - cancelButton->setEventId("cancel"); - cancelButton->addActionListener(&connectionActionListener); mProgressBar = new ProgressBar(0.0, 5, cancelButton->getY() - 25, 200 - 10, 20, 128, 128, 128); diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index b629ddab..a327eec3 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -54,10 +54,8 @@ DebugWindow::DebugWindow(): tileMouseLabel = new gcn::Label("[Mouse: 0, 0]"); tileMouseLabel->setPosition(100, 0); - Button *closeButton = new Button("Close"); - closeButton->setEventId("close"); + Button *closeButton = new Button("Close", "close", this); closeButton->setPosition(5, 60); - closeButton->addActionListener(this); add(FPSLabel); add(musicFileLabel); diff --git a/src/gui/help.cpp b/src/gui/help.cpp index eb30556a..7b56d662 100644 --- a/src/gui/help.cpp +++ b/src/gui/help.cpp @@ -41,7 +41,7 @@ HelpWindow::HelpWindow(): browserBox = new BrowserBox(); browserBox->setOpaque(false); scrollArea = new ScrollArea(browserBox); - Button *okButton = new Button("Close"); + Button *okButton = new Button("Close", "close", this); scrollArea->setDimension(gcn::Rectangle( 5, 5, 445, 335 - okButton->getHeight())); @@ -49,9 +49,6 @@ HelpWindow::HelpWindow(): 450 - okButton->getWidth(), 345 - okButton->getHeight()); - okButton->setEventId("close"); - okButton->addActionListener(this); - browserBox->setLinkHandler(this); add(scrollArea); diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index 5227152c..0c8fb14e 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -50,19 +50,14 @@ InventoryWindow::InventoryWindow(): setMinHeight(172); setDefaultSize(115, 25, 322, 172); - useButton = new Button("Use"); - dropButton = new Button("Drop"); + useButton = new Button("Use", "use", this); + dropButton = new Button("Drop", "drop", this); items = new ItemContainer(player_node->mInventory.get()); invenScroll = new ScrollArea(items); invenScroll->setPosition(8, 8); invenScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); - useButton->setEventId("use"); - dropButton->setEventId("drop"); - useButton->addActionListener(this); - dropButton->addActionListener(this); - itemNameLabel = new gcn::Label("Name:"); itemDescriptionLabel = new gcn::Label("Description:"); itemEffectLabel = new gcn::Label("Effect:"); diff --git a/src/gui/item_amount.cpp b/src/gui/item_amount.cpp index 2ac46283..8c66144b 100644 --- a/src/gui/item_amount.cpp +++ b/src/gui/item_amount.cpp @@ -39,21 +39,17 @@ ItemAmountWindow::ItemAmountWindow(int usage, Window *parent, Item *item): mItemAmountTextBox = new IntTextBox(1); // New buttons - Button *minusButton = new Button("-"); - Button *plusButton = new Button("+"); + Button *minusButton = new Button("-", "Minus", this); + Button *plusButton = new Button("+", "Plus", this); + Button *okButton = new Button("Okay", "Drop", this); + Button *cancelButton = new Button("Cancel", "Cancel", this); mItemAmountSlide = new Slider(1.0); - Button *okButton = new Button("Okay"); - Button *cancelButton = new Button("Cancel"); mItemAmountTextBox->setRange(1, mItem->getQuantity()); mItemAmountSlide->setDimension(gcn::Rectangle(5, 120, 180, 10)); // Set button events Id - minusButton->setEventId("Minus"); - plusButton->setEventId("Plus"); mItemAmountSlide->setEventId("Slide"); - okButton->setEventId("Drop"); - cancelButton->setEventId("Cancel"); // Set position mItemAmountTextBox->setPosition(35, 10); @@ -72,11 +68,7 @@ ItemAmountWindow::ItemAmountWindow(int usage, Window *parent, Item *item): add(okButton); add(cancelButton); - plusButton->addActionListener(this); - minusButton->addActionListener(this); mItemAmountSlide->addActionListener(this); - okButton->addActionListener(this); - cancelButton->addActionListener(this); resetAmount(); diff --git a/src/gui/login.cpp b/src/gui/login.cpp index a66273da..691b6406 100644 --- a/src/gui/login.cpp +++ b/src/gui/login.cpp @@ -64,9 +64,9 @@ LoginDialog::LoginDialog(LoginData *loginData): passField = new PasswordField(mLoginData->password); serverField = new TextField(mLoginData->hostname); keepCheck = new CheckBox("Keep", false); - okButton = new Button("OK"); - cancelButton = new Button("Cancel"); - registerButton = new Button("Register"); + okButton = new Button("OK", "ok", this); + cancelButton = new Button("Cancel", "cancel", this); + registerButton = new Button("Register", "register", this); setContentSize(200, 100); @@ -95,17 +95,11 @@ LoginDialog::LoginDialog(LoginData *loginData): userField->setEventId("ok"); passField->setEventId("ok"); serverField->setEventId("ok"); - okButton->setEventId("ok"); - cancelButton->setEventId("cancel"); - registerButton->setEventId("register"); userField->addActionListener(this); passField->addActionListener(this); serverField->addActionListener(this); keepCheck->addActionListener(this); - okButton->addActionListener(this); - cancelButton->addActionListener(this); - registerButton->addActionListener(this); add(userLabel); add(passLabel); diff --git a/src/gui/menuwindow.cpp b/src/gui/menuwindow.cpp index 811a10ab..c18132cf 100644 --- a/src/gui/menuwindow.cpp +++ b/src/gui/menuwindow.cpp @@ -59,9 +59,7 @@ MenuWindow::MenuWindow(): int x = 0, y = 3, h = 0; for (const char **curBtn = buttonNames; *curBtn; curBtn++) { - gcn::Button *btn = new Button(*curBtn); - btn->setEventId(*curBtn); - btn->addActionListener(&menuWindowListener); + gcn::Button *btn = new Button(*curBtn, *curBtn, &menuWindowListener); btn->setPosition(x, y); add(btn); x += btn->getWidth() + 3; diff --git a/src/gui/newskill.cpp b/src/gui/newskill.cpp index 0baf81a5..c04ad6a0 100644 --- a/src/gui/newskill.cpp +++ b/src/gui/newskill.cpp @@ -92,31 +92,19 @@ NewSkillDialog::NewSkillDialog(): resetNSD(); // create controls - catButton[0] = new Button("Weapons"); - catButton[1] = new Button("Magic"); - catButton[2] = new Button("Craft"); - catButton[3] = new Button("General"); - catButton[4] = new Button("Combat"); - catButton[5] = new Button("E. Resist"); - catButton[6] = new Button("S. Resist"); - catButton[7] = new Button("Hunting"); - catButton[8] = new Button("Stat"); - closeButton = new Button("Close"); + catButton[0] = new Button("Weapons", "g1", this); + catButton[1] = new Button("Magic", "g2", this); + catButton[2] = new Button("Craft", "g3", this); + catButton[3] = new Button("General", "g4", this); + catButton[4] = new Button("Combat", "g5", this); + catButton[5] = new Button("E. Resist", "g6", this); + catButton[6] = new Button("S. Resist", "g7", this); + catButton[7] = new Button("Hunting", "g8", this); + catButton[8] = new Button("Stat", "g9", this); + closeButton = new Button("Close", "close", this); // captions - // events - catButton[0]->setEventId("g1"); - catButton[1]->setEventId("g2"); - catButton[2]->setEventId("g3"); - catButton[3]->setEventId("g4"); - catButton[4]->setEventId("g5"); - catButton[5]->setEventId("g6"); - catButton[6]->setEventId("g7"); - catButton[7]->setEventId("g8"); - catButton[8]->setEventId("g9"); - closeButton->setEventId("close"); - // positioning setContentSize(350, 250); catButton[0]->setDimension(gcn::Rectangle(0,0,60,20)); @@ -152,18 +140,6 @@ NewSkillDialog::NewSkillDialog(): add(catButton[8]); add(closeButton); - // add event detection - catButton[0]->addActionListener(this); - catButton[1]->addActionListener(this); - catButton[2]->addActionListener(this); - catButton[3]->addActionListener(this); - catButton[4]->addActionListener(this); - catButton[5]->addActionListener(this); - catButton[6]->addActionListener(this); - catButton[7]->addActionListener(this); - catButton[8]->addActionListener(this); - closeButton->addActionListener(this); - // finsihing touches setLocationRelativeTo(getParent()); } diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp index 27232f3b..1a6bb5ce 100644 --- a/src/gui/npc_text.cpp +++ b/src/gui/npc_text.cpp @@ -37,7 +37,7 @@ NpcTextDialog::NpcTextDialog(): mTextBox = new TextBox(); mTextBox->setEditable(false); gcn::ScrollArea *scrollArea = new ScrollArea(mTextBox); - Button *okButton = new Button("OK"); + Button *okButton = new Button("OK", "ok", this); setContentSize(260, 175); scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); @@ -48,9 +48,6 @@ NpcTextDialog::NpcTextDialog(): 260 - 5 - okButton->getWidth(), 175 - 5 - okButton->getHeight()); - okButton->setEventId("ok"); - okButton->addActionListener(this); - add(scrollArea); add(okButton); diff --git a/src/gui/npclistdialog.cpp b/src/gui/npclistdialog.cpp index 9b5239f5..34597627 100644 --- a/src/gui/npclistdialog.cpp +++ b/src/gui/npclistdialog.cpp @@ -36,8 +36,8 @@ NpcListDialog::NpcListDialog(): { mItemList = new ListBox(this); ScrollArea *scrollArea = new ScrollArea(mItemList); - Button *okButton = new Button("OK"); - Button *cancelButton = new Button("Cancel"); + Button *okButton = new Button("OK", "ok", this); + Button *cancelButton = new Button("Cancel", "cancel", this); setContentSize(260, 175); scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); @@ -51,12 +51,8 @@ NpcListDialog::NpcListDialog(): cancelButton->getY()); mItemList->setEventId("item"); - okButton->setEventId("ok"); - cancelButton->setEventId("cancel"); mItemList->addActionListener(this); - okButton->addActionListener(this); - cancelButton->addActionListener(this); add(scrollArea); add(okButton); diff --git a/src/gui/ok_dialog.cpp b/src/gui/ok_dialog.cpp index 8d2ebc23..2f3f21c5 100644 --- a/src/gui/ok_dialog.cpp +++ b/src/gui/ok_dialog.cpp @@ -33,7 +33,7 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg, Window(title, true, parent) { gcn::Label *textLabel = new gcn::Label(msg); - gcn::Button *okButton = new Button("Ok"); + gcn::Button *okButton = new Button("Ok", "ok", this); int w = textLabel->getWidth() + 20; int h = textLabel->getHeight() + 25 + okButton->getHeight(); @@ -47,9 +47,6 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg, okButton->setPosition((w - okButton->getWidth()) / 2, h - 5 - okButton->getHeight()); - okButton->setEventId("ok"); - okButton->addActionListener(this); - add(textLabel); add(okButton); diff --git a/src/gui/register.cpp b/src/gui/register.cpp index a22d1f73..b86375d4 100644 --- a/src/gui/register.cpp +++ b/src/gui/register.cpp @@ -56,8 +56,8 @@ RegisterDialog::RegisterDialog(LoginData *loginData): maleButton->setEnabled(false); femaleButton = new RadioButton("Female", "sex", false); femaleButton->setEnabled(false); - registerButton = new Button("Register"); - cancelButton = new Button("Cancel"); + registerButton = new Button("Register", "register", this); + cancelButton = new Button("Cancel", "cancel", this); int width = 200; int height = 150; @@ -94,16 +94,11 @@ RegisterDialog::RegisterDialog(LoginData *loginData): passwordField->setEventId("register"); confirmField->setEventId("register"); serverField->setEventId("register");*/ - registerButton->setEventId("register"); - cancelButton->setEventId("cancel"); - /*userField->addActionListener(this); passwordField->addActionListener(this); confirmField->addActionListener(this); serverField->addActionListener(this);*/ - registerButton->addActionListener(this); - cancelButton->addActionListener(this); add(userLabel); add(passwordLabel); diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp index 89aec044..0ab20660 100644 --- a/src/gui/sell.cpp +++ b/src/gui/sell.cpp @@ -58,10 +58,10 @@ SellDialog::SellDialog(Network *network): moneyLabel = new gcn::Label("Price: 0"); itemDescLabel = new gcn::Label("Description:"); itemEffectLabel = new gcn::Label("Effect:"); - increaseButton = new Button("+"); - decreaseButton = new Button("-"); - sellButton = new Button("Sell"); - quitButton = new Button("Quit"); + increaseButton = new Button("+", "+", this); + decreaseButton = new Button("-", "-", this); + sellButton = new Button("Sell", "sell", this); + quitButton = new Button("Quit", "quit", this); sellButton->setEnabled(false); setContentSize(260, 210); @@ -93,17 +93,9 @@ SellDialog::SellDialog(Network *network): itemList->setEventId("item"); slider->setEventId("slider"); - increaseButton->setEventId("+"); - decreaseButton->setEventId("-"); - sellButton->setEventId("sell"); - quitButton->setEventId("quit"); itemList->addActionListener(this); slider->addActionListener(this); - increaseButton->addActionListener(this); - decreaseButton->addActionListener(this); - sellButton->addActionListener(this); - quitButton->addActionListener(this); add(scrollArea); add(slider); diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index c73d1de0..dade13eb 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -119,20 +119,16 @@ Setup::Setup(): sfxLabel = new gcn::Label("Sfx volume"); musicLabel = new gcn::Label("Music volume"); calibrateLabel = new gcn::Label("Press the button to start calibration"); - calibrateButton = new Button("Calibrate"); - applyButton = new Button("Apply"); - cancelButton = new Button("Cancel"); - resetWinsToDefault = new Button("Reset Windows"); + calibrateButton = new Button("Calibrate", "calibrate", this); + applyButton = new Button("Apply", "apply", this); + cancelButton = new Button("Cancel", "cancel", this); + resetWinsToDefault = new Button("Reset Windows", "winsToDefault", this); // Set events - applyButton->setEventId("apply"); - cancelButton->setEventId("cancel"); - resetWinsToDefault->setEventId("winsToDefault"); alphaSlider->setEventId("guialpha"); sfxSlider->setEventId("sfx"); musicSlider->setEventId("music"); customCursorCheckBox->setEventId("customcursor"); - calibrateButton->setEventId("calibrate"); // Set dimensions/positions int width = 230; @@ -167,14 +163,10 @@ Setup::Setup(): applyButton->getY()); // Listen for actions - applyButton->addActionListener(this); - cancelButton->addActionListener(this); - resetWinsToDefault->addActionListener(this); alphaSlider->addActionListener(this); sfxSlider->addActionListener(this); musicSlider->addActionListener(this); customCursorCheckBox->addActionListener(this); - calibrateButton->addActionListener(this); // Assemble dialog gcn::Container *video = new gcn::Container(); diff --git a/src/gui/skill.cpp b/src/gui/skill.cpp index f86d2356..44cbd314 100644 --- a/src/gui/skill.cpp +++ b/src/gui/skill.cpp @@ -71,15 +71,12 @@ SkillDialog::SkillDialog(): skillListBox = new ListBox(this); skillScrollArea = new ScrollArea(skillListBox); pointsLabel = new gcn::Label("Skill Points:"); - incButton = new Button("Up"); - useButton = new Button("Use"); + incButton = new Button("Up", "inc", this); + useButton = new Button("Use", "use", this); useButton->setEnabled(false); - closeButton = new Button("Close"); + closeButton = new Button("Close", "close", this); skillListBox->setEventId("skill"); - incButton->setEventId("inc"); - useButton->setEventId("use"); - closeButton->setEventId("close"); skillScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); skillScrollArea->setDimension(gcn::Rectangle(5, 5, 230, 180)); @@ -98,9 +95,6 @@ SkillDialog::SkillDialog(): add(closeButton); skillListBox->addActionListener(this); - incButton->addActionListener(this); - useButton->addActionListener(this); - closeButton->addActionListener(this); setLocationRelativeTo(getParent()); loadWindowState(); diff --git a/src/gui/status.cpp b/src/gui/status.cpp index c6416409..1a300fd1 100644 --- a/src/gui/status.cpp +++ b/src/gui/status.cpp @@ -135,18 +135,13 @@ StatusWindow::StatusWindow(LocalPlayer *player): } remainingStatsPointsLabel = new gcn::Label(); - // New buttons - for (int i = 0; i < 6; i++) { - statsButton[i] = new Button("+"); - } - // Set button events Id - statsButton[0]->setEventId("STR"); - statsButton[1]->setEventId("AGI"); - statsButton[2]->setEventId("VIT"); - statsButton[3]->setEventId("INT"); - statsButton[4]->setEventId("DEX"); - statsButton[5]->setEventId("LUK"); + statsButton[0] = new Button("+", "STR", this); + statsButton[1] = new Button("+", "AGI", this); + statsButton[2] = new Button("+", "VIT", this); + statsButton[3] = new Button("+", "INT", this); + statsButton[4] = new Button("+", "DEX", this); + statsButton[5] = new Button("+", "LUK", this); // Set position @@ -192,7 +187,6 @@ StatusWindow::StatusWindow(LocalPlayer *player): add(statsDisplayLabel[i]); add(statsButton[i]); add(pointsLabel[i]); - statsButton[i]->addActionListener(this); } add(statsAttackLabel); add(statsDefenseLabel); diff --git a/src/gui/tabbedcontainer.cpp b/src/gui/tabbedcontainer.cpp index 3d08b390..f19524e1 100644 --- a/src/gui/tabbedcontainer.cpp +++ b/src/gui/tabbedcontainer.cpp @@ -49,15 +49,13 @@ TabbedContainer::~TabbedContainer() void TabbedContainer::addTab(gcn::Widget *widget, const std::string &caption) { std::stringstream ss; - - Button *tab = new Button(caption); - int tabNumber = mTabs.size(); ss << tabNumber; - tab->setEventId(ss.str()); + + Button *tab = new Button(caption, ss.str(), this); + tab->setSize(TABWIDTH, TABHEIGHT); - tab->addActionListener(this); add(tab, TABWIDTH * tabNumber, 0); mTabs.push_back(tab); diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp index 9d10774b..370b5410 100644 --- a/src/gui/trade.cpp +++ b/src/gui/trade.cpp @@ -51,10 +51,10 @@ TradeWindow::TradeWindow(Network *network): { setContentSize(322, 150); - addButton = new Button("Add"); - okButton = new Button("Ok"); - cancelButton = new Button("Cancel"); - tradeButton = new Button("Trade"); + addButton = new Button("Add", "add", this); + okButton = new Button("Ok", "ok", this); + cancelButton = new Button("Cancel", "cancel", this); + tradeButton = new Button("Trade", "trade", this); myItemContainer = new ItemContainer(myInventory.get()); myItemContainer->setPosition(2, 2); @@ -72,21 +72,11 @@ TradeWindow::TradeWindow(Network *network): moneyLabel2 = new gcn::Label("You give:"); moneyField = new TextField(); - addButton->setEventId("add"); - okButton->setEventId("ok"); - cancelButton->setEventId("cancel"); - tradeButton->setEventId("trade"); - addButton->adjustSize(); okButton->adjustSize(); cancelButton->adjustSize(); tradeButton->adjustSize(); - addButton->addActionListener(this); - okButton->addActionListener(this); - cancelButton->addActionListener(this); - tradeButton->addActionListener(this); - tradeButton->setEnabled(false); itemNameLabel = new gcn::Label("Name:"); diff --git a/src/gui/updatewindow.cpp b/src/gui/updatewindow.cpp index 59382a4e..51be2f2d 100644 --- a/src/gui/updatewindow.cpp +++ b/src/gui/updatewindow.cpp @@ -57,17 +57,13 @@ UpdaterWindow::UpdaterWindow(): mBrowserBox = new BrowserBox(); mBrowserBox->setOpaque(false); - mCancelButton = new Button("Cancel"); + mCancelButton = new Button("Cancel", "cancel", this); mCancelButton->setPosition(5, h - 5 - mCancelButton->getHeight()); - mCancelButton->setEventId("cancel"); - mCancelButton->addActionListener(this); - mPlayButton = new Button("Play"); + mPlayButton = new Button("Play", "play", this); mPlayButton->setPosition(mCancelButton->getX() + mCancelButton->getWidth() + 5, h - 5 - mPlayButton->getHeight()); - mPlayButton->setEventId("play"); mPlayButton->setEnabled(false); - mPlayButton->addActionListener(this); mProgressBar = new ProgressBar(0.0, 5, mCancelButton->getY() - 20 - 5, w - 10, 20, 37, 70, 200); mLabel = new gcn::Label("Connecting..."); -- cgit v1.2.3-60-g2f50