2 #ifndef __TestWizardFilePreviewPage_h__
3 #define __TestWizardFilePreviewPage_h__
5 #include "TestWizardInfo.h"
7 ///////////////////////////////////////////////////////////////////////////////
8 // CFileListViewCtrl - a sortable list view of the resulting files
11 WS_CHILD
| WS_VISIBLE
| WS_CLIPSIBLINGS
| WS_CLIPCHILDREN
|
12 LVS_REPORT
| LVS_SHOWSELALWAYS
| LVS_SHAREIMAGELISTS
,
13 WS_EX_CLIENTEDGE
> CFileListViewCtrlWinTraits
;
15 class CFileListViewCtrl
:
16 public CSortListViewCtrlImpl
<CFileListViewCtrl
, CListViewCtrl
, CFileListViewCtrlWinTraits
>,
17 public ITestWizardFindFileCB
21 typedef CFileListViewCtrl thisClass
;
22 typedef CSortListViewCtrlImpl
<CFileListViewCtrl
, CListViewCtrl
, CFileListViewCtrlWinTraits
> baseClass
;
29 ListColumn_Folder
= 1,
30 ListColumn_LastModified
= 2,
32 ListColumn_SizeBytes
= 4,
33 ListColumn_FullPath
= 5,
37 DECLARE_WND_SUPERCLASS(_T("FileListView"), CListViewCtrl::GetWndClassName())
39 BEGIN_MSG_MAP(thisClass
)
40 MESSAGE_HANDLER(WM_CREATE
, OnCreate
)
41 MESSAGE_HANDLER(WM_DESTROY
, OnDestroy
)
42 MESSAGE_HANDLER(WM_CONTEXTMENU
, OnContextMenu
)
44 CHAIN_MSG_MAP(baseClass
)
45 DEFAULT_REFLECTION_HANDLER()
48 LRESULT
OnCreate(UINT uMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
49 LRESULT
OnDestroy(UINT uMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
50 LRESULT
OnContextMenu(UINT uMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
53 void Initialize(void);
54 void InitializeListColumns(void);
55 void Uninitialize(void);
57 // Overrides for CWindowImpl
58 BOOL
SubclassWindow(HWND hWnd
);
59 HWND
UnsubclassWindow(BOOL bForce
= FALSE
);
61 // Overrides for CSortListViewImpl
62 int CompareItemsCustom(LVCompareParam
* pItem1
, LVCompareParam
* pItem2
, int iSortCol
);
64 // ITestWizardFindFileCB
65 virtual bool OnBeginFindFiles(void) { return true; }
66 virtual void OnEndFindFiles(void) { }
67 virtual bool OnBeginDirectorySearch(LPCTSTR
/*directory*/) { return true; }
68 virtual void OnEndDirectorySearch(LPCTSTR
/*directory*/) { }
69 virtual void OnFileFound(LPCTSTR directory
, LPWIN32_FIND_DATA findFileData
);
72 int AddFile(LPCTSTR fileFullPath
);
73 int AddFile(LPCTSTR directory
, LPCTSTR fileSpec
, LPCTSTR fileFullPath
, FILETIME lastWriteTimeUTC
, ULONGLONG fileSize
);
74 void AutoResizeColumns(void);
75 void ClearSortHeaderBitmap(void);
79 ///////////////////////////////////////////////////////////////////////////////
80 // CTestWizardFilePreviewPage - Wizard page to preview the files located by the path/filter
82 class CTestWizardFilePreviewPage
:
83 public CWizard97InteriorPageImpl
<CTestWizardFilePreviewPage
>,
84 public CTestWizardInfoRef
88 typedef CTestWizardFilePreviewPage thisClass
;
89 typedef CWizard97InteriorPageImpl
<CTestWizardFilePreviewPage
> baseClass
;
92 CFileListViewCtrl m_listFiles
;
94 CButton m_buttonPreview
;
98 CTestWizardFilePreviewPage(_U_STRINGorID title
= (LPCTSTR
)NULL
) :
101 baseClass::SetHeaderTitle(_T("Preview File List"));
102 baseClass::SetHeaderSubTitle(_T("Preview the list of files identified by the path and filter."));
106 enum { IDD
= IDD_WIZ97_FILEPREVIEW
};
107 BEGIN_MSG_MAP(thisClass
)
108 MESSAGE_HANDLER(WM_INITDIALOG
, OnInitDialog
)
109 MESSAGE_HANDLER(WM_DESTROY
, OnDestroy
)
111 COMMAND_HANDLER(IDC_BTN_PREVIEW
, BN_CLICKED
, OnClickPreview
)
113 CHAIN_MSG_MAP(baseClass
)
114 REFLECT_NOTIFICATIONS_ID_FILTERED(IDC_LIST_FILES
)
117 LRESULT
OnInitDialog(UINT uMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
118 LRESULT
OnDestroy(UINT uMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
120 LRESULT
OnClickPreview(WORD wNotifyCode
, WORD wID
, HWND hWndCtl
, BOOL
& bHandled
);
123 void InitializeControls(void);
124 //void InitializeControlSizes(void);
125 void UninitializeControls(void);
126 void InitializeValues(void);
127 bool StoreValues(void);
129 void UpdateFileList();
131 // Overrides from base class
139 #endif // __TestWizardFilePreviewPage_h__