1 /* 2 * Common Dialog Boxes interface (32 bit) 3 * 4 * Copyright 1998 Bertho A. Stultiens 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 */ 20 21 #ifndef _WINE_DLL_CDLG_H 22 #define _WINE_DLL_CDLG_H 23 24 #include "dlgs.h" 25 26 /* Common dialogs implementation globals */ 27 #define COMDLG32_Atom MAKEINTATOM(0xa000) /* MS uses this one to identify props */ 28 29 extern HINSTANCE COMDLG32_hInstance DECLSPEC_HIDDEN; 30 #ifdef __REACTOS__ 31 extern CRITICAL_SECTION COMDLG32_OpenFileLock DECLSPEC_HIDDEN; 32 #endif 33 34 void COMDLG32_SetCommDlgExtendedError(DWORD err) DECLSPEC_HIDDEN; 35 LPVOID COMDLG32_AllocMem(int size) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN; 36 37 /* Find/Replace local definitions */ 38 39 #define FR_WINE_UNICODE 0x80000000 40 #define FR_WINE_REPLACE 0x40000000 41 42 typedef struct { 43 FINDREPLACEA fr; /* Internally used structure */ 44 union { 45 FINDREPLACEA *fra; /* Reference to the user supplied structure */ 46 FINDREPLACEW *frw; 47 } user_fr; 48 } COMDLG32_FR_Data; 49 50 #define PD32_PRINT_TITLE 7000 51 52 #define PD32_VALUE_UREADABLE 1104 53 #define PD32_INVALID_PAGE_RANGE 1105 54 #define PD32_FROM_NOT_ABOVE_TO 1106 55 #define PD32_MARGINS_OVERLAP 1107 56 #define PD32_NR_OF_COPIES_EMPTY 1108 57 #define PD32_TOO_LARGE_COPIES 1109 58 #define PD32_PRINT_ERROR 1110 59 #define PD32_NO_DEFAULT_PRINTER 1111 60 #define PD32_CANT_FIND_PRINTER 1112 61 #define PD32_OUT_OF_MEMORY 1113 62 #define PD32_GENERIC_ERROR 1114 63 #define PD32_DRIVER_UNKNOWN 1115 64 #define PD32_NO_DEVICES 1121 65 66 #define PD32_PRINTER_STATUS_READY 1536 67 #define PD32_PRINTER_STATUS_PAUSED 1537 68 #define PD32_PRINTER_STATUS_ERROR 1538 69 #define PD32_PRINTER_STATUS_PENDING_DELETION 1539 70 #define PD32_PRINTER_STATUS_PAPER_JAM 1540 71 #define PD32_PRINTER_STATUS_PAPER_OUT 1541 72 #define PD32_PRINTER_STATUS_MANUAL_FEED 1542 73 #define PD32_PRINTER_STATUS_PAPER_PROBLEM 1543 74 #define PD32_PRINTER_STATUS_OFFLINE 1544 75 #define PD32_PRINTER_STATUS_IO_ACTIVE 1545 76 #define PD32_PRINTER_STATUS_BUSY 1546 77 #define PD32_PRINTER_STATUS_PRINTING 1547 78 #define PD32_PRINTER_STATUS_OUTPUT_BIN_FULL 1548 79 #define PD32_PRINTER_STATUS_NOT_AVAILABLE 1549 80 #define PD32_PRINTER_STATUS_WAITING 1550 81 #define PD32_PRINTER_STATUS_PROCESSING 1551 82 #define PD32_PRINTER_STATUS_INITIALIZING 1552 83 #define PD32_PRINTER_STATUS_WARMING_UP 1553 84 #define PD32_PRINTER_STATUS_TONER_LOW 1554 85 #define PD32_PRINTER_STATUS_NO_TONER 1555 86 #define PD32_PRINTER_STATUS_PAGE_PUNT 1556 87 #define PD32_PRINTER_STATUS_USER_INTERVENTION 1557 88 #define PD32_PRINTER_STATUS_OUT_OF_MEMORY 1558 89 #define PD32_PRINTER_STATUS_DOOR_OPEN 1559 90 #define PD32_PRINTER_STATUS_SERVER_UNKNOWN 1560 91 #define PD32_PRINTER_STATUS_POWER_SAVE 1561 92 93 #define PD32_DEFAULT_PRINTER 1582 94 #define PD32_NR_OF_DOCUMENTS_IN_QUEUE 1583 95 96 #define PD32_MARGINS_IN_INCHES 1585 97 #define PD32_MARGINS_IN_MILLIMETERS 1586 98 #define PD32_MILLIMETERS 1587 99 100 /* Charset names string IDs */ 101 102 #define IDS_CHARSET_ANSI 200 103 #define IDS_CHARSET_SYMBOL 201 104 #define IDS_CHARSET_JIS 202 105 #define IDS_CHARSET_HANGUL 203 106 #define IDS_CHARSET_GB2312 204 107 #define IDS_CHARSET_BIG5 205 108 #define IDS_CHARSET_GREEK 206 109 #define IDS_CHARSET_TURKISH 207 110 #define IDS_CHARSET_HEBREW 208 111 #define IDS_CHARSET_ARABIC 209 112 #define IDS_CHARSET_BALTIC 210 113 #define IDS_CHARSET_VIETNAMESE 211 114 #define IDS_CHARSET_RUSSIAN 212 115 #define IDS_CHARSET_EE 213 116 #define IDS_CHARSET_THAI 214 117 #define IDS_CHARSET_JOHAB 215 118 #define IDS_CHARSET_MAC 216 119 #define IDS_CHARSET_OEM 217 120 #define IDS_CHARSET_VISCII 218 121 #define IDS_CHARSET_TCVN 219 122 #define IDS_CHARSET_KOI8 220 123 #define IDS_CHARSET_ISO3 221 124 #define IDS_CHARSET_ISO4 222 125 #define IDS_CHARSET_ISO10 223 126 #define IDS_CHARSET_CELTIC 224 127 128 /* Font styles */ 129 130 #define IDS_FONT_REGULAR 256 131 #define IDS_FONT_BOLD 257 132 #define IDS_FONT_ITALIC 258 133 #define IDS_FONT_BOLD_ITALIC 259 134 135 /* Color names string IDs */ 136 137 #define IDS_COLOR_BLACK 1040 138 #define IDS_COLOR_MAROON 1041 139 #define IDS_COLOR_GREEN 1042 140 #define IDS_COLOR_OLIVE 1043 141 #define IDS_COLOR_NAVY 1044 142 #define IDS_COLOR_PURPLE 1045 143 #define IDS_COLOR_TEAL 1046 144 #define IDS_COLOR_GRAY 1047 145 #define IDS_COLOR_SILVER 1048 146 #define IDS_COLOR_RED 1049 147 #define IDS_COLOR_LIME 1050 148 #define IDS_COLOR_YELLOW 1051 149 #define IDS_COLOR_BLUE 1052 150 #define IDS_COLOR_FUCHSIA 1053 151 #define IDS_COLOR_AQUA 1054 152 #define IDS_COLOR_WHITE 1055 153 154 /* Color dialog controls */ 155 #define IDC_COLOR_LUMBAR 702 156 #define IDC_COLOR_EDIT_H 703 157 #define IDC_COLOR_EDIT_S 704 158 #define IDC_COLOR_EDIT_L 705 159 #define IDC_COLOR_EDIT_R 706 160 #define IDC_COLOR_EDIT_G 707 161 #define IDC_COLOR_EDIT_B 708 162 #define IDC_COLOR_RESULT 709 163 #define IDC_COLOR_GRAPH 710 164 #define IDC_COLOR_ADD 712 165 #define IDC_COLOR_RES 713 166 #define IDC_COLOR_DEFINE 719 167 #define IDC_COLOR_PREDEF 720 168 #define IDC_COLOR_USRDEF 721 169 #define IDC_COLOR_HL 723 170 #define IDC_COLOR_SL 724 171 #define IDC_COLOR_LL 725 172 #define IDC_COLOR_RL 726 173 #define IDC_COLOR_GL 727 174 #define IDC_COLOR_BL 728 175 176 #define IDS_FONT_SIZE 1200 177 #define IDS_SAVE_BUTTON 1201 178 #define IDS_SAVE_IN 1202 179 #define IDS_SAVE 1203 180 #define IDS_SAVE_AS 1204 181 #define IDS_OPEN_FILE 1205 182 #define IDS_SELECT_FOLDER 1206 183 #define IDS_FONT_SIZE_INPUT 1207 184 185 #define IDS_FAKEDOCTEXT 1300 186 187 #include "windef.h" 188 #include "winbase.h" 189 #include "wingdi.h" 190 #include "winuser.h" 191 #include "winnls.h" 192 #include "commctrl.h" 193 #include "shlobj.h" 194 #include "shellapi.h" 195 196 /* Constructors */ 197 HRESULT FileOpenDialog_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv) DECLSPEC_HIDDEN; 198 HRESULT FileSaveDialog_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv) DECLSPEC_HIDDEN; 199 200 /* Shared helper functions */ 201 void COMDLG32_GetCanonicalPath(PCIDLIST_ABSOLUTE pidlAbsCurrent, LPWSTR lpstrFile, LPWSTR lpstrPathAndFile) DECLSPEC_HIDDEN; 202 #ifdef __REACTOS__ 203 struct FileOpenDlgInfos; 204 int FILEDLG95_ValidatePathAction(struct FileOpenDlgInfos *fodInfos, LPWSTR lpstrPathAndFile, IShellFolder **ppsf, 205 HWND hwnd, DWORD flags, BOOL isSaveDlg, int defAction) DECLSPEC_HIDDEN; 206 #else 207 int FILEDLG95_ValidatePathAction(LPWSTR lpstrPathAndFile, IShellFolder **ppsf, 208 HWND hwnd, DWORD flags, BOOL isSaveDlg, int defAction) DECLSPEC_HIDDEN; 209 #endif 210 int COMDLG32_SplitFileNames(LPWSTR lpstrEdit, UINT nStrLen, LPWSTR *lpstrFileList, UINT *sizeUsed) DECLSPEC_HIDDEN; 211 void FILEDLG95_OnOpenMessage(HWND hwnd, int idCaption, int idText) DECLSPEC_HIDDEN; 212 213 extern BOOL GetFileName31A( OPENFILENAMEA *lpofn, UINT dlgType ) DECLSPEC_HIDDEN; 214 extern BOOL GetFileName31W( OPENFILENAMEW *lpofn, UINT dlgType ) DECLSPEC_HIDDEN; 215 216 /* SHELL */ 217 extern LPITEMIDLIST (WINAPI *COMDLG32_SHSimpleIDListFromPathAW)(LPCVOID); 218 219 #define ONOPEN_BROWSE 1 220 #define ONOPEN_OPEN 2 221 #define ONOPEN_SEARCH 3 222 223 #endif /* _WINE_DLL_CDLG_H */ 224