9#if !defined(OWL_PROPSHT_H)
13#if defined(BI_HAS_PRAGMA_ONCE)
26#if !defined(PSH_MULTILINETABS)
27# define PSH_MULTILINETABS 0x0010
63 LPCTSTR title = 0,
TResId iconRes = 0,
78 void SetTitle(
int txtResId);
79 void SetFlags(
uint32 flags);
87 operator HPROPSHEETPAGE()
const;
91 void CopyPageInfo(PROPSHEETPAGE& pgInfo)
const;
92 PROPSHEETPAGE& GetPropSheetPage();
97 HPROPSHEETPAGE CreatePropertyPage();
98 bool DestroyPropertyPage();
111 auto Create() ->
bool override;
117 PropCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
121 static INT_PTR CALLBACK
122 PropDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
166 static void InitHandle(
THandle pageHandle, LPPROPSHEETPAGE pageInfo);
170 static void RegisterPageChildObjects(
TPropertyPage* page,
void*);
174#if (defined(UNIX) && !defined(WINELIB))
189 void SetModified(
bool modified);
190 bool IsModified()
const;
223 bool isWizard =
false,
224 uint32 flags = PSH_DEFAULT,
229 bool isWizard =
false,
230 uint32 flags = PSH_DEFAULT,
244 auto Execute() ->
int override;
245 auto Create() ->
bool override;
246 INT_PTR Run(
bool modal);
252 bool SelectPage(
int pgIndex);
253 bool SelectPage(
TResId pgRes);
255 void RemovePage(
int pgIndex);
256 int GetPageCount()
const;
265 void PressButton(
int button);
275 void RestartWindows();
279 void SetTitle(LPCTSTR text,
uint32 style = PSH_PROPTITLE);
281 void SetFinishText(LPCTSTR text);
283 void SetWizButtons(
uint32 flags);
284 void CancelToClose();
288 HWND GetTabControl()
const;
289 HWND GetCurrentPage()
const;
293 bool IsDialogMessage(MSG & msg);
297 PROPSHEETHEADER& GetPropSheetHeader();
306 void EnableSubclass(
bool subclass);
335 bool GetPageHandles();
340 void InitHandle(
THandle sheetHandle);
342 void EvTimer (
uint timerId);
369#define EV_PSN_APPLY(method) OWL_EV_NOTIFICATION(PSN_APPLY, ::owl::PropPageID, method)
374#define EV_PSN_GETOBJECT(method) OWL_EV_NOTIFICATION(PSN_GETOBJECT, ::owl::PropPageID, method)
379#define EV_PSN_HELP(method) OWL_EV_NOTIFICATION(PSN_HELP, ::owl::PropPageID, method)
384#define EV_PSN_KILLACTIVE(method) OWL_EV_NOTIFICATION(PSN_KILLACTIVE, ::owl::PropPageID, method)
389#define EV_PSN_QUERYCANCEL(method) OWL_EV_NOTIFICATION(PSN_QUERYCANCEL, ::owl::PropPageID, method)
394#define EV_PSN_RESET(method) OWL_EV_NOTIFICATION(PSN_RESET, ::owl::PropPageID, method)
399#define EV_PSN_SETACTIVE(method) OWL_EV_NOTIFICATION(PSN_SETACTIVE, ::owl::PropPageID, method)
404#define EV_PSN_WIZBACK(method) OWL_EV_NOTIFICATION(PSN_WIZBACK, ::owl::PropPageID, method)
409#define EV_PSN_WIZFINISH(method) OWL_EV_NOTIFICATION(PSN_WIZFINISH, ::owl::PropPageID, method)
414#define EV_PSN_WIZNEXT(method) OWL_EV_NOTIFICATION(PSN_WIZNEXT, ::owl::PropPageID, method)
440inline TPropertyPage::operator HPROPSHEETPAGE()
const
469inline PROPSHEETHEADER&
#define PRECONDITION(condition)
Pointer to an array of type T.
void CmOk()
Responds to a click on the dialog box's OK button with the identifier IDOK.
void SetupWindow() override
Overrides the virtual function defined in TWindow.
void CmCancel()
Responds to an incoming notification message from a button with an Id equal to IDCANCEL.
TDialog(TWindow *parent, TResId resId, TModule *module=nullptr)
Constructor for a TDialog object.
TIcon, derived from TGdiObject, represents the GDI object icon class.
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
TNotify is a thin wrapper around the NMHDR structure.
The 'TPropertyPage' object represents a dialog box found within a property sheet.
HPROPSHEETPAGE HPropPage
Handle of this property page.
PROPSHEETPAGE & GetPropSheetPage()
Return structure which describes the characteristics/attributes of page.
friend class TPropertySheet
TPropertySheet * GetSheet() const
Return pointer to parent/sheet object.
void SetIcon(const TIcon &)
Specifies the icon to be used for this page.
PROPSHEETPAGE PageInfo
Following structure holds information about this dialog when it is inserted into a PropertySheet.
void SetTitle(const tstring &s)
void SetTitle(LPCTSTR)
Sets the caption of this page.
TPropertyPage(TPropertySheet *parent, TResId resId, LPCTSTR title=0, TResId iconRes=0, TModule *module=0)
Constructor for TPropertyPage.
TPropertySheet encapsulates a window which contains one or more overlapping child windows knowns as p...
void SetTitle(const tstring &text, uint32 style=PSH_PROPTITLE)
bool SubClassSheet
Should we subclass the sheet (OS only).
bool WantTimer
Flags whether to start a timer.
void SetCaption(LPCTSTR title)
Updates the caption of the property sheet.
UINT_PTR TimerID
Timer identifier.
void EnableSubclass(bool subclass)
void SetupWindow() override
Computes the size of the sheet, activates the designated 'startPage' and sets focus to the tab contro...
TPropertySheet(TWindow *parent, LPCTSTR title, uint startPage=0, bool isWizard=false, uint32 flags=PSH_DEFAULT, TModule *module=0)
Constructs a PropertySheet object.
PROPSHEETHEADER & GetPropSheetHeader()
Return structure which describes the characteristics/attributes of sheet.
void CleanupWindow() override
PROPSHEETHEADER HeaderInfo
void SetCaption(const tstring &title)
void SetFinishText(const tstring &text)
auto PreProcessMsg(MSG &) -> bool override
friend class TPropertyPage
TPshNotify(HWND hwnd, uint id, uint code, LPARAM lp)
TWindow(TWindow *parent, LPCTSTR title=nullptr, TModule *module=nullptr)
Adds this to the child list of parent if nonzero, and calls EnableAutoCreate so that this will be cre...
TWindow * GetParentO() const
Return the OWL's parent for this window.
HWND THandle
TWindow encapsulates an HWND.
HWND GetHandle() const
Returns the handle of the window.
Definition of classes for CommonControl encapsulation.
Definition of TDialog class and TDialogAttr struct.
void(*) TActionPageFunc(TPropertyPage *pPage, void *param)
bool(*) TCondPageFunc(TPropertyPage *pPage, void *param)
Object Windows Library (OWLNext Core).
UINT TMsgId
Message ID type.
LPARAM TParam2
Second parameter type.
WPARAM TParam1
First parameter type.
const int PropPageID
Property sheets notify property pages of events via the standard WM_NOTIFY message.
LRESULT TResult
Result type.
General definitions used by all ObjectWindows programs.
#define TYPESAFE_DOWNCAST(object, toClass)