]>
Commit | Line | Data |
---|---|---|
b7301c43 | 1 | /* |
56a7c49e | 2 | * Copyright (c) 2001, 2002, 2003 Gary R. Van Sickle. |
b7301c43 RC |
3 | * |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation; either version 2 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * A copy of the GNU General Public License can be found at | |
10 | * http://www.gnu.org/ | |
11 | * | |
12 | * Written by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net> | |
13 | * | |
14 | */ | |
15 | ||
c93bc6d0 MB |
16 | #ifndef SETUP_PROPSHEET_H |
17 | #define SETUP_PROPSHEET_H | |
18 | ||
b7301c43 RC |
19 | // This is the header for the PropSheet class. This class encapsulates |
20 | // a Windows property sheet / wizard and interfaces with the PropertyPage class. | |
21 | // It's named PropSheet instead of PropertySheet because the latter conflicts with | |
22 | // the Windows function of the same name. | |
23 | ||
24 | ||
56a7c49e MB |
25 | #include <vector> |
26 | ||
46d04e97 | 27 | #include "win32.h" |
b7301c43 RC |
28 | #include <prsht.h> |
29 | ||
30 | #include "window.h" | |
31 | ||
32 | class PropertyPage; | |
33 | ||
866e1800 | 34 | class PropSheet : public Window |
b7301c43 | 35 | { |
56a7c49e MB |
36 | typedef std::vector< PropertyPage* > PageContainer; |
37 | PageContainer PropertyPages; | |
b7301c43 RC |
38 | |
39 | HPROPSHEETPAGE *PageHandles; | |
40 | HPROPSHEETPAGE *CreatePages (); | |
41 | ||
42 | public: | |
43 | PropSheet (); | |
44 | virtual ~ PropSheet (); | |
45 | ||
46 | // Should be private and friended to PropertyPage | |
47 | void SetHWNDFromPage (HWND h); | |
ee91d9be | 48 | void AdjustPageSize (HWND page); |
b7301c43 | 49 | |
b9c686ca JT |
50 | bool Create (const Window * Parent = NULL, |
51 | DWORD Style = WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN); | |
b7301c43 RC |
52 | |
53 | void AddPage (PropertyPage * p); | |
54 | ||
55 | bool SetActivePage (int i); | |
56 | bool SetActivePageByID (int resource_id); | |
57 | void SetButtons (DWORD flags); | |
58 | void PressButton (int button); | |
59 | }; | |
60 | ||
c93bc6d0 | 61 | #endif /* SETUP_PROPSHEET_H */ |