ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

filedlgbrowser.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.