summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/text/ContentControl.idl
blob: 6f6aa80ca54deee7e75052ede94f0a1a4a90514e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

module com { module sun { module star { module text {

/** This service specifies a content control with properties in a TextDocument.

    A content control wraps one or more text portions and controls the behavior of that content.

    @since LibreOffice 7.4
*/
service ContentControl
{

    /** Provides a way to insert the content control using insertTextContent().
    */
    interface com::sun::star::text::XTextContent;

    /** Current content is placeholder text.
    */
    [optional, property] boolean ShowingPlaceHolder;

    /** Display the content control as a checkbox.
    */
    [optional, property] boolean Checkbox;

    /** If Checkbox is true, is the checkbox checked?
    */
    [optional, property] boolean Checked;

    /** If Checkbox is true, the value of a checked checkbox.
    */
    [optional, property] string CheckedState;

    /** If Checkbox is true, the value of an unchecked checkbox.
    */
    [optional, property] string UncheckedState;

    /** List items of a dropdown: DisplayText + Value pairs with string values for each item.
    */
    [optional, property] sequence< sequence< com::sun::star::beans::PropertyValue > > ListItems;

    /** Display the content control as a picture.
    */
    [optional, property] boolean Picture;

    /** Display the content control as a date.

        If true, a date picker is provided on the UI.
    */
    [optional, property] boolean Date;

    /** If Date is true, the date format in a syntax accepted by the NumberFormatter.
    */
    [optional, property] string DateFormat;

    /** If Date is true, the date's BCP 47 language tag.
    */
    [optional, property] string DateLanguage;

    /** Date in YYYY-MM-DDT00:00:00Z format.
    */
    [optional, property] string CurrentDate;

    /** Plain text, i.e. not rich text.
    */
    [optional, property] boolean PlainText;

    /** The placeholder's doc part: just remembered.
    */
    [optional, property] string PlaceholderDocPart;

    /** The data bindings's prefix mappings: just remembered.
    */
    [optional, property] string DataBindingPrefixMappings;

    /** The data bindings's XPath: just remembered.
    */
    [optional, property] string DataBindingXpath;

    /** The data bindings's store item ID: just remembered.
    */
    [optional, property] string DataBindingStoreItemID;

    /** The color: just remembered.
    */
    [optional, property] string Color;

    /** The appearance: just remembered.

        @since LibreOffice 7.6
    */
    [optional, property] string Appearance;

    /** Combo box that allows free-form text as well, i.e. not dropdown.

        @since LibreOffice 7.5
    */
    [optional, property] boolean ComboBox;

    /** Drop-down that does not allow free-form text, i.e. not combo box.

        @since LibreOffice 7.5
    */
    [optional, property] boolean DropDown;

    /** The alias: kind of a human-readable title / description, show up on the UI.
                   -also used by VBA to group controls into a smaller, indexed collection

        @since LibreOffice 7.5
    */
    [optional, property] string Alias;

    /** The tag: similar to Alias, but is meant to be machine-readable.
                 -also used by VBA to group controls into a smaller, indexed collection

        @since LibreOffice 7.5
    */
    [optional, property] string Tag;

    /** The formatted date string, based on DateFormat, DateLanguage and CurrentDate.

        @since LibreOffice 7.5
    */
    [optional, property, readonly] string DateString;

    /** A unique numeric id, used by macros to identify a specific control.

        @since LibreOffice 7.5
    */
    [optional, property] long Id;

    /** Describes the order in which keyboard navigation moves between controls

        @since LibreOffice 7.6
    */
    [optional, property] unsigned long TabIndex;

    /** Describes whether the control itself and/or its data can be modified or deleted by the user.

        @since LibreOffice 7.6
    */
    [optional, property] string Lock;

    /** Indicates if the control accepts soft breaks.

        @since LibreOffice 24.2
    */
    [optional, property] string MultiLine;
};


}; }; }; };

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */