00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "gui/emotewindow.h"
00023
00024 #include "gui/gui.h"
00025 #include "gui/emotecontainer.h"
00026
00027 #include "gui/widgets/button.h"
00028 #include "gui/widgets/layout.h"
00029 #include "gui/widgets/scrollarea.h"
00030
00031 #include "localplayer.h"
00032
00033 #include "utils/gettext.h"
00034 #include "utils/stringutils.h"
00035
00036 EmoteWindow::EmoteWindow():
00037 Window(_("Emote"))
00038 {
00039 setWindowName("Emote");
00040 setResizable(true);
00041 setCloseButton(true);
00042 setSaveVisible(true);
00043 setMinWidth(80);
00044 setMinHeight(130);
00045 setDefaultSize(322, 200, ImageRect::CENTER);
00046
00047 mUseButton = new Button(_("Use"), "use", this);
00048
00049 mEmotes = new EmoteContainer;
00050 mEmotes->addSelectionListener(this);
00051
00052 mEmoteScroll = new ScrollArea(mEmotes);
00053 mEmoteScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
00054
00055 place(0, 0, mEmoteScroll, 5, 4);
00056 place(4, 4, mUseButton);
00057
00058 Layout &layout = getLayout();
00059 layout.setRowHeight(0, Layout::AUTO_SET);
00060
00061 mUseButton->setSize(60, mUseButton->getHeight());
00062
00063 loadWindowState();
00064 }
00065
00066 void EmoteWindow::action(const gcn::ActionEvent &event)
00067 {
00068 int emote = mEmotes->getSelectedEmote();
00069
00070 if (!emote)
00071 return;
00072
00073 player_node->emote(emote);
00074 }
00075
00076 int EmoteWindow::getSelectedEmote() const
00077 {
00078 return mEmotes->getSelectedEmote();
00079 }