ReactOS  0.4.15-dev-3187-ge372f2b
filedlgbrowser.h
Go to the documentation of this file.
1 /*
2  * Implementation of IShellBrowser for the File Open common dialog
3  *
4  * Copyright 1999 Francois Boisvert
5  * Copyright 1999, 2000 Juergen Schmied
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21 
22 #ifndef SHBROWSER_H
23 #define SHBROWSER_H
24 
25 #ifndef RC_INVOKED
26 #include <stdarg.h>
27 #endif
28 
29 #include "windef.h"
30 #include "winbase.h"
31 #include "winuser.h"
32 #include "shlobj.h"
33 #include "objbase.h"
34 #include "commdlg.h"
35 
36 /***********************************************************************
37  * Defines and global variables
38  */
39 
40 /* dialog internal property */
41 
42 #define FODPROP_SAVEDLG 0x0001 /* File dialog is a Save file dialog */
43 #define FODPROP_USEVIEW 0x0002 /* Indicates the user selection must be taken
44  from the IShellView */
45 
46 /***********************************************************************
47  * Data structure
48  */
49 
50 
51 typedef struct
52 {
61  SIZE sizedlg; /* remember the size of the dialog */
62  POINT initial_size; /* remember the initial size of the dialog */
63  struct {
68  } Shell;
69 
70  struct {
76  } ShellInfos;
77 
78  struct {
86  } DlgInfos;
87 
88  struct {
93  } HookMsg;
94 
96  LPITEMIDLIST places[5];
97 #ifdef __REACTOS__
98  LPVOID pvCWD; /* ICurrentWorkingDirectory */
99  LPVOID pvDropDown; /* IAutoCompleteDropDown */
100  LPVOID pvACList; /* IACList2 */
101 #endif
103 
104 /***********************************************************************
105  * Control IDs
106  */
107 #define IDS_FILENOTFOUND 114
108 #define IDS_VERIFYFILE 115
109 #define IDS_CREATEFILE 116
110 #define IDS_OVERWRITEFILE 119
111 #define IDS_INVALID_FILENAME_TITLE 120
112 #define IDS_INVALID_FILENAME 121
113 #define IDS_PATHNOTEXISTING 122
114 #define IDS_FILENOTEXISTING 123
115 #define IDS_INVALID_FOLDERNAME 124
116 
117 /* File Dialog Tooltips string IDs */
118 
119 #define IDS_UPFOLDER 150
120 #define IDS_NEWFOLDER 151
121 #define IDS_LISTVIEW 152
122 #define IDS_REPORTVIEW 153
123 #define IDS_TODESKTOP 154
124 
125 #define IDC_OPENREADONLY chx1
126 
127 #define IDC_TOOLBARSTATIC stc1
128 #define IDC_FILETYPESTATIC stc2
129 #define IDC_FILENAMESTATIC stc3
130 #define IDC_LOOKINSTATIC stc4
131 
132 #define IDC_SHELLSTATIC lst1
133 
134 #define IDC_FILETYPE cmb1
135 #define IDC_LOOKIN cmb2
136 
137 #define IDC_FILENAME edt1
138 
139 #define IDC_TOOLBAR 1
140 #define IDC_TOOLBARPLACES ctl1
141 
142 /***********************************************************************
143  * Prototypes for the methods of the IShellBrowserImpl class
144  */
145 /* Constructor */
147 
148 
150 
151 /* Functions used by the EDIT box */
153 
154 /**************************************************************************
155 * External Prototypes
156 */
158 
161 
164 
165 #endif /*SHBROWSER_H*/
IShellFolder * FOIShellFolder
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
LPITEMIDLIST GetParentPidl(LPITEMIDLIST pidl) DECLSPEC_HIDDEN
Definition: filedlg.c:4525
void FILEDLG95_FILENAME_FillFromSelection(HWND hwnd) DECLSPEC_HIDDEN
Definition: filedlg.c:4244
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
LPITEMIDLIST pidlAbsCurrent
IShellFolder * GetShellFolderFromPidl(LPITEMIDLIST pidlAbs) DECLSPEC_HIDDEN
Definition: filedlg.c:4497
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
FileOpenDlgInfos * get_filedlg_infoptr(HWND hwnd) DECLSPEC_HIDDEN
Definition: filedlg.c:229
LPITEMIDLIST GetPidlFromDataObject(IDataObject *doSelected, UINT nPidlIndex) DECLSPEC_HIDDEN
Definition: filedlg.c:4402
unsigned int BOOL
Definition: ntddk_ex.h:94
FOLDERSETTINGS folderSettings
IDataObject * FOIDataObject
LPOPENFILENAMEW ofnInfos
int FILEDLG95_LOOKIN_SelectItem(HWND hwnd, LPITEMIDLIST pidl) DECLSPEC_HIDDEN
Definition: filedlg.c:4090
unsigned long DWORD
Definition: ntddk_ex.h:95
LPWSTR lpstrCurrentFilter
static int Shell(const char **args)
Definition: vfdcmd.c:1020
LRESULT SendCustomDlgNotificationMessage(HWND hwndParentDlg, UINT uCode) DECLSPEC_HIDDEN
Definition: filedlg.c:1070
IShellBrowser * FOIShellBrowser
unsigned int UINT
Definition: ndis.h:50
IShellView * FOIShellView
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LONG_PTR LRESULT
Definition: windef.h:209
IShellBrowser * IShellBrowserImpl_Construct(HWND hwndOwner) DECLSPEC_HIDDEN
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41