Initial commit
This commit is contained in:
64
Torque/SDK/lib/maxsdk31/rtclick.h
Normal file
64
Torque/SDK/lib/maxsdk31/rtclick.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*********************************************************************
|
||||
*<
|
||||
FILE: rtclick.h
|
||||
|
||||
DESCRIPTION: Right-click menu functionality
|
||||
|
||||
CREATED BY: Tom Hudson
|
||||
|
||||
HISTORY: Created 14 June 1995
|
||||
|
||||
*> Copyright (c) 1995, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __RTCLICK__
|
||||
#define __RTCLICK__
|
||||
|
||||
const int kMaxMenuEntries = 1000;
|
||||
|
||||
class RightClickMenuManager;
|
||||
|
||||
class RightClickMenu {
|
||||
public:
|
||||
virtual void Init(RightClickMenuManager* manager, HWND hWnd, IPoint2 m)=0;
|
||||
virtual void Selected(UINT id)=0;
|
||||
};
|
||||
|
||||
typedef RightClickMenu* PRightClickMenu;
|
||||
typedef Tab<PRightClickMenu> PRightClickMenuTab;
|
||||
|
||||
class RCMData {
|
||||
public:
|
||||
RightClickMenu *menu;
|
||||
UINT menuId;
|
||||
UINT managerId;
|
||||
RCMData() { menu = NULL; menuId = managerId = 0; };
|
||||
RCMData(RightClickMenu *menu, UINT menuId, UINT managerID);
|
||||
};
|
||||
|
||||
typedef Tab<RCMData> RCMDataTab;
|
||||
|
||||
class RightClickMenuManager {
|
||||
private:
|
||||
Stack<HMENU> menuStack;
|
||||
Tab<HMENU> allSubMenus;
|
||||
HMENU theMenu;
|
||||
PRightClickMenuTab menuTab;
|
||||
RCMDataTab dataTab;
|
||||
int index;
|
||||
int limit;
|
||||
int startId;
|
||||
public:
|
||||
CoreExport void Register(RightClickMenu *menu);
|
||||
CoreExport void Unregister(RightClickMenu *menu);
|
||||
CoreExport void Init(HMENU menu, int startId, int limit, HWND hWnd, IPoint2 m);
|
||||
CoreExport void CleanUp();
|
||||
|
||||
CoreExport int AddMenu(RightClickMenu *menu, UINT flags, UINT id, LPCTSTR data);
|
||||
CoreExport int BeginSubMenu(LPCTSTR name);
|
||||
CoreExport int EndSubMenu();
|
||||
|
||||
CoreExport void Process(UINT id);
|
||||
};
|
||||
|
||||
#endif // __RTCLICK__
|
||||
Reference in New Issue
Block a user