setupGroupList.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPGROUPLIST_HEADER
  2. #define NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPGROUPLIST_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <wtypes.h>
  7. #include "./setupGroup.h"
  8. #include <vector>
  9. class SetupListboxItem;
  10. class SetupLog;
  11. class SetupGroupList
  12. {
  13. protected:
  14. SetupGroupList();
  15. ~SetupGroupList();
  16. public:
  17. static SetupGroupList *CreateInstance();
  18. public:
  19. ULONG AddRef();
  20. ULONG Release();
  21. BOOL AddGroup(SetupGroup *group);
  22. SetupGroup *GetGroup(size_t index) { return list[index]; }
  23. size_t GetGroupCount();
  24. BOOL FindGroupIndex(SetupGroup *group, size_t *groupIndex);
  25. HRESULT FindGroupById(UINT groupId, SetupGroup **group);
  26. BOOL IsModified();
  27. HRESULT Save(SetupLog *log);
  28. size_t GetListboxCount();
  29. INT GetListboxItem(SetupListboxItem *item);
  30. HRESULT FindListboxItem(size_t listboxId, SetupListboxItem **listboxItem);
  31. void SetPageWnd(HWND hPage);
  32. protected:
  33. ULONG ref;
  34. std::vector<SetupGroup*> list;
  35. };
  36. #endif //NULLOSFT_ONLINEMEDIA_PLUGIN_SETUPGROUPLIST_HEADER