diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/setup/setup.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Winamp/setup/setup.h')
-rw-r--r-- | Src/Winamp/setup/setup.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Src/Winamp/setup/setup.h b/Src/Winamp/setup/setup.h new file mode 100644 index 00000000..8344bad7 --- /dev/null +++ b/Src/Winamp/setup/setup.h @@ -0,0 +1,66 @@ +#ifndef NULLSOFT_WINAMP_SETUP_HEADER +#define NULLSOFT_WINAMP_SETUP_HEADER + +#include "./svc_setup.h" +#include <vector> + +typedef struct _UI UI; + +class WASetup : svc_setup +{ +protected: + WASetup(void); + ~WASetup(void); +public: + static svc_setup *CreateInstance(); +public: + int AddRef(void); + int Release(void); + HRESULT InsertPage(ifc_setuppage *pPage, int*pIndex); + HRESULT RemovePage(size_t index); + HRESULT GetPageCount(int*pCount); + HRESULT GetPage(size_t index, ifc_setuppage **pPage); + HRESULT AddJob(ifc_setupjob *pJob); + HRESULT RemoveJob(ifc_setupjob *pJob); + HRESULT GetActiveIndex(int*pIndex); + HRESULT Start(HWND hwndWinamp); + HRESULT CreateStatusWnd(HWND *phwndStatus); + HRESULT Save(HWND hwndStatus); + HRESULT ExecJobs(HWND hwndStatus); + HRESULT GetWinampWnd(HWND *phwndWinamp); + +protected: + INT_PTR DialogProc(UINT uMsg, WPARAM wParam, LPARAM lParam); + INT_PTR OnInitDialog(HWND hwndFocused, LPARAM lParam); + void OnDestroy(void); + void OnCommand(INT nCtrlID, INT nEvntID, HWND hwndCtrl); + void OnCancel(void); // use it if you want prompt user first + void OnCancel_Clicked(void); + void OnNext_Clicked(HWND hwndCtrl); + void OnBack_Clicked(HWND hwndCtrl); + void OnNavigation_SelChange(HWND hwndCtrl); + INT_PTR OnDrawItem(INT nCtrlID, DRAWITEMSTRUCT *pdis); + INT_PTR OnMeasureItem(INT nCtrlID, MEASUREITEMSTRUCT *pmis); + void OnDrawHeader(DRAWITEMSTRUCT *pdis); + void OnDrawNavigationItem(DRAWITEMSTRUCT *pdis); + INT_PTR OnColorListBox(HDC hdc, HWND hwndCtrl); + +private: + int ref; + HWND hwnd; + std::vector<ifc_setuppage*> pageList; + std::vector<ifc_setupjob*> jobList; + HWND hwndActive; + size_t nPageActive; + UI *pui; + RECT rcUI; + HWND hWinamp; + +protected: + friend static INT_PTR WINAPI DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + RECVS_DISPATCH; + +}; + + +#endif //WINAMP_SETUP_WIZARD_HEADER
\ No newline at end of file |