00001 #ifndef __ContextMenuController__
00002 #define __ContextMenuController__
00003 
00004 #include "IToolController.h"
00005 #include "ContextMenu.h"
00006 #include "IController.h"
00007 
00008 class MainFrame;
00009 class SceneManager;
00010 class SceneObject;
00011 
00017 class ContextMenuController : public IContextMenuController {
00018 public:
00019         ContextMenuController(IController* application, MainFrame* mainFrame, SceneObject* selectedObject);
00020         ~ContextMenuController();
00021 
00022         void open();
00023         void open(int x, int y);
00024         void close();
00025         
00026         void onMouseLeftUp(int x, int y)        {}
00027         void onMouseLeftDown(int x, int y)      {}
00028 
00029     void onMouseMiddleUp(int x, int y)   {}
00030         void onMouseMiddleDown(int x, int y) {}
00031 
00032         void onMouseRightUp(int x, int y)       {}
00033         void onMouseRightDown(int x, int y)     {}
00034 
00035         void onMouseMove(int x, int y)          {}
00036         void onMouseWheel(int x, int y, int d)  {}
00037 
00038         void onKeyDown(int key) {}
00039         void onKeyUp(int key)   {}
00040 
00041         void onItemSelected(wxString selectedItem);
00042         void Move();
00043 
00044         
00045 protected:
00046         IController*            _application;
00047         ContextMenu*            _contextMenu;
00048         MainFrame*                      _mainFrame;
00049 
00050         SceneManager&           _sceneManager;
00051 };
00052 
00053 #endif