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 31 void COMDLG32_SetCommDlgExtendedError(DWORD err) DECLSPEC_HIDDEN; 32 LPVOID COMDLG32_AllocMem(int size) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN; 33 34 /* Find/Replace local definitions */ 35 36 #define FR_WINE_UNICODE 0x80000000 37 #define FR_WINE_REPLACE 0x40000000 38 39 typedef struct { 40 FINDREPLACEA fr; /* Internally used structure */ 41 union { 42 FINDREPLACEA *fra; /* Reference to the user supplied structure */ 43 FINDREPLACEW *frw; 44 } user_fr; 45 } COMDLG32_FR_Data; 46 47 #define PD32_PRINT_TITLE 7000 48 49 #define PD32_VALUE_UREADABLE 1104 50 #define PD32_INVALID_PAGE_RANGE 1105 51 #define PD32_FROM_NOT_ABOVE_TO 1106 52 #define PD32_MARGINS_OVERLAP 1107 53 #define PD32_NR_OF_COPIES_EMPTY 1108 54 #define PD32_TOO_LARGE_COPIES 1109 55 #define PD32_PRINT_ERROR 1110 56 #define PD32_NO_DEFAULT_PRINTER 1111 57 #define PD32_CANT_FIND_PRINTER 1112 58 #define PD32_OUT_OF_MEMORY 1113 59 #define PD32_GENERIC_ERROR 1114 60 #define PD32_DRIVER_UNKNOWN 1115 61 #define PD32_NO_DEVICES 1121 62 63 #define PD32_PRINTER_STATUS_READY 1536 64 #define PD32_PRINTER_STATUS_PAUSED 1537 65 #define PD32_PRINTER_STATUS_ERROR 1538 66 #define PD32_PRINTER_STATUS_PENDING_DELETION 1539 67 #define PD32_PRINTER_STATUS_PAPER_JAM 1540 68 #define PD32_PRINTER_STATUS_PAPER_OUT 1541 69 #define PD32_PRINTER_STATUS_MANUAL_FEED 1542 70 #define PD32_PRINTER_STATUS_PAPER_PROBLEM 1543 71 #define PD32_PRINTER_STATUS_OFFLINE 1544 72 #define PD32_PRINTER_STATUS_IO_ACTIVE 1545 73 #define PD32_PRINTER_STATUS_BUSY 1546 74 #define PD32_PRINTER_STATUS_PRINTING 1547 75 #define PD32_PRINTER_STATUS_OUTPUT_BIN_FULL 1548 76 #define PD32_PRINTER_STATUS_NOT_AVAILABLE 1549 77 #define PD32_PRINTER_STATUS_WAITING 1550 78 #define PD32_PRINTER_STATUS_PROCESSING 1551 79 #define PD32_PRINTER_STATUS_INITIALIZING 1552 80 #define PD32_PRINTER_STATUS_WARMING_UP 1553 81 #define PD32_PRINTER_STATUS_TONER_LOW 1554 82 #define PD32_PRINTER_STATUS_NO_TONER 1555 83 #define PD32_PRINTER_STATUS_PAGE_PUNT 1556 84 #define PD32_PRINTER_STATUS_USER_INTERVENTION 1557 85 #define PD32_PRINTER_STATUS_OUT_OF_MEMORY 1558 86 #define PD32_PRINTER_STATUS_DOOR_OPEN 1559 87 #define PD32_PRINTER_STATUS_SERVER_UNKNOWN 1560 88 #define PD32_PRINTER_STATUS_POWER_SAVE 1561 89 90 #define PD32_DEFAULT_PRINTER 1582 91 #define PD32_NR_OF_DOCUMENTS_IN_QUEUE 1583 92 93 #define PD32_MARGINS_IN_INCHES 1585 94 #define PD32_MARGINS_IN_MILLIMETERS 1586 95 #define PD32_MILLIMETERS 1587 96 97 /* Charset names string IDs */ 98 99 #define IDS_CHARSET_ANSI 200 100 #define IDS_CHARSET_SYMBOL 201 101 #define IDS_CHARSET_JIS 202 102 #define IDS_CHARSET_HANGUL 203 103 #define IDS_CHARSET_GB2312 204 104 #define IDS_CHARSET_BIG5 205 105 #define IDS_CHARSET_GREEK 206 106 #define IDS_CHARSET_TURKISH 207 107 #define IDS_CHARSET_HEBREW 208 108 #define IDS_CHARSET_ARABIC 209 109 #define IDS_CHARSET_BALTIC 210 110 #define IDS_CHARSET_VIETNAMESE 211 111 #define IDS_CHARSET_RUSSIAN 212 112 #define IDS_CHARSET_EE 213 113 #define IDS_CHARSET_THAI 214 114 #define IDS_CHARSET_JOHAB 215 115 #define IDS_CHARSET_MAC 216 116 #define IDS_CHARSET_OEM 217 117 #define IDS_CHARSET_VISCII 218 118 #define IDS_CHARSET_TCVN 219 119 #define IDS_CHARSET_KOI8 220 120 #define IDS_CHARSET_ISO3 221 121 #define IDS_CHARSET_ISO4 222 122 #define IDS_CHARSET_ISO10 223 123 #define IDS_CHARSET_CELTIC 224 124 125 /* Font styles */ 126 127 #define IDS_FONT_REGULAR 256 128 #define IDS_FONT_BOLD 257 129 #define IDS_FONT_ITALIC 258 130 #define IDS_FONT_BOLD_ITALIC 259 131 132 /* Color names string IDs */ 133 134 #define IDS_COLOR_BLACK 1040 135 #define IDS_COLOR_MAROON 1041 136 #define IDS_COLOR_GREEN 1042 137 #define IDS_COLOR_OLIVE 1043 138 #define IDS_COLOR_NAVY 1044 139 #define IDS_COLOR_PURPLE 1045 140 #define IDS_COLOR_TEAL 1046 141 #define IDS_COLOR_GRAY 1047 142 #define IDS_COLOR_SILVER 1048 143 #define IDS_COLOR_RED 1049 144 #define IDS_COLOR_LIME 1050 145 #define IDS_COLOR_YELLOW 1051 146 #define IDS_COLOR_BLUE 1052 147 #define IDS_COLOR_FUCHSIA 1053 148 #define IDS_COLOR_AQUA 1054 149 #define IDS_COLOR_WHITE 1055 150 151 /* Color dialog controls */ 152 #define IDC_COLOR_LUMBAR 702 153 #define IDC_COLOR_EDIT_H 703 154 #define IDC_COLOR_EDIT_S 704 155 #define IDC_COLOR_EDIT_L 705 156 #define IDC_COLOR_EDIT_R 706 157 #define IDC_COLOR_EDIT_G 707 158 #define IDC_COLOR_EDIT_B 708 159 #define IDC_COLOR_RESULT 709 160 #define IDC_COLOR_GRAPH 710 161 #define IDC_COLOR_ADD 712 162 #define IDC_COLOR_RES 713 163 #define IDC_COLOR_DEFINE 719 164 #define IDC_COLOR_PREDEF 720 165 #define IDC_COLOR_USRDEF 721 166 #define IDC_COLOR_HL 723 167 #define IDC_COLOR_SL 724 168 #define IDC_COLOR_LL 725 169 #define IDC_COLOR_RL 726 170 #define IDC_COLOR_GL 727 171 #define IDC_COLOR_BL 728 172 173 #define IDS_FONT_SIZE 1200 174 #define IDS_SAVE_BUTTON 1201 175 #define IDS_SAVE_IN 1202 176 #define IDS_SAVE 1203 177 #define IDS_SAVE_AS 1204 178 #define IDS_OPEN_FILE 1205 179 #define IDS_SELECT_FOLDER 1206 180 #define IDS_FONT_SIZE_INPUT 1207 181 182 #define IDS_FAKEDOCTEXT 1300 183 184 #include "windef.h" 185 #include "winbase.h" 186 #include "wingdi.h" 187 #include "winuser.h" 188 #include "winnls.h" 189 #include "commctrl.h" 190 #include "shlobj.h" 191 #include "shellapi.h" 192 193 /* Constructors */ 194 HRESULT FileOpenDialog_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv) DECLSPEC_HIDDEN; 195 HRESULT FileSaveDialog_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv) DECLSPEC_HIDDEN; 196 197 /* Shared helper functions */ 198 void COMDLG32_GetCanonicalPath(PCIDLIST_ABSOLUTE pidlAbsCurrent, LPWSTR lpstrFile, LPWSTR lpstrPathAndFile) DECLSPEC_HIDDEN; 199 int FILEDLG95_ValidatePathAction(LPWSTR lpstrPathAndFile, IShellFolder **ppsf, 200 HWND hwnd, DWORD flags, BOOL isSaveDlg, int defAction) DECLSPEC_HIDDEN; 201 int COMDLG32_SplitFileNames(LPWSTR lpstrEdit, UINT nStrLen, LPWSTR *lpstrFileList, UINT *sizeUsed) DECLSPEC_HIDDEN; 202 void FILEDLG95_OnOpenMessage(HWND hwnd, int idCaption, int idText) DECLSPEC_HIDDEN; 203 204 extern BOOL GetFileName31A( OPENFILENAMEA *lpofn, UINT dlgType ) DECLSPEC_HIDDEN; 205 extern BOOL GetFileName31W( OPENFILENAMEW *lpofn, UINT dlgType ) DECLSPEC_HIDDEN; 206 207 /* SHELL */ 208 extern LPITEMIDLIST (WINAPI *COMDLG32_SHSimpleIDListFromPathAW)(LPCVOID); 209 210 #define ONOPEN_BROWSE 1 211 #define ONOPEN_OPEN 2 212 #define ONOPEN_SEARCH 3 213 214 #endif /* _WINE_DLL_CDLG_H */ 215