diff options
Diffstat (limited to 'Src/Wasabi/api/wndmgr/wndmgrapi.h')
-rw-r--r-- | Src/Wasabi/api/wndmgr/wndmgrapi.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Src/Wasabi/api/wndmgr/wndmgrapi.h b/Src/Wasabi/api/wndmgr/wndmgrapi.h new file mode 100644 index 00000000..88637d49 --- /dev/null +++ b/Src/Wasabi/api/wndmgr/wndmgrapi.h @@ -0,0 +1,59 @@ +#ifndef __APIWNDMGR_H +#define __APIWNDMGR_H + +#include <api/wndmgr/api_wndmgr.h> +#include <bfc/stack.h> +#include <bfc/string/StringW.h> + +class WndMgrApi : public wndmgr_apiI { + public: + WndMgrApi(); + virtual ~WndMgrApi(); + + virtual void wndTrackAdd(ifc_window *wnd); + virtual void wndTrackRemove(ifc_window *wnd); + virtual bool wndTrackDock(ifc_window *wnd, RECT *r, int mask); + virtual bool wndTrackDock2(ifc_window *wnd, RECT *r, RECT *orig_r, int mask); + virtual void wndTrackStartCooperative(ifc_window *wnd); + virtual void wndTrackEndCooperative(); + virtual int wndTrackWasCooperative(); + virtual void wndTrackInvalidateAll(); + virtual int skinwnd_toggleByGuid(GUID g, const wchar_t *prefered_container = NULL, int container_flag = 0, RECT *sourceanimrect = NULL, int transcient = 0); + virtual int skinwnd_toggleByGroupId(const wchar_t *groupid, const wchar_t *prefered_container = NULL, int container_flag = 0, RECT *sourceanimrect = NULL, int transcient = 0); + virtual ifc_window *skinwnd_createByGuid(GUID g, const wchar_t *prefered_container = NULL, int container_flag = 0, RECT *sourceanimrect = NULL, int transcient = 0, int starthidden = 0, int *isnew=NULL); + virtual ifc_window *skinwnd_createByGroupId(const wchar_t *groupid, const wchar_t *prefered_container = NULL, int container_flag = 0, RECT *sourceanimrect = NULL, int transcient = 0, int starthidden = 0, int *isnew=NULL); + virtual void skinwnd_destroy(ifc_window *w, RECT *destanimrect = NULL); + virtual int skinwnd_getNumByGuid(GUID g); + virtual ifc_window *skinwnd_enumByGuid(GUID g, int n); + virtual int skinwnd_getNumByGroupId(const wchar_t *groupid); + virtual ifc_window *skinwnd_enumByGroupId(const wchar_t *groupid, int n); + virtual void skinwnd_attachToSkin(ifc_window *w, int side, int size); + virtual ScriptObject *skin_getContainer(const wchar_t *container_name); + virtual ScriptObject *skin_getLayout(ScriptObject *container, const wchar_t *layout_name); + virtual void wndholder_register(WindowHolder *wh); + virtual void wndholder_unregister(WindowHolder *wh); + virtual int messageBox(const wchar_t *txt, const wchar_t *title, int flags, const wchar_t *not_anymore_identifier, ifc_window *parenwnt); + virtual ifc_window *getModalWnd(); + virtual void pushModalWnd(ifc_window *w = MODALWND_NOWND); + virtual void popModalWnd(ifc_window *w = MODALWND_NOWND); + virtual void drawAnimatedRects(const RECT *r1, const RECT *r2); + virtual int autopopup_registerGuid(GUID g, const wchar_t *desc, const wchar_t *prefered_container = NULL, int container_flag = 0); + virtual int autopopup_registerGroupId(const wchar_t *groupid, const wchar_t *desc, const wchar_t *prefered_container = NULL, int container_flag = 0); + virtual void autopopup_unregister(int id); + virtual int autopopup_getNumGuids(); + virtual GUID autopopup_enumGuid(int n); + virtual int autopopup_getNumGroups(); + virtual const wchar_t *autopopup_enumGroup(int n); + virtual const wchar_t *varmgr_translate(const wchar_t *str); + virtual Container *newDynamicContainer(const wchar_t *name, int transcient); + virtual const wchar_t *autopopup_enumGuidDescription(int n); + virtual const wchar_t *autopopup_enumGroupDescription(int n); + + private: + + static Stack<ifc_window*> modal_wnd_stack; + StringW ret; +}; + + +#endif // __APIWNDMGR_H |