Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenfiledlgbrowser.h
Go to the documentation of this file.
00001 /* 00002 * Implementation of IShellBrowser for the File Open common dialog 00003 * 00004 * Copyright 1999 Francois Boisvert 00005 * Copyright 1999, 2000 Juergen Schmied 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00020 */ 00021 00022 #ifndef SHBROWSER_H 00023 #define SHBROWSER_H 00024 00025 #ifndef RC_INVOKED 00026 #include <stdarg.h> 00027 #endif 00028 00029 #include "windef.h" 00030 #include "winbase.h" 00031 #include "winuser.h" 00032 #include "shlobj.h" 00033 #include "objbase.h" 00034 #include "commdlg.h" 00035 00036 /*********************************************************************** 00037 * Defines and global variables 00038 */ 00039 00040 /* dialog internal property */ 00041 00042 #define FODPROP_SAVEDLG 0x0001 /* File dialog is a Save file dialog */ 00043 #define FODPROP_USEVIEW 0x0002 /* Indicates the user selection must be taken 00044 from the IShellView */ 00045 00046 /*********************************************************************** 00047 * Data structure 00048 */ 00049 00050 00051 typedef struct 00052 { 00053 LPOPENFILENAMEW ofnInfos; 00054 BOOL unicode; 00055 LPWSTR initdir; 00056 LPWSTR filename; 00057 LPCWSTR title; 00058 LPCWSTR defext; 00059 LPCWSTR filter; 00060 LPCWSTR customfilter; 00061 SIZE sizedlg; /* remember the size of the dialog */ 00062 POINT initial_size; /* remember the initial size of the dialog */ 00063 struct { 00064 IShellBrowser *FOIShellBrowser; 00065 IShellFolder *FOIShellFolder; 00066 IShellView *FOIShellView; 00067 IDataObject *FOIDataObject; 00068 } Shell; 00069 00070 struct { 00071 HWND hwndOwner; 00072 HWND hwndView; 00073 FOLDERSETTINGS folderSettings; 00074 LPITEMIDLIST pidlAbsCurrent; 00075 LPWSTR lpstrCurrentFilter; 00076 } ShellInfos; 00077 00078 struct { 00079 HWND hwndFileTypeCB; 00080 HWND hwndLookInCB; 00081 HWND hwndFileName; 00082 HWND hwndTB; 00083 HWND hwndGrip; 00084 HWND hwndCustomDlg; 00085 DWORD dwDlgProp; 00086 } DlgInfos; 00087 00088 struct { 00089 UINT fileokstring; 00090 UINT lbselchstring; 00091 UINT helpmsgstring; 00092 UINT sharevistring; 00093 } HookMsg; 00094 00095 } FileOpenDlgInfos; 00096 00097 /*********************************************************************** 00098 * Control IDs 00099 */ 00100 #define IDS_FILENOTFOUND 114 00101 #define IDS_VERIFYFILE 115 00102 #define IDS_CREATEFILE 116 00103 #define IDS_OVERWRITEFILE 119 00104 #define IDS_INVALID_FILENAME_TITLE 120 00105 #define IDS_INVALID_FILENAME 121 00106 #define IDS_PATHNOTEXISTING 122 00107 #define IDS_FILENOTEXISTING 123 00108 00109 /* File Dialog Tooltips string IDs */ 00110 00111 #define IDS_UPFOLDER 150 00112 #define IDS_NEWFOLDER 151 00113 #define IDS_LISTVIEW 152 00114 #define IDS_REPORTVIEW 153 00115 #define IDS_TODESKTOP 154 00116 00117 #define IDC_OPENREADONLY chx1 00118 00119 #define IDC_TOOLBARSTATIC stc1 00120 #define IDC_FILETYPESTATIC stc2 00121 #define IDC_FILENAMESTATIC stc3 00122 #define IDC_LOOKINSTATIC stc4 00123 00124 #define IDC_SHELLSTATIC lst1 00125 00126 #define IDC_FILETYPE cmb1 00127 #define IDC_LOOKIN cmb2 00128 00129 #define IDC_FILENAME edt1 00130 00131 #define IDC_TOOLBAR 1 00132 00133 /*********************************************************************** 00134 * Prototypes for the methods of the IShellBrowserImpl class 00135 */ 00136 /* Constructor */ 00137 IShellBrowser * IShellBrowserImpl_Construct(HWND hwndOwner) DECLSPEC_HIDDEN; 00138 00139 00140 LPITEMIDLIST GetPidlFromDataObject ( IDataObject *doSelected, UINT nPidlIndex) DECLSPEC_HIDDEN; 00141 00142 /* Functions used by the EDIT box */ 00143 void FILEDLG95_FILENAME_FillFromSelection (HWND hwnd) DECLSPEC_HIDDEN; 00144 00145 /************************************************************************** 00146 * External Prototypes 00147 */ 00148 extern const char FileOpenDlgInfosStr[] DECLSPEC_HIDDEN; 00149 00150 extern IShellFolder* GetShellFolderFromPidl(LPITEMIDLIST pidlAbs) DECLSPEC_HIDDEN; 00151 extern LPITEMIDLIST GetParentPidl(LPITEMIDLIST pidl) DECLSPEC_HIDDEN; 00152 00153 extern int FILEDLG95_LOOKIN_SelectItem(HWND hwnd,LPITEMIDLIST pidl) DECLSPEC_HIDDEN; 00154 extern LRESULT SendCustomDlgNotificationMessage(HWND hwndParentDlg, UINT uCode) DECLSPEC_HIDDEN; 00155 00156 #endif /*SHBROWSER_H*/ Generated on Sun May 27 2012 04:23:07 for ReactOS by
1.7.6.1
|