LibreOffice Module toolkit (master) 1
property.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_TOOLKIT_HELPER_PROPERTY_HXX
21#define INCLUDED_TOOLKIT_HELPER_PROPERTY_HXX
22
23#include <sal/types.h>
24#include <rtl/ustring.hxx>
25
26namespace com::sun::star::uno {
27 class Type;
28 class Any;
29}
30
31
32#define BASEPROPERTY_NOTFOUND 0
33
34#define BASEPROPERTY_TEXT 1 // OUString
35#define BASEPROPERTY_BACKGROUNDCOLOR 2 // sal_Int32
36#define BASEPROPERTY_FILLCOLOR 3 // sal_Int32
37#define BASEPROPERTY_TEXTCOLOR 4 // sal_Int32
38#define BASEPROPERTY_LINECOLOR 5 // sal_Int32
39#define BASEPROPERTY_BORDER 6 // sal_Int16
40#define BASEPROPERTY_ALIGN 7 // sal_Int16
41#define BASEPROPERTY_FONTDESCRIPTOR 8 // css::awt::FontDescriptor
42#define BASEPROPERTY_DROPDOWN 9 // sal_Bool
43#define BASEPROPERTY_MULTILINE 10 // sal_Bool
44#define BASEPROPERTY_STRINGITEMLIST 11 // UStringSequence
45#define BASEPROPERTY_HSCROLL 12 // sal_Bool
46#define BASEPROPERTY_VSCROLL 13 // sal_Bool
47#define BASEPROPERTY_TABSTOP 14 // sal_Bool
48#define BASEPROPERTY_STATE 15 // sal_Int16
49#define BASEPROPERTY_FONT_TYPE 16 // OLD: Font_Type
50#define BASEPROPERTY_FONT_SIZE 17 // OLD: Font_Size
51#define BASEPROPERTY_FONT_ATTRIBS 18 // OLD: Font_Attribs
52#define BASEPROPERTY_DEFAULTCONTROL 19 // OUString (ServiceName)
53#define BASEPROPERTY_LABEL 20 // OUString
54#define BASEPROPERTY_LINECOUNT 21 // sal_Int16
55#define BASEPROPERTY_EXTDATEFORMAT 22 // sal_Int16
56#define BASEPROPERTY_DATESHOWCENTURY 23 // sal_Bool
57#define BASEPROPERTY_EXTTIMEFORMAT 24 // sal_Int16
58#define BASEPROPERTY_NUMSHOWTHOUSANDSEP 25 // sal_Bool
59#define BASEPROPERTY_CURRENCYSYMBOL 26 // OUString
60#define BASEPROPERTY_SPIN 27 // sal_Bool
61#define BASEPROPERTY_STRICTFORMAT 28 // sal_Bool
62#define BASEPROPERTY_DECIMALACCURACY 29 // sal_Int16
63#define BASEPROPERTY_DATE 30 // css::util::Date
64#define BASEPROPERTY_DATEMIN 31 // css::util::Date
65#define BASEPROPERTY_DATEMAX 32 // css::util::Date
66#define BASEPROPERTY_TIME 33 // css::util::Time
67#define BASEPROPERTY_TIMEMIN 34 // css::util::Time
68#define BASEPROPERTY_TIMEMAX 35 // css::util::Time
69#define BASEPROPERTY_VALUE_INT32 36 // sal_Int32
70#define BASEPROPERTY_VALUEMIN_INT32 37 // sal_Int32
71#define BASEPROPERTY_VALUEMAX_INT32 38 // sal_Int32
72#define BASEPROPERTY_VALUESTEP_INT32 39 // sal_Int32
73#define BASEPROPERTY_EDITMASK 40 // OUString
74#define BASEPROPERTY_LITERALMASK 41 // OUString
75#define BASEPROPERTY_IMAGEURL 42 // OUString
76#define BASEPROPERTY_READONLY 43 // sal_Bool
77#define BASEPROPERTY_ENABLED 44 // sal_Bool
78#define BASEPROPERTY_PRINTABLE 45 // sal_Bool
79#define BASEPROPERTY_ECHOCHAR 46 // sal_Int16
80#define BASEPROPERTY_MAXTEXTLEN 47 // sal_Int16
81#define BASEPROPERTY_HARDLINEBREAKS 48 // sal_Int16
82#define BASEPROPERTY_AUTOCOMPLETE 49 // sal_Bool
83#define BASEPROPERTY_MULTISELECTION 50 // sal_Bool
84#define BASEPROPERTY_SELECTEDITEMS 51 // INT16Sequence
85#define BASEPROPERTY_VALUE_DOUBLE 52 // DOUBLE
86#define BASEPROPERTY_VALUEMIN_DOUBLE 53 // DOUBLE
87#define BASEPROPERTY_VALUEMAX_DOUBLE 54 // DOUBLE
88#define BASEPROPERTY_VALUESTEP_DOUBLE 55 // DOUBLE
89#define BASEPROPERTY_TRISTATE 56 // sal_Bool
90#define BASEPROPERTY_DEFAULTBUTTON 57 // sal_Bool
91#define BASEPROPERTY_HELPURL 58 // OUString
92#define BASEPROPERTY_AUTOTOGGLE 59 // sal_Bool
93//#define BASEPROPERTY_FOCUSSELECTIONHIDE 60 // sal_Bool
94#define BASEPROPERTY_FORMATKEY 61 // sal_Bool
95#define BASEPROPERTY_FORMATSSUPPLIER 62 // css::util::XNumberFormatsSupplier
96#define BASEPROPERTY_EFFECTIVE_VALUE 63 // Any (double or string)
97#define BASEPROPERTY_TREATASNUMBER 64 // sal_Bool
98#define BASEPROPERTY_EFFECTIVE_DEFAULT 65 // Any (double or string)
99#define BASEPROPERTY_EFFECTIVE_MIN 66 // Double
100#define BASEPROPERTY_EFFECTIVE_MAX 67 // Double
101#define BASEPROPERTY_CURSYM_POSITION 68 // sal_Bool
102#define BASEPROPERTY_TITLE 69 // OUString
103#define BASEPROPERTY_MOVEABLE 70 // sal_Bool
104#define BASEPROPERTY_CLOSEABLE 71 // sal_Bool
105#define BASEPROPERTY_SIZEABLE 72 // sal_Bool
106#define BASEPROPERTY_HELPTEXT 73 // OUString
107#define BASEPROPERTY_PROGRESSVALUE 74 // sal_Int32
108#define BASEPROPERTY_PROGRESSVALUE_MIN 75 // sal_Int32
109#define BASEPROPERTY_PROGRESSVALUE_MAX 76 // sal_Int32
110#define BASEPROPERTY_SCROLLVALUE 77 // sal_Int32
111#define BASEPROPERTY_SCROLLVALUE_MAX 78 // sal_Int32
112#define BASEPROPERTY_LINEINCREMENT 79 // sal_Int32
113#define BASEPROPERTY_BLOCKINCREMENT 80 // sal_Int32
114#define BASEPROPERTY_VISIBLESIZE 81 // sal_Int32
115#define BASEPROPERTY_ORIENTATION 82 // sal_Int32
116#define BASEPROPERTY_FONTRELIEF 83 // sal_Int16
117#define BASEPROPERTY_FONTEMPHASISMARK 84 // sal_Int16
118#define BASEPROPERTY_TEXTLINECOLOR 85 // sal_Int32
119#define BASEPROPERTY_IMAGEALIGN 86 // sal_Int16
120#define BASEPROPERTY_SCALEIMAGE 87 // sal_Bool
121#define BASEPROPERTY_PUSHBUTTONTYPE 88 // sal_Int16
122#define BASEPROPERTY_DISPLAYBACKGROUNDCOLOR 89 // sal_Int32
123#define BASEPROPERTY_AUTOMNEMONICS 90 // sal_Bool
124#define BASEPROPERTY_MOUSETRANSPARENT 91 // sal_Bool
125#define BASEPROPERTY_ACCESSIBLENAME 92 // OUString
126#define BASEPROPERTY_PLUGINPARENT 93 // sal_Int64
127#define BASEPROPERTY_SCROLLVALUE_MIN 94 // sal_Int32
128#define BASEPROPERTY_REPEAT_DELAY 95 // sal_Int32
129#define BASEPROPERTY_SYMBOL_COLOR 96 // sal_Int32
130#define BASEPROPERTY_SPINVALUE 97 // sal_Int32
131#define BASEPROPERTY_SPINVALUE_MIN 98 // sal_Int32
132#define BASEPROPERTY_SPINVALUE_MAX 99 // sal_Int32
133#define BASEPROPERTY_SPININCREMENT 100 // sal_Int32
134#define BASEPROPERTY_REPEAT 101 // sal_Bool
135#define BASEPROPERTY_ENFORCE_FORMAT 102 // sal_Bool
136#define BASEPROPERTY_LIVE_SCROLL 103 // sal_Bool
137#define BASEPROPERTY_LINE_END_FORMAT 104 // sal_Int16
138#define BASEPROPERTY_ACTIVATED 105 // sal Bool
139#define BASEPROPERTY_COMPLETE 106 // sal_Bool
140#define BASEPROPERTY_CURRENTITEMID 107 // sal_Int16
141#define BASEPROPERTY_TOGGLE 108 // sal_Bool
142#define BASEPROPERTY_FOCUSONCLICK 109 // sal_Bool
143#define BASEPROPERTY_HIDEINACTIVESELECTION 110 // sal_Bool
144#define BASEPROPERTY_VISUALEFFECT 111 // sal_Int16
145#define BASEPROPERTY_BORDERCOLOR 112 // sal_Int32
146#define BASEPROPERTY_IMAGEPOSITION 113 // sal_Int16
147#define BASEPROPERTY_NATIVE_WIDGET_LOOK 114 // sal_Bool
148#define BASEPROPERTY_VERTICALALIGN 115 // VerticalAlignment
149#define BASEPROPERTY_MOUSE_WHEEL_BEHAVIOUR 116 // sal_Int16
150#define BASEPROPERTY_GRAPHIC 117 // css.graphic.XGraphic
151#define BASEPROPERTY_STEP_TIME 118 // sal_Int32
152#define BASEPROPERTY_DECORATION 119 // sal_Bool
153#define BASEPROPERTY_PAINTTRANSPARENT 120 // sal_Bool
154#define BASEPROPERTY_AUTOHSCROLL 121 // sal_Bool
155#define BASEPROPERTY_AUTOVSCROLL 122 // sal_Bool
156#define BASEPROPERTY_DESKTOP_AS_PARENT 123 // sal_Bool
157#define BASEPROPERTY_TREE_START 124
158#define BASEPROPERTY_TREE_SELECTIONTYPE 124
159#define BASEPROPERTY_TREE_EDITABLE 125
160#define BASEPROPERTY_TREE_DATAMODEL 126
161#define BASEPROPERTY_TREE_ROOTDISPLAYED 127
162#define BASEPROPERTY_TREE_SHOWSHANDLES 128
163#define BASEPROPERTY_TREE_SHOWSROOTHANDLES 129
164#define BASEPROPERTY_ROW_HEIGHT 130
165#define BASEPROPERTY_TREE_INVOKESSTOPNODEEDITING 131
166#define BASEPROPERTY_TREE_END 131
167#define BASEPROPERTY_DIALOGSOURCEURL 132
168#define BASEPROPERTY_NOLABEL 133 // OUString added for issue79712
169#define BASEPROPERTY_URL 134 // OUString
170#define BASEPROPERTY_UNIT 135 // ::awt::FieldUnit
171#define BASEPROPERTY_CUSTOMUNITTEXT 136 // OUString
172#define BASEPROPERTY_IMAGE_SCALE_MODE 137
173#define BASEPROPERTY_WRITING_MODE 138
174#define BASEPROPERTY_CONTEXT_WRITING_MODE 139
175#define BASEPROPERTY_GRID_SHOWROWHEADER 140
176#define BASEPROPERTY_GRID_SHOWCOLUMNHEADER 141
177#define BASEPROPERTY_GRID_DATAMODEL 142
178#define BASEPROPERTY_GRID_COLUMNMODEL 143
179#define BASEPROPERTY_GRID_SELECTIONMODE 144
180#define BASEPROPERTY_ENABLEVISIBLE 145 // sal_Bool
181#define BASEPROPERTY_REFERENCE_DEVICE 146
182
183#define BASEPROPERTY_HIGHCONTRASTMODE 147
184#define BASEPROPERTY_GRID_HEADER_BACKGROUND 148
185#define BASEPROPERTY_GRID_HEADER_TEXT_COLOR 149
186#define BASEPROPERTY_GRID_ROW_BACKGROUND_COLORS 150
187#define BASEPROPERTY_GRID_LINE_COLOR 151
188#define BASEPROPERTY_MULTISELECTION_SIMPLEMODE 152
189#define BASEPROPERTY_ITEM_SEPARATOR_POS 153
190#define BASEPROPERTY_GROUPNAME 154 // OUString
191#define BASEPROPERTY_MULTIPAGEVALUE 155 // sal_Int32
192#define BASEPROPERTY_USERFORMCONTAINEES 156 // css::container::XNameContainer
193#define BASEPROPERTY_AUTO_REPEAT 157
194#define BASEPROPERTY_ROW_HEADER_WIDTH 158
195#define BASEPROPERTY_COLUMN_HEADER_HEIGHT 159
196#define BASEPROPERTY_USE_GRID_LINES 160
197#define BASEPROPERTY_SCROLLWIDTH 161
198#define BASEPROPERTY_SCROLLHEIGHT 162
199#define BASEPROPERTY_SCROLLTOP 163
200#define BASEPROPERTY_SCROLLLEFT 164
201#define BASEPROPERTY_ACTIVE_SEL_BACKGROUND_COLOR 165
202#define BASEPROPERTY_INACTIVE_SEL_BACKGROUND_COLOR 166
203#define BASEPROPERTY_ACTIVE_SEL_TEXT_COLOR 167
204#define BASEPROPERTY_INACTIVE_SEL_TEXT_COLOR 168
205#define BASEPROPERTY_HIGHLIGHT_COLOR 169
206#define BASEPROPERTY_HIGHLIGHT_TEXT_COLOR 170
207#define BASEPROPERTY_TYPEDITEMLIST 171 // AnySequence
208
209
210// These properties are not bound, they are always extracted from the BASEPROPERTY_FONTDESCRIPTOR property
211#define BASEPROPERTY_FONTDESCRIPTORPART_START 1000
212#define BASEPROPERTY_FONTDESCRIPTORPART_NAME 1000 // OUString, not bound
213#define BASEPROPERTY_FONTDESCRIPTORPART_STYLENAME 1001 // OUString, not bound
214#define BASEPROPERTY_FONTDESCRIPTORPART_FAMILY 1002 // sal_Int16, not bound
215#define BASEPROPERTY_FONTDESCRIPTORPART_CHARSET 1003 // sal_Int16, not bound
216#define BASEPROPERTY_FONTDESCRIPTORPART_HEIGHT 1004 // sal_Int16, not bound
217#define BASEPROPERTY_FONTDESCRIPTORPART_WEIGHT 1005 // Float, not bound
218#define BASEPROPERTY_FONTDESCRIPTORPART_SLANT 1006 // sal_Int16, not bound
219#define BASEPROPERTY_FONTDESCRIPTORPART_UNDERLINE 1007 // sal_Int16, not bound
220#define BASEPROPERTY_FONTDESCRIPTORPART_STRIKEOUT 1008 // sal_Int16, not bound
221#define BASEPROPERTY_FONTDESCRIPTORPART_WIDTH 1009 // sal_Int16, not bound
222#define BASEPROPERTY_FONTDESCRIPTORPART_PITCH 1010 // sal_Int16, not bound
223#define BASEPROPERTY_FONTDESCRIPTORPART_CHARWIDTH 1011 // Float, not bound
224#define BASEPROPERTY_FONTDESCRIPTORPART_ORIENTATION 1012 // Float, not bound
225#define BASEPROPERTY_FONTDESCRIPTORPART_KERNING 1013 // sal_Bool, not bound
226#define BASEPROPERTY_FONTDESCRIPTORPART_WORDLINEMODE 1014 // sal_Bool, not bound
227#define BASEPROPERTY_FONTDESCRIPTORPART_TYPE 1015 // sal_Int16, not bound
228#define BASEPROPERTY_FONTDESCRIPTORPART_END 1015
229
230#define PROPERTY_ALIGN_LEFT 0
231#define PROPERTY_ALIGN_CENTER 1
232#define PROPERTY_ALIGN_RIGHT 2
233
234
235sal_uInt16 GetPropertyId( const OUString& rPropertyName );
236const css::uno::Type* GetPropertyType( sal_uInt16 nPropertyId );
237const OUString& GetPropertyName( sal_uInt16 nPropertyId );
238sal_Int16 GetPropertyAttribs( sal_uInt16 nPropertyId );
239bool DoesDependOnOthers( sal_uInt16 nPropertyId );
240bool CompareProperties( const css::uno::Any& r1, const css::uno::Any& r2 );
241
242
243#endif // INCLUDED_TOOLKIT_HELPER_PROPERTY_HXX
244
245
246/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Type
sal_Int16 GetPropertyAttribs(sal_uInt16 nPropertyId)
Definition: property.cxx:315
bool CompareProperties(const css::uno::Any &r1, const css::uno::Any &r2)
Definition: property.cxx:329
const OUString & GetPropertyName(sal_uInt16 nPropertyId)
Definition: property.cxx:295
bool DoesDependOnOthers(sal_uInt16 nPropertyId)
Definition: property.cxx:322
const css::uno::Type * GetPropertyType(sal_uInt16 nPropertyId)
Definition: property.cxx:308
sal_uInt16 GetPropertyId(const OUString &rPropertyName)
Definition: property.cxx:278