1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-11 00:39:59 +00:00
OpenMW/apps/openmw/mwgui/itemview.hpp
scrawl e66e9916db Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/document.hpp
2015-06-07 15:23:54 +02:00

55 lines
1.3 KiB
C++

#ifndef MWGUI_ITEMVIEW_H
#define MWGUI_ITEMVIEW_H
#include <MyGUI_Widget.h>
#include "itemmodel.hpp"
namespace MWGui
{
class ItemView : public MyGUI::Widget
{
MYGUI_RTTI_DERIVED(ItemView)
public:
ItemView();
virtual ~ItemView();
/// Register needed components with MyGUI's factory manager
static void registerComponents ();
/// Takes ownership of \a model
void setModel (ItemModel* model);
typedef MyGUI::delegates::CMultiDelegate1<ItemModel::ModelIndex> EventHandle_ModelIndex;
typedef MyGUI::delegates::CMultiDelegate0 EventHandle_Void;
/// Fired when an item was clicked
EventHandle_ModelIndex eventItemClicked;
/// Fired when the background was clicked (useful for drag and drop)
EventHandle_Void eventBackgroundClicked;
void update();
void resetScrollBars();
private:
virtual void initialiseOverride();
void layoutWidgets();
virtual void setSize(const MyGUI::IntSize& _value);
virtual void setCoord(const MyGUI::IntCoord& _value);
void onSelectedItem (MyGUI::Widget* sender);
void onSelectedBackground (MyGUI::Widget* sender);
void onMouseWheelMoved(MyGUI::Widget* _sender, int _rel);
ItemModel* mModel;
MyGUI::ScrollView* mScrollView;
};
}
#endif