1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #ifndef _TOOLS_WINTYPES_HXX 24 #define _TOOLS_WINTYPES_HXX 25 26 #include <tools/solar.h> 27 #include <sal/types.h> 28 29 // ---------------- 30 // - Window-Types - 31 // ---------------- 32 33 typedef sal_uInt16 WindowType; 34 #define WINDOW_BASE 0x0100 35 #define WINDOW_FIRST (WINDOW_BASE + 0x30) 36 #define WINDOW_MESSBOX (WINDOW_FIRST) 37 #define WINDOW_INFOBOX (WINDOW_FIRST + 0x01) 38 #define WINDOW_WARNINGBOX (WINDOW_FIRST + 0x02) 39 #define WINDOW_ERRORBOX (WINDOW_FIRST + 0x03) 40 #define WINDOW_QUERYBOX (WINDOW_FIRST + 0x04) 41 #define WINDOW_WINDOW (WINDOW_FIRST + 0x05) 42 #define WINDOW_SYSWINDOW (WINDOW_FIRST + 0x06) 43 #define WINDOW_WORKWINDOW (WINDOW_FIRST + 0x07) 44 // #define WINDOW_MDIWINDOW (WINDOW_FIRST + 0x08) 45 #define WINDOW_FLOATINGWINDOW (WINDOW_FIRST + 0x09) 46 #define WINDOW_DIALOG (WINDOW_FIRST + 0x0a) 47 #define WINDOW_MODELESSDIALOG (WINDOW_FIRST + 0x0b) 48 #define WINDOW_MODALDIALOG (WINDOW_FIRST + 0x0c) 49 #define WINDOW_SYSTEMDIALOG (WINDOW_FIRST + 0x0d) 50 #define WINDOW_PATHDIALOG (WINDOW_FIRST + 0x0e) 51 #define WINDOW_FILEDIALOG (WINDOW_FIRST + 0x0f) 52 #define WINDOW_PRINTERSETUPDIALOG (WINDOW_FIRST + 0x10) 53 #define WINDOW_PRINTDIALOG (WINDOW_FIRST + 0x11) 54 #define WINDOW_COLORDIALOG (WINDOW_FIRST + 0x12) 55 #define WINDOW_FONTDIALOG (WINDOW_FIRST + 0x13) 56 #define WINDOW_CONTROL (WINDOW_FIRST + 0x14) 57 #define WINDOW_BUTTON (WINDOW_FIRST + 0x15) 58 #define WINDOW_PUSHBUTTON (WINDOW_FIRST + 0x16) 59 #define WINDOW_OKBUTTON (WINDOW_FIRST + 0x17) 60 #define WINDOW_CANCELBUTTON (WINDOW_FIRST + 0x18) 61 #define WINDOW_HELPBUTTON (WINDOW_FIRST + 0x19) 62 #define WINDOW_IMAGEBUTTON (WINDOW_FIRST + 0x1a) 63 #define WINDOW_MENUBUTTON (WINDOW_FIRST + 0x1b) 64 #define WINDOW_MOREBUTTON (WINDOW_FIRST + 0x1c) 65 #define WINDOW_SPINBUTTON (WINDOW_FIRST + 0x1d) 66 #define WINDOW_RADIOBUTTON (WINDOW_FIRST + 0x1e) 67 #define WINDOW_IMAGERADIOBUTTON (WINDOW_FIRST + 0x1f) 68 #define WINDOW_CHECKBOX (WINDOW_FIRST + 0x20) 69 #define WINDOW_TRISTATEBOX (WINDOW_FIRST + 0x21) 70 #define WINDOW_EDIT (WINDOW_FIRST + 0x22) 71 #define WINDOW_MULTILINEEDIT (WINDOW_FIRST + 0x23) 72 #define WINDOW_COMBOBOX (WINDOW_FIRST + 0x24) 73 #define WINDOW_LISTBOX (WINDOW_FIRST + 0x25) 74 #define WINDOW_MULTILISTBOX (WINDOW_FIRST + 0x26) 75 #define WINDOW_FIXEDTEXT (WINDOW_FIRST + 0x27) 76 #define WINDOW_FIXEDLINE (WINDOW_FIRST + 0x28) 77 #define WINDOW_FIXEDBITMAP (WINDOW_FIRST + 0x29) 78 #define WINDOW_FIXEDIMAGE (WINDOW_FIRST + 0x2a) 79 #define WINDOW_GROUPBOX (WINDOW_FIRST + 0x2c) 80 #define WINDOW_SCROLLBAR (WINDOW_FIRST + 0x2d) 81 #define WINDOW_SCROLLBARBOX (WINDOW_FIRST + 0x2e) 82 #define WINDOW_SPLITTER (WINDOW_FIRST + 0x2f) 83 #define WINDOW_SPLITWINDOW (WINDOW_FIRST + 0x30) 84 #define WINDOW_SPINFIELD (WINDOW_FIRST + 0x31) 85 #define WINDOW_PATTERNFIELD (WINDOW_FIRST + 0x32) 86 #define WINDOW_NUMERICFIELD (WINDOW_FIRST + 0x33) 87 #define WINDOW_METRICFIELD (WINDOW_FIRST + 0x34) 88 #define WINDOW_CURRENCYFIELD (WINDOW_FIRST + 0x35) 89 #define WINDOW_DATEFIELD (WINDOW_FIRST + 0x36) 90 #define WINDOW_TIMEFIELD (WINDOW_FIRST + 0x37) 91 #define WINDOW_PATTERNBOX (WINDOW_FIRST + 0x38) 92 #define WINDOW_NUMERICBOX (WINDOW_FIRST + 0x39) 93 #define WINDOW_METRICBOX (WINDOW_FIRST + 0x3a) 94 #define WINDOW_CURRENCYBOX (WINDOW_FIRST + 0x3b) 95 #define WINDOW_DATEBOX (WINDOW_FIRST + 0x3c) 96 #define WINDOW_TIMEBOX (WINDOW_FIRST + 0x3d) 97 #define WINDOW_LONGCURRENCYFIELD (WINDOW_FIRST + 0x3e) 98 #define WINDOW_LONGCURRENCYBOX (WINDOW_FIRST + 0x3f) 99 #define WINDOW_TOOLBOX (WINDOW_FIRST + 0x41) 100 #define WINDOW_DOCKINGWINDOW (WINDOW_FIRST + 0x42) 101 #define WINDOW_STATUSBAR (WINDOW_FIRST + 0x43) 102 #define WINDOW_TABPAGE (WINDOW_FIRST + 0x44) 103 #define WINDOW_TABCONTROL (WINDOW_FIRST + 0x45) 104 #define WINDOW_TABDIALOG (WINDOW_FIRST + 0x46) 105 #define WINDOW_BORDERWINDOW (WINDOW_FIRST + 0x47) 106 #define WINDOW_BUTTONDIALOG (WINDOW_FIRST + 0x48) 107 #define WINDOW_SYSTEMCHILDWINDOW (WINDOW_FIRST + 0x49) 108 #define WINDOW_FIXEDBORDER (WINDOW_FIRST + 0x4a) 109 #define WINDOW_SLIDER (WINDOW_FIRST + 0x4b) 110 #define WINDOW_MENUBARWINDOW (WINDOW_FIRST + 0x4c) 111 #define WINDOW_TREELISTBOX (WINDOW_FIRST + 0x4d) 112 #define WINDOW_HELPTEXTWINDOW (WINDOW_FIRST + 0x4e) 113 #define WINDOW_INTROWINDOW (WINDOW_FIRST + 0x4f) 114 #define WINDOW_LISTBOXWINDOW (WINDOW_FIRST + 0x50) 115 #define WINDOW_DOCKINGAREA (WINDOW_FIRST + 0x51) 116 #define WINDOW_RULER (WINDOW_FIRST + 0x52) 117 #define WINDOW_LAST (WINDOW_RULER) 118 119 120 // --------------- 121 // - Window-Bits - 122 // --------------- 123 124 typedef sal_Int64 WinBits; 125 126 // Window-Bits fuer Window 127 #define WB_CLIPCHILDREN ((WinBits)0x00000001) 128 #define WB_DIALOGCONTROL ((WinBits)0x00000002) 129 #define WB_NODIALOGCONTROL ((WinBits)0x00000004) 130 #define WB_BORDER ((WinBits)0x00000008) 131 #define WB_NOBORDER ((WinBits)0x00000010) 132 #define WB_SIZEABLE ((WinBits)0x00000020) 133 #define WB_3DLOOK ((WinBits)0x00000040) 134 #define WB_AUTOSIZE ((WinBits)0x00000080) 135 136 // Window-Bits fuer SystemWindows 137 #define WB_MOVEABLE ((WinBits)0x00000100) 138 #define WB_ROLLABLE ((WinBits)0x00000200) 139 #define WB_CLOSEABLE ((WinBits)0x00000400) 140 #define WB_STANDALONE ((WinBits)0x00000800) 141 #define WB_APP ((WinBits)0x00001000) 142 #define WB_PINABLE ((WinBits)0x00002000) 143 #define WB_SYSTEMWINDOW ((WinBits)SAL_CONST_INT64(0x40000000)) 144 // warning: do not confuse WB_SYSTEMCHILDWINDOW with the SystemChildWindow class 145 146 // the SystemChildWindow class was there first and is a very specialized 147 // system child window type for plugged applications. The SystemChildWindow class 148 // explicitly should never use the WB_SYSTEMCHILDWINDOW WinBit 149 150 // WB_SYSTEMCHILDWINDOW on the other hand is to be used on system windows 151 // which should be created as system child windows with (more or less) 152 // normal event handling 153 #define WB_SYSTEMCHILDWINDOW ((WinBits)SAL_CONST_INT64(0x8000000000)) 154 #define WB_SIZEMOVE (WB_SIZEABLE | WB_MOVEABLE) 155 156 // Standard-Window-Bits fuer ChildWindows 157 #define WB_TABSTOP ((WinBits)0x00000100) 158 #define WB_NOTABSTOP ((WinBits)0x00000200) 159 #define WB_GROUP ((WinBits)0x00000400) 160 #define WB_NOGROUP ((WinBits)0x00000800) 161 #define WB_HORZ ((WinBits)0x00001000) 162 #define WB_VERT ((WinBits)0x00002000) 163 #define WB_LEFT ((WinBits)0x00004000) 164 #define WB_CENTER ((WinBits)0x00008000) 165 #define WB_RIGHT ((WinBits)0x00010000) 166 #define WB_TOP ((WinBits)0x00020000) 167 #define WB_VCENTER ((WinBits)0x00040000) 168 #define WB_BOTTOM ((WinBits)0x00080000) 169 #define WB_DRAG ((WinBits)0x00100000) 170 #define WB_SPIN ((WinBits)0x00200000) 171 #define WB_REPEAT ((WinBits)0x00400000) 172 #define WB_NOPOINTERFOCUS ((WinBits)0x00800000) 173 #define WB_WORDBREAK ((WinBits)0x01000000) 174 #define WB_NOLABEL ((WinBits)0x02000000) 175 #define WB_SORT ((WinBits)0x04000000) 176 #define WB_DROPDOWN ((WinBits)0x08000000) 177 #define WB_HIDE ((WinBits)SAL_CONST_INT64(0x80000000)) 178 #define WB_AUTOHSCROLL ((WinBits)SAL_CONST_INT64(0x10000000)) 179 #define WB_DOCKABLE ((WinBits)SAL_CONST_INT64(0x20000000)) 180 #define WB_AUTOVSCROLL ((WinBits)SAL_CONST_INT64(0x40000000)) 181 #define WB_HYPHENATION (((WinBits)SAL_CONST_INT64(0x800000000)) | WB_WORDBREAK) 182 #define WB_CHILDDLGCTRL ((WinBits)SAL_CONST_INT64(0x100000000000)) 183 184 // system floating window 185 #define WB_SYSTEMFLOATWIN ((WinBits)SAL_CONST_INT64(0x100000000)) 186 #define WB_INTROWIN ((WinBits)SAL_CONST_INT64(0x200000000)) 187 #define WB_NOSHADOW ((WinBits)SAL_CONST_INT64(0x400000000)) 188 #define WB_TOOLTIPWIN ((WinBits)SAL_CONST_INT64(0x800000000)) 189 #define WB_OWNERDRAWDECORATION ((WinBits)SAL_CONST_INT64(0x2000000000)) 190 #define WB_DEFAULTWIN ((WinBits)SAL_CONST_INT64(0x4000000000)) 191 #define WB_NEEDSFOCUS ((WinBits)SAL_CONST_INT64(0x1000000000)) 192 193 #define WB_HSCROLL WB_HORZ 194 #define WB_VSCROLL WB_VERT 195 #define WB_TOPIMAGE WB_TOP 196 197 // Window-Bits for PushButtons 198 #define WB_DEFBUTTON ((WinBits)0x10000000) 199 #define WB_NOLIGHTBORDER ((WinBits)0x20000000) 200 #define WB_RECTSTYLE ((WinBits)0x08000000) 201 #define WB_SMALLSTYLE ((WinBits)0x04000000) 202 #define WB_TOGGLE ((WinBits)SAL_CONST_INT64(0x1000000000)) 203 #define WB_BEVELBUTTON ((WinBits)SAL_CONST_INT64(0x2000000000)) 204 #define WB_FLATBUTTON ((WinBits)SAL_CONST_INT64(0x4000000000)) 205 206 // Window-Bits for FixedText 207 #define WB_PATHELLIPSIS ((WinBits)0x00100000) 208 #define WB_EXTRAOFFSET ((WinBits)0x02000000) 209 #define WB_NOMULTILINE ((WinBits)0x10000000) 210 #define WB_INFO ((WinBits)0x20000000) 211 212 // Window-Bits for CheckBox 213 #define WB_CBLINESTYLE ((WinBits)SAL_CONST_INT64(0x2000000000)) 214 #define WB_EARLYTOGGLE ((WinBits)SAL_CONST_INT64(0x4000000000)) 215 216 // Window-Bits for Edit 217 #define WB_PASSWORD ((WinBits)0x01000000) 218 #define WB_READONLY ((WinBits)0x02000000) 219 #define WB_NOHIDESELECTION ((WinBits)SAL_CONST_INT64(0x1000000000)) 220 #define WB_FORCECTRLBACKGROUND ((WinBits)0x80000000) 221 222 // Window-Bits for MultiLineEdit 223 #define WB_IGNORETAB ((WinBits)0x20000000) 224 225 // Window-Bits for ListBox and MultiListBox 226 #define WB_SIMPLEMODE ((WinBits)0x20000000) 227 228 // Window-Bits for FixedBitmap 229 #define WB_FAST ((WinBits)0x04000000) 230 #define WB_SCALE ((WinBits)0x08000000) 231 #define WB_TOPLEFTVISIBLE ((WinBits)0x10000000) 232 233 // Window-Bits for ToolBox 234 #define WB_LINESPACING ((WinBits)0x01000000) 235 #define WB_SCROLL ((WinBits)0x02000000) 236 #define WB_FORCETABCYCLE ((WinBits)0x04000000) 237 238 // Window-Bits for DockingWindows 239 #define WB_DOCKBORDER ((WinBits)0x00001000) 240 241 // Window-Bits for SplitWindow 242 #define WB_NOSPLITDRAW ((WinBits)0x01000000) 243 #define WB_FLATSPLITDRAW ((WinBits)0x02000000) 244 245 // Window-Bits for MessageBoxen 246 #define WB_OK ((WinBits)0x00100000) 247 #define WB_OK_CANCEL ((WinBits)0x00200000) 248 #define WB_YES_NO ((WinBits)0x00400000) 249 #define WB_YES_NO_CANCEL ((WinBits)0x00800000) 250 #define WB_RETRY_CANCEL ((WinBits)0x01000000) 251 #define WB_DEF_OK ((WinBits)0x02000000) 252 #define WB_DEF_CANCEL ((WinBits)0x04000000) 253 #define WB_DEF_RETRY ((WinBits)0x08000000) 254 #define WB_DEF_YES ((WinBits)SAL_CONST_INT64(0x10000000)) 255 #define WB_DEF_NO ((WinBits)SAL_CONST_INT64(0x20000000)) 256 #define WB_ABORT_RETRY_IGNORE ((WinBits)SAL_CONST_INT64(0x1000000000)) 257 #define WB_DEF_IGNORE ((WinBits)SAL_CONST_INT64(0x2000000000)) 258 259 // Standard-WinBits 260 #define WB_STDWORK (WB_SIZEMOVE | WB_CLOSEABLE) 261 #define WB_STDDOCKWIN (WB_DOCKABLE | WB_MOVEABLE | WB_CLOSEABLE) 262 #define WB_STDFLOATWIN (WB_SIZEMOVE | WB_CLOSEABLE | WB_ROLLABLE) 263 #define WB_STDDIALOG (WB_MOVEABLE | WB_CLOSEABLE) 264 #define WB_STDMODELESS (WB_STDDIALOG) 265 #define WB_STDMODAL (WB_STDDIALOG) 266 #define WB_STDTABDIALOG (WB_STDDIALOG) 267 #define WB_STDTABCONTROL 0 268 269 // For TreeListBox 270 #define WB_HASBUTTONS ((WinBits)SAL_CONST_INT64(0x000100000000)) 271 #define WB_HASLINES ((WinBits)SAL_CONST_INT64(0x000200000000)) 272 #define WB_HASLINESATROOT ((WinBits)SAL_CONST_INT64(0x000400000000)) 273 #define WB_HASBUTTONSATROOT ((WinBits)SAL_CONST_INT64(0x000800000000)) 274 #define WB_NOINITIALSELECTION ((WinBits)SAL_CONST_INT64(0x001000000000)) 275 #define WB_HIDESELECTION ((WinBits)SAL_CONST_INT64(0x002000000000)) 276 #define WB_FORCE_MAKEVISIBLE ((WinBits)SAL_CONST_INT64(0x004000000000)) 277 // DO NOT USE: 0x008000000000, that's WB_SYSTEMCHILDWINDOW 278 #define WB_QUICK_SEARCH ((WinBits)SAL_CONST_INT64(0x010000000000)) 279 280 281 // For FileOpen Dialog 282 #define WB_PATH ((WinBits)0x00100000) 283 #define WB_OPEN ((WinBits)0x00200000) 284 #define WB_SAVEAS ((WinBits)0x00400000) 285 286 // For Slider 287 // Window-Bits for TabControl 288 #define WB_SLIDERSET ((WinBits)0x02000000) 289 290 291 // -------------------- 292 // - extended WinBits - 293 // -------------------- 294 #define WB_EXT_DOCUMENT ((WinBits)0x00000001) 295 #define WB_EXT_DOCMODIFIED ((WinBits)0x00000002) 296 297 // --------------- 298 // - WindowAlign - 299 // --------------- 300 301 enum WindowAlign { WINDOWALIGN_LEFT, WINDOWALIGN_TOP, WINDOWALIGN_RIGHT, WINDOWALIGN_BOTTOM }; 302 enum ImageAlign { IMAGEALIGN_LEFT, IMAGEALIGN_TOP, IMAGEALIGN_RIGHT, IMAGEALIGN_BOTTOM, 303 IMAGEALIGN_LEFT_TOP, IMAGEALIGN_LEFT_BOTTOM, IMAGEALIGN_TOP_LEFT, 304 IMAGEALIGN_TOP_RIGHT, IMAGEALIGN_RIGHT_TOP, IMAGEALIGN_RIGHT_BOTTOM, 305 IMAGEALIGN_BOTTOM_LEFT, IMAGEALIGN_BOTTOM_RIGHT, IMAGEALIGN_CENTER }; 306 enum SymbolAlign { SYMBOLALIGN_LEFT, SYMBOLALIGN_RIGHT }; 307 308 // ------------ 309 // - TriState - 310 // ------------ 311 312 enum TriState { STATE_NOCHECK, STATE_CHECK, STATE_DONTKNOW }; 313 314 315 // ---------------------- 316 // - ButtonDialog-Types - 317 // ---------------------- 318 319 typedef sal_uInt16 StandardButtonType; 320 #define BUTTON_OK ((StandardButtonType)0) 321 #define BUTTON_CANCEL ((StandardButtonType)1) 322 #define BUTTON_YES ((StandardButtonType)2) 323 #define BUTTON_NO ((StandardButtonType)3) 324 #define BUTTON_RETRY ((StandardButtonType)4) 325 #define BUTTON_HELP ((StandardButtonType)5) 326 #define BUTTON_CLOSE ((StandardButtonType)6) 327 #define BUTTON_MORE ((StandardButtonType)7) 328 #define BUTTON_IGNORE ((StandardButtonType)8) 329 #define BUTTON_ABORT ((StandardButtonType)9) 330 #define BUTTON_LESS ((StandardButtonType)10) 331 #define BUTTON_COUNT 11 332 333 // -------------------------------------------- 334 // - prominent place for ListBox window types - 335 // -------------------------------------------- 336 337 enum ProminentEntry { PROMINENT_TOP, PROMINENT_MIDDLE }; 338 339 #endif // _TOOLS_WINTYPES_HXX 340 341