OpenMW
apps/openmw/mwgui/itemview.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_ITEMVIEW_H
00002 #define MWGUI_ITEMVIEW_H
00003 
00004 #include <MyGUI_Widget.h>
00005 
00006 #include "itemmodel.hpp"
00007 
00008 namespace MWGui
00009 {
00010 
00011     class ItemView : public MyGUI::Widget
00012     {
00013     MYGUI_RTTI_DERIVED(ItemView)
00014     public:
00015         ItemView();
00016         virtual ~ItemView();
00017 
00019         static void registerComponents ();
00020 
00022         void setModel (ItemModel* model);
00023 
00024         typedef MyGUI::delegates::CMultiDelegate1<ItemModel::ModelIndex> EventHandle_ModelIndex;
00025         typedef MyGUI::delegates::CMultiDelegate0 EventHandle_Void;
00027         EventHandle_ModelIndex eventItemClicked;
00029         EventHandle_Void eventBackgroundClicked;
00030 
00031         void update();
00032 
00033     private:
00034         virtual void initialiseOverride();
00035 
00036         virtual void setSize(const MyGUI::IntSize& _value);
00037         virtual void setCoord(const MyGUI::IntCoord& _value);
00038         void setSize(int _width, int _height);
00039         void setCoord(int _left, int _top, int _width, int _height);
00040 
00041         void onSelectedItem (MyGUI::Widget* sender);
00042         void onSelectedBackground (MyGUI::Widget* sender);
00043         void onMouseWheel(MyGUI::Widget* _sender, int _rel);
00044 
00045         ItemModel* mModel;
00046         MyGUI::ScrollView* mScrollView;
00047 
00048     };
00049 
00050 }
00051 
00052 #endif