blob: d971c5c09875f37a9cc9e1f84d726d385ab70a0a [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_inspection_PropertyControlType_idl__
#define __com_sun_star_inspection_PropertyControlType_idl__
//=============================================================================
module com { module sun { module star { module inspection {
//-----------------------------------------------------------------------------
/** describes pre-defined possible control types to be used to display and enter
property values within a <type>ObjectInspector</type>.
<p>The type of a control determines its visual appearance, its behaviour, and - important
for property handlers using a control - the expected type when reading and writing the
control's value.</p>
@see XPropertyControl
@see XPropertyControlFactory
@see XPropertyControl::ValueType
@since OpenOffice 2.0.3
*/
published constants PropertyControlType
{
/** denotes a control which allows the user to choose from a list of
possible property values
<p>Controls of type <member>ListBox</member> exchange their values as <code>string</code>.</p>
<p>Additionally, those controls support the <type>XStringListControl</type> interface.</p>
*/
const short ListBox = 1;
/** denotes a control which allows the user to choose from a list of
possible property values, combined with the possibility to enter a new
property value.
<p>Controls of type <member>ComboBox</member> exchange their values as <code>string</code>.</p>
<p>Additionally, those controls support the <type>XStringListControl</type> interface.</p>
*/
const short ComboBox = 2;
/** denotes a control which allows the user to enter property values consisting of a single line of text
<p>Controls of type <member>TextField</member> exchange their values as <code>string</code>.</p>
*/
const short TextField = 3;
/** denotes a control which allows the user to enter pure text, including line breaks
<p>Controls of type <member>MultiLineTextField</member> exchange their values as <code>string</code>.</p>
*/
const short MultiLineTextField = 4;
/** denotes a control which allows the user to enter a single character
<p>Controls of type <member>CharacterField</member> exchange their values as <code>short</code>,
being a single UTF-16 character.</p>
*/
const short CharacterField = 5;
/** denotes a control which allows the user to enter a list of single-line strings
<p>Controls of type <member>StringListField</member> exchange their values as <code>sequence&lt; string &gt;<code>.</p>
*/
const short StringListField = 6;
/** denotes a control which allows the user to choose from a list of colors.
<p>Controls of type <member>ColorListBox</member> usually exchange their values as
<type scope="com::sun::star::util">Color</type>.</p>
<p>Additionally, those controls support the <type>XStringListControl</type> interface. If you use
this interface to add additional entries to the list box, which have no color associated with it,
then you can also exchange values as <code>string</code>. That is, if you write a string into
<member>XPropertyControl::Value</member>, and if this string has previously been added to the list
using the <type>XStringListControl</type> interface, this string is selected. Vice versa, if the user
selects one of those non-color strings in the list, then reading <member>XPropertyControl::Value</member>
will retrieve you this stting.</p>
*/
const short ColorListBox = 7;
/** denotes a control which allows the user to enter a numerical value
<p>Controls of type <member>NumericField</member> exchange their values as <code>double</code>.</p>
<p>Additionally, those controls support the <type>XNumericControl</type> interface.</p>
*/
const short NumericField = 8;
/** denotes a control which allows the user to enter a date value
<p>Controls of type <member>DateField</member> exchange their values as <type scope="com::sun::star::util">Date</type>.</p>
*/
const short DateField = 9;
/** denotes a control which allows the user to enter a time value
<p>Controls of type <member>TimeField</member> exchange their values as <type scope="com::sun::star::util">Time</type>.</p>
*/
const short TimeField = 10;
/** denotes a control which allows the user to enter a combined date/time value
<p>Controls of type <member>DateTimeField</member> exchange their values as <type scope="com::sun::star::util">DateTime</type>.</p>
*/
const short DateTimeField = 11;
/** denotes a control which displays a string in a hyperlink-like appearance
<p>Controls of type <member>HyperlinkField</member> exchange their values as <code>string</code>.</p>
<p>Additionally, those controls support the <type>XHyperlinkControl</type> interface.</p>
*/
const short HyperlinkField = 12;
/** denotes a non-standard property control, which is usually provided by an <type>XPropertyHandler</type>
*/
const short Unknown = 13;
};
//=============================================================================
}; }; }; };
#endif