skinwnd.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __SKINWND_H
  2. #define __SKINWND_H
  3. #include <bfc/common.h>
  4. #include "api.h"
  5. #include <api/script/scriptobj.h>
  6. #define WASABISTDCONTAINER_RESIZABLE_STATUS "resizable_status"
  7. #define WASABISTDCONTAINER_RESIZABLE_NOSTATUS "resizable_nostatus"
  8. #define WASABISTDCONTAINER_STATIC "static"
  9. #define WASABISTDCONTAINER_MODAL "modal"
  10. #define SKINWND_ATTACH_LEFT 1
  11. #define SKINWND_ATTACH_TOP 2
  12. #define SKINWND_ATTACH_RIGHT 3
  13. #define SKINWND_ATTACH_BOTTOM 4
  14. class ifc_window;
  15. class GuiObject;
  16. class SkinWnd
  17. {
  18. public:
  19. SkinWnd(GUID svc_or_group_guid, const wchar_t *prefered_container=NULL, int container_flag=0, RECT *animated_rect_source=NULL, int transcient=0, int starthidden=0);
  20. SkinWnd(const wchar_t *group_id, const wchar_t *prefered_container=NULL, int container_flag=0, RECT *animated_rect_source=NULL, int transcient=0, int starthidden=0);
  21. virtual ~SkinWnd();
  22. void destroy(RECT *animated_rect_dest=NULL);
  23. ifc_window *getWindow() { return wnd; }
  24. ScriptObject *getContainer();
  25. ScriptObject *getLayout();
  26. int runModal(int center=0);
  27. void endModal(int retcode);
  28. GuiObject *findObject(const wchar_t *object_id);
  29. void notifyMinMaxChanged();
  30. int isNewContainer() { return isnew; }
  31. private:
  32. ifc_window *wnd;
  33. int isnew;
  34. };
  35. #endif