OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
quickkeysmenu.hpp
Go to the documentation of this file.
1 #ifndef MWGUI_QUICKKEYS_H
2 #define MWGUI_QUICKKEYS_H
3 
4 #include "../mwworld/ptr.hpp"
5 
6 #include "windowbase.hpp"
7 
8 #include "spellmodel.hpp"
9 
10 namespace MWGui
11 {
12 
13  class QuickKeysMenuAssign;
14  class ItemSelectionDialog;
15  class MagicSelectionDialog;
16  class ItemWidget;
17  class SpellView;
18 
19  class QuickKeysMenu : public WindowBase
20  {
21  public:
22  QuickKeysMenu();
24 
25  void onResChange(int, int) { center(); }
26 
27  void onItemButtonClicked(MyGUI::Widget* sender);
28  void onMagicButtonClicked(MyGUI::Widget* sender);
29  void onUnassignButtonClicked(MyGUI::Widget* sender);
30  void onCancelButtonClicked(MyGUI::Widget* sender);
31 
32  void onAssignItem (MWWorld::Ptr item);
33  void onAssignItemCancel ();
34  void onAssignMagicItem (MWWorld::Ptr item);
35  void onAssignMagic (const std::string& spellId);
36  void onAssignMagicCancel ();
37  void onOpen();
38 
39  void activateQuickKey(int index);
41 
44  {
50  };
51 
52  void write (ESM::ESMWriter& writer);
53  void readRecord (ESM::ESMReader& reader, uint32_t type);
54  void clear();
55 
56 
57  private:
58 
59  struct keyData {
60  int index;
63  std::string id;
64  std::string name;
65  keyData(): index(-1), button(nullptr), type(Type_Unassigned), id(""), name("") {}
66  };
67 
68  std::vector<keyData> mKey;
71 
72  MyGUI::EditBox* mInstructionLabel;
73  MyGUI::Button* mOkButton;
74 
78 
79  void onQuickKeyButtonClicked(MyGUI::Widget* sender);
80  void onOkButtonClicked(MyGUI::Widget* sender);
81 
82  void unassign(keyData* key);
83  };
84 
86  {
87  public:
89 
90  private:
91  MyGUI::TextBox* mLabel;
92  MyGUI::Button* mItemButton;
93  MyGUI::Button* mMagicButton;
94  MyGUI::Button* mUnassignButton;
95  MyGUI::Button* mCancelButton;
96 
98  };
99 
101  {
102  public:
104 
105  virtual void onOpen();
106  virtual bool exit();
107 
108  private:
109  MyGUI::Button* mCancelButton;
111 
113 
114  void onCancelButtonClicked (MyGUI::Widget* sender);
116  };
117 }
118 
119 
120 #endif
std::string id
Definition: quickkeysmenu.hpp:63
MyGUI::Button * mCancelButton
Definition: quickkeysmenu.hpp:95
void activateQuickKey(int index)
Definition: quickkeysmenu.cpp:315
MagicSelectionDialog * mMagicSelectionDialog
Definition: quickkeysmenu.hpp:77
void onItemButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:188
keyData()
Definition: quickkeysmenu.hpp:65
Definition: quickkeysmenu.hpp:19
Definition: esmreader.hpp:21
void onCancelButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:604
QuickKeysMenu()
Definition: quickkeysmenu.cpp:34
void onOkButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:183
Definition: quickkeysmenu.hpp:100
MyGUI::TextBox * mLabel
Definition: quickkeysmenu.hpp:91
Definition: itemselection.hpp:19
void onAssignItemCancel()
Definition: quickkeysmenu.cpp:244
void onCancelButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:220
QuickKeysMenu::QuickKeyType type
Definition: quickkeysmenu.hpp:62
virtual bool exit()
Gracefully exits the window.
Definition: quickkeysmenu.cpp:609
int index
Definition: quickkeysmenu.hpp:60
void updateActivatedQuickKey()
Definition: quickkeysmenu.cpp:306
keyData * mSelected
Definition: quickkeysmenu.hpp:69
void readRecord(ESM::ESMReader &reader, uint32_t type)
Definition: quickkeysmenu.cpp:532
keyData * mActivated
Definition: quickkeysmenu.hpp:70
void onAssignMagic(const std::string &spellId)
Definition: quickkeysmenu.cpp:268
MyGUI::EditBox * mInstructionLabel
Definition: quickkeysmenu.hpp:72
Definition: esmwriter.hpp:17
QuickKeysMenu * mParent
Definition: quickkeysmenu.hpp:97
QuickKeysMenuAssign(QuickKeysMenu *parent)
Definition: quickkeysmenu.cpp:446
void center()
Definition: windowbase.cpp:49
Definition: quickkeysmenu.hpp:48
void onAssignItem(MWWorld::Ptr item)
Definition: quickkeysmenu.cpp:225
void unassign(keyData *key)
Definition: quickkeysmenu.cpp:119
MyGUI::Button * mCancelButton
Definition: quickkeysmenu.hpp:109
MyGUI::Button * mOkButton
Definition: quickkeysmenu.hpp:73
void onModelIndexSelected(SpellModel::ModelIndex index)
Definition: quickkeysmenu.cpp:623
Displays a SpellModel in a list widget.
Definition: spellview.hpp:21
void onQuickKeyButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:152
MyGUI::Button * mMagicButton
Definition: quickkeysmenu.hpp:93
~QuickKeysMenu()
Definition: quickkeysmenu.cpp:74
virtual void onOpen()
Notify that window has been made visible.
Definition: quickkeysmenu.cpp:615
Definition: quickkeysmenu.hpp:49
Definition: quickkeysmenu.hpp:47
MyGUI::Button * mUnassignButton
Definition: quickkeysmenu.hpp:94
std::string name
Definition: quickkeysmenu.hpp:64
MagicSelectionDialog(QuickKeysMenu *parent)
Definition: quickkeysmenu.cpp:589
Definition: quickkeysmenu.hpp:59
void write(ESM::ESMWriter &writer)
Definition: quickkeysmenu.cpp:491
std::vector< keyData > mKey
Definition: quickkeysmenu.hpp:68
void onOpen()
Notify that window has been made visible.
Definition: quickkeysmenu.cpp:81
void onResChange(int, int)
Called when GUI viewport changes size.
Definition: quickkeysmenu.hpp:25
ItemWidget * button
Definition: quickkeysmenu.hpp:61
MyGUI::Button * mItemButton
Definition: quickkeysmenu.hpp:92
ItemSelectionDialog * mItemSelectionDialog
Definition: quickkeysmenu.hpp:76
Definition: windowbase.hpp:21
QuickKeyType
Definition: quickkeysmenu.hpp:43
void onAssignMagicCancel()
Definition: quickkeysmenu.cpp:301
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
Definition: quickkeysmenu.hpp:45
QuickKeysMenu * mParent
Definition: quickkeysmenu.hpp:112
SpellView * mMagicList
Definition: quickkeysmenu.hpp:110
void onUnassignButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:214
void onAssignMagicItem(MWWorld::Ptr item)
Definition: quickkeysmenu.cpp:249
Definition: quickkeysmenu.hpp:85
QuickKeysMenuAssign * mAssignDialog
Definition: quickkeysmenu.hpp:75
void clear()
Clear any state specific to the running game.
Definition: quickkeysmenu.cpp:64
void onMagicButtonClicked(MyGUI::Widget *sender)
Definition: quickkeysmenu.cpp:203
A widget that shows an icon for an MWWorld::Ptr.
Definition: itemwidget.hpp:15
Definition: quickkeysmenu.hpp:46
Definition: windowbase.hpp:61