]> cygwin.com Git - cygwin-apps/setup.git/blob - propsheet.h
Suppress bogus free-nonheap-object warning in iniparse.cc
[cygwin-apps/setup.git] / propsheet.h
1 /*
2 * Copyright (c) 2001, 2002, 2003 Gary R. Van Sickle.
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
16 #ifndef SETUP_PROPSHEET_H
17 #define SETUP_PROPSHEET_H
18
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
25 #include <vector>
26
27 #include "win32.h"
28 #include <prsht.h>
29
30 #include "window.h"
31
32 class PropertyPage;
33
34 class PropSheet : public Window
35 {
36 typedef std::vector< PropertyPage* > PageContainer;
37 PageContainer PropertyPages;
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);
48 void AdjustPageSize (HWND page);
49
50 virtual bool Create (const Window * Parent = NULL,
51 DWORD Style =
52 WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN);
53
54 void AddPage (PropertyPage * p);
55
56 bool SetActivePage (int i);
57 bool SetActivePageByID (int resource_id);
58 void SetButtons (DWORD flags);
59 void PressButton (int button);
60 };
61
62 #endif /* SETUP_PROPSHEET_H */
This page took 0.036819 seconds and 5 git commands to generate.