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