1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _TOOLKIT_HELPER_PROPERTY_HXX_
29 #define _TOOLKIT_HELPER_PROPERTY_HXX_
30 
31 #include <toolkit/dllapi.h>
32 
33 #include <sal/types.h>
34 
35 namespace com {
36 namespace sun {
37 namespace star {
38 namespace uno {
39 	class Type;
40 	class Any;
41 } } } }
42 
43 namespace rtl {
44 	class OUString;
45 }
46 
47 
48 #define BASEPROPERTY_NOTFOUND				         0
49 
50 #define BASEPROPERTY_TEXT					         1	// ::rtl::OUString
51 #define BASEPROPERTY_BACKGROUNDCOLOR		         2	// sal_Int32
52 #define BASEPROPERTY_FILLCOLOR				         3	// sal_Int32
53 #define BASEPROPERTY_TEXTCOLOR			             4	// sal_Int32
54 #define BASEPROPERTY_LINECOLOR				         5	// sal_Int32
55 #define BASEPROPERTY_BORDER				 	         6	// sal_Int16
56 #define BASEPROPERTY_ALIGN					         7	// sal_Int16
57 #define BASEPROPERTY_FONTDESCRIPTOR			         8	// ::com::sun::star::awt::FontDescriptor, war mal Font, aber nie gespeichert...
58 #define BASEPROPERTY_DROPDOWN				         9	// sal_Bool
59 #define BASEPROPERTY_MULTILINE				         10	// sal_Bool
60 #define BASEPROPERTY_STRINGITEMLIST			         11	// UStringSequence
61 #define BASEPROPERTY_HSCROLL				         12	// sal_Bool
62 #define BASEPROPERTY_VSCROLL				         13	// sal_Bool
63 #define BASEPROPERTY_TABSTOP				         14	// sal_Bool
64 #define BASEPROPERTY_STATE					         15	// sal_Int16
65 #define BASEPROPERTY_FONT_TYPE				         16	// OLD: Font_Type
66 #define BASEPROPERTY_FONT_SIZE				         17	// OLD: Font_Size
67 #define BASEPROPERTY_FONT_ATTRIBS			         18	// OLD: Font_Attribs
68 #define BASEPROPERTY_DEFAULTCONTROL			         19	// ::rtl::OUString (ServiceName)
69 #define BASEPROPERTY_LABEL					         20	// ::rtl::OUString
70 #define BASEPROPERTY_LINECOUNT				         21	// sal_Int16
71 #define BASEPROPERTY_EXTDATEFORMAT			         22	// sal_Int16
72 #define BASEPROPERTY_DATESHOWCENTURY                 23	// sal_Bool
73 #define BASEPROPERTY_EXTTIMEFORMAT			         24	// sal_Int16
74 #define BASEPROPERTY_NUMSHOWTHOUSANDSEP		         25	// sal_Bool
75 #define BASEPROPERTY_CURRENCYSYMBOL			         26	// ::rtl::OUString
76 #define BASEPROPERTY_SPIN					         27	// sal_Bool
77 #define BASEPROPERTY_STRICTFORMAT			         28	// sal_Bool
78 #define BASEPROPERTY_DECIMALACCURACY		         29	// sal_Int16
79 #define BASEPROPERTY_DATE					         30	// sal_Int32
80 #define BASEPROPERTY_DATEMIN                         31	// sal_Int32
81 #define BASEPROPERTY_DATEMAX                         32	// sal_Int32
82 #define BASEPROPERTY_TIME					         33	// sal_Int32
83 #define BASEPROPERTY_TIMEMIN                         34	// sal_Int32
84 #define BASEPROPERTY_TIMEMAX                         35	// sal_Int32
85 #define BASEPROPERTY_VALUE_INT32			         36	// sal_Int32
86 #define BASEPROPERTY_VALUEMIN_INT32			         37	// sal_Int32
87 #define BASEPROPERTY_VALUEMAX_INT32			         38	// sal_Int32
88 #define BASEPROPERTY_VALUESTEP_INT32		         39	// sal_Int32
89 #define BASEPROPERTY_EDITMASK				         40	// ::rtl::OUString
90 #define BASEPROPERTY_LITERALMASK			         41	// ::rtl::OUString
91 #define BASEPROPERTY_IMAGEURL				         42	// ::rtl::OUString
92 #define BASEPROPERTY_READONLY				         43	// sal_Bool
93 #define BASEPROPERTY_ENABLED				         44	// sal_Bool
94 #define BASEPROPERTY_PRINTABLE				         45	// sal_Bool
95 #define BASEPROPERTY_ECHOCHAR				         46	// sal_Int16
96 #define BASEPROPERTY_MAXTEXTLEN				         47	// sal_Int16
97 #define BASEPROPERTY_HARDLINEBREAKS			         48	// sal_Int16
98 #define BASEPROPERTY_AUTOCOMPLETE			         49	// sal_Bool
99 #define BASEPROPERTY_MULTISELECTION			         50	// sal_Bool
100 #define BASEPROPERTY_SELECTEDITEMS			         51	// INT16Sequence
101 #define BASEPROPERTY_VALUE_DOUBLE			         52	// DOUBLE
102 #define BASEPROPERTY_VALUEMIN_DOUBLE		         53	// DOUBLE
103 #define BASEPROPERTY_VALUEMAX_DOUBLE		         54	// DOUBLE
104 #define BASEPROPERTY_VALUESTEP_DOUBLE		         55	// DOUBLE
105 #define BASEPROPERTY_TRISTATE				         56	// sal_Bool
106 #define BASEPROPERTY_DEFAULTBUTTON			         57	// sal_Bool
107 #define BASEPROPERTY_HELPURL				         58	// ::rtl::OUString
108 #define BASEPROPERTY_AUTOTOGGLE				         59	// sal_Bool
109 //#define BASEPROPERTY_FOCUSSELECTIONHIDE		     60	// sal_Bool
110 #define BASEPROPERTY_FORMATKEY				         61	// sal_Bool
111 #define BASEPROPERTY_FORMATSSUPPLIER		         62	// ::com::sun::star::util::XNumberFormatsSupplier
112 #define BASEPROPERTY_EFFECTIVE_VALUE		         63	// Any (double or string)
113 #define BASEPROPERTY_TREATASNUMBER			         64	// sal_Bool
114 #define BASEPROPERTY_EFFECTIVE_DEFAULT		         65	// Any (double or string)
115 #define BASEPROPERTY_EFFECTIVE_MIN			         66	// Double
116 #define BASEPROPERTY_EFFECTIVE_MAX			         67	// Double
117 #define BASEPROPERTY_CURSYM_POSITION		         68	// sal_Bool
118 #define BASEPROPERTY_TITLE					         69	// ::rtl::OUString
119 #define BASEPROPERTY_MOVEABLE				         70	// sal_Bool
120 #define BASEPROPERTY_CLOSEABLE				         71	// sal_Bool
121 #define BASEPROPERTY_SIZEABLE				         72	// sal_Bool
122 #define BASEPROPERTY_HELPTEXT				         73	// ::rtl::OUString
123 #define BASEPROPERTY_PROGRESSVALUE  	             74	// sal_Int32
124 #define BASEPROPERTY_PROGRESSVALUE_MIN 	             75	// sal_Int32
125 #define BASEPROPERTY_PROGRESSVALUE_MAX 	             76	// sal_Int32
126 #define BASEPROPERTY_SCROLLVALUE	 	             77	// sal_Int32
127 #define BASEPROPERTY_SCROLLVALUE_MAX 	             78	// sal_Int32
128 #define BASEPROPERTY_LINEINCREMENT	 	             79	// sal_Int32
129 #define BASEPROPERTY_BLOCKINCREMENT	 	             80	// sal_Int32
130 #define BASEPROPERTY_VISIBLESIZE	 	             81	// sal_Int32
131 #define BASEPROPERTY_ORIENTATION	 	             82	// sal_Int32
132 #define BASEPROPERTY_FONTRELIEF	 	                 83	// sal_Int16
133 #define BASEPROPERTY_FONTEMPHASISMARK	 	         84	// sal_Int16
134 #define BASEPROPERTY_TEXTLINECOLOR			         85	// sal_Int32
135 #define BASEPROPERTY_IMAGEALIGN			             86	// sal_Int16
136 #define BASEPROPERTY_SCALEIMAGE                      87	// sal_Bool
137 #define BASEPROPERTY_PUSHBUTTONTYPE                  88	// sal_Int16
138 #define BASEPROPERTY_DISPLAYBACKGROUNDCOLOR          89	// sal_Int32
139 #define BASEPROPERTY_AUTOMNEMONICS                   90	// sal_Bool
140 #define BASEPROPERTY_MOUSETRANSPARENT                91	// sal_Bool
141 #define BASEPROPERTY_ACCESSIBLENAME                  92  // ::rtl::OUString
142 #define BASEPROPERTY_PLUGINPARENT	                 93  // sal_Int64
143 #define BASEPROPERTY_SCROLLVALUE_MIN 	             94  // sal_Int32
144 #define BASEPROPERTY_REPEAT_DELAY                    95  // sal_Int32
145 #define BASEPROPERTY_SYMBOL_COLOR                    96  // sal_Int32
146 #define BASEPROPERTY_SPINVALUE                       97  // sal_Int32
147 #define BASEPROPERTY_SPINVALUE_MIN                   98  // sal_Int32
148 #define BASEPROPERTY_SPINVALUE_MAX                   99  // sal_Int32
149 #define BASEPROPERTY_SPININCREMENT                  100  // sal_Int32
150 #define BASEPROPERTY_REPEAT                         101  // sal_Bool
151 #define BASEPROPERTY_ENFORCE_FORMAT                 102  // sal_Bool
152 #define BASEPROPERTY_LIVE_SCROLL                    103  // sal_Bool
153 #define BASEPROPERTY_LINE_END_FORMAT                104  // sal_Int16
154 #define BASEPROPERTY_ACTIVATED                      105  // sal Bool
155 #define BASEPROPERTY_COMPLETE                       106  // sal_Bool
156 #define BASEPROPERTY_CURRENTITEMID                  107  // sal_Int16
157 #define BASEPROPERTY_TOGGLE                         108  // sal_Bool
158 #define BASEPROPERTY_FOCUSONCLICK                   109  // sal_Bool
159 #define BASEPROPERTY_HIDEINACTIVESELECTION          110  // sal_Bool
160 #define BASEPROPERTY_VISUALEFFECT                   111  // sal_Int16
161 #define BASEPROPERTY_BORDERCOLOR                    112  // sal_Int32
162 #define BASEPROPERTY_IMAGEPOSITION                  113  // sal_Int16
163 #define BASEPROPERTY_NATIVE_WIDGET_LOOK             114  // sal_Bool
164 #define BASEPROPERTY_VERTICALALIGN                  115  // VerticalAlignment
165 #define BASEPROPERTY_MOUSE_WHEEL_BEHAVIOUR          116  // sal_Int16
166 #define BASEPROPERTY_GRAPHIC                        117  // css.graphic.XGraphic
167 #define BASEPROPERTY_STEP_TIME                      118  // sal_Int32
168 #define BASEPROPERTY_DECORATION                     119  // sal_Bool
169 #define BASEPROPERTY_PAINTTRANSPARENT               120  // sal_Bool
170 #define BASEPROPERTY_AUTOHSCROLL                    121	// sal_Bool
171 #define BASEPROPERTY_AUTOVSCROLL                    122  // sal_Bool
172 #define BASEPROPERTY_DESKTOP_AS_PARENT              123  // sal_Bool
173 #define BASEPROPERTY_TREE_START						124
174 #define BASEPROPERTY_TREE_SELECTIONTYPE				124
175 #define BASEPROPERTY_TREE_EDITABLE					125
176 #define BASEPROPERTY_TREE_DATAMODEL					126
177 #define BASEPROPERTY_TREE_ROOTDISPLAYED				127
178 #define BASEPROPERTY_TREE_SHOWSHANDLES				128
179 #define BASEPROPERTY_TREE_SHOWSROOTHANDLES			129
180 #define BASEPROPERTY_ROW_HEIGHT                     130
181 #define BASEPROPERTY_TREE_INVOKESSTOPNODEEDITING	131
182 #define BASEPROPERTY_TREE_END						131
183 #define BASEPROPERTY_DIALOGSOURCEURL				132
184 #define BASEPROPERTY_NOLABEL                        133  // ::rtl::OUString  added for issue79712
185 #define BASEPROPERTY_URL                            134  // ::rtl::OUString
186 #define BASEPROPERTY_UNIT                           135  // ::awt::FieldUnit
187 #define BASEPROPERTY_CUSTOMUNITTEXT                 136  // ::rtl::OUString
188 #define BASEPROPERTY_IMAGE_SCALE_MODE               137
189 #define BASEPROPERTY_WRITING_MODE                   138
190 #define BASEPROPERTY_CONTEXT_WRITING_MODE           139
191 #define BASEPROPERTY_GRID_SHOWROWHEADER             140
192 #define BASEPROPERTY_GRID_SHOWCOLUMNHEADER          141
193 #define BASEPROPERTY_GRID_DATAMODEL                 142
194 #define BASEPROPERTY_GRID_COLUMNMODEL               143
195 #define BASEPROPERTY_GRID_SELECTIONMODE             144
196 #define BASEPROPERTY_ENABLEVISIBLE                  145  // sal_Bool
197 #define BASEPROPERTY_REFERENCE_DEVICE               146
198 #define BASEPROPERTY_HIGHCONTRASTMODE               147
199 #define BASEPROPERTY_GRID_HEADER_BACKGROUND         148
200 #define BASEPROPERTY_GRID_HEADER_TEXT_COLOR         149
201 #define BASEPROPERTY_GRID_ROW_BACKGROUND_COLORS     150
202 #define BASEPROPERTY_GRID_LINE_COLOR	            151
203 #define BASEPROPERTY_MULTISELECTION_SIMPLEMODE      152
204 #define BASEPROPERTY_ITEM_SEPARATOR_POS             153
205 #define BASEPROPERTY_AUTO_REPEAT                    154
206 #define BASEPROPERTY_ROW_HEADER_WIDTH               155
207 #define BASEPROPERTY_COLUMN_HEADER_HEIGHT           156
208 #define BASEPROPERTY_USE_GRID_LINES                 157
209 #define BASEPROPERTY_ACTIVE_SEL_BACKGROUND_COLOR    158
210 #define BASEPROPERTY_INACTIVE_SEL_BACKGROUND_COLOR  159
211 #define BASEPROPERTY_ACTIVE_SEL_TEXT_COLOR          160
212 #define BASEPROPERTY_INACTIVE_SEL_TEXT_COLOR        161
213 
214 
215 // Keine gebundenen Properties, werden immer aus der Property BASEPROPERTY_FONTDESCRIPTOR entnommen.
216 #define BASEPROPERTY_FONTDESCRIPTORPART_START			1000
217 #define BASEPROPERTY_FONTDESCRIPTORPART_NAME			1000	// ::rtl::OUString, not bound
218 #define BASEPROPERTY_FONTDESCRIPTORPART_STYLENAME		1001	// ::rtl::OUString, not bound
219 #define BASEPROPERTY_FONTDESCRIPTORPART_FAMILY			1002	// sal_Int16, not bound
220 #define BASEPROPERTY_FONTDESCRIPTORPART_CHARSET     	1003	// sal_Int16, not bound
221 #define BASEPROPERTY_FONTDESCRIPTORPART_HEIGHT      	1004	// sal_Int16, not bound
222 #define BASEPROPERTY_FONTDESCRIPTORPART_WEIGHT      	1005	// Float, not bound
223 #define BASEPROPERTY_FONTDESCRIPTORPART_SLANT       	1006	// sal_Int16, not bound
224 #define BASEPROPERTY_FONTDESCRIPTORPART_UNDERLINE   	1007	// sal_Int16, not bound
225 #define BASEPROPERTY_FONTDESCRIPTORPART_STRIKEOUT   	1008	// sal_Int16, not bound
226 #define BASEPROPERTY_FONTDESCRIPTORPART_WIDTH			1009	// sal_Int16, not bound
227 #define BASEPROPERTY_FONTDESCRIPTORPART_PITCH			1010	// sal_Int16, not bound
228 #define BASEPROPERTY_FONTDESCRIPTORPART_CHARWIDTH		1011	// Float, not bound
229 #define BASEPROPERTY_FONTDESCRIPTORPART_ORIENTATION		1012	// Float, not bound
230 #define BASEPROPERTY_FONTDESCRIPTORPART_KERNING			1013	// sal_Bool, not bound
231 #define BASEPROPERTY_FONTDESCRIPTORPART_WORDLINEMODE	1014	// sal_Bool, not bound
232 #define BASEPROPERTY_FONTDESCRIPTORPART_TYPE			1015	// sal_Int16, not bound
233 #define BASEPROPERTY_FONTDESCRIPTORPART_END         	1015
234 
235 #define PROPERTY_ALIGN_LEFT						0
236 #define PROPERTY_ALIGN_CENTER					1
237 #define PROPERTY_ALIGN_RIGHT					2
238 
239 #define PROPERTY_STATE_OFF						0
240 #define PROPERTY_STATE_ON						1
241 #define PROPERTY_STATE_DONTCARE					2
242 
243 TOOLKIT_DLLPUBLIC sal_uInt16		GetPropertyId( const ::rtl::OUString& rPropertyName );
244 const ::com::sun::star::uno::Type*	GetPropertyType( sal_uInt16 nPropertyId );
245 TOOLKIT_DLLPUBLIC const ::rtl::OUString&	GetPropertyName( sal_uInt16 nPropertyId );
246 sal_Int16 							GetPropertyAttribs( sal_uInt16 nPropertyId );
247 sal_uInt16							GetPropertyOrderNr( sal_uInt16 nPropertyId );
248 sal_Bool							DoesDependOnOthers( sal_uInt16 nPropertyId );
249 sal_Bool							CompareProperties( const ::com::sun::star::uno::Any& r1, const ::com::sun::star::uno::Any& r2 );
250 
251 
252 
253 
254 #endif // _TOOLKIT_HELPER_PROPERTY_HXX_
255 
256 
257