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