summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/text/ContentControl.idl
blob: af5be9ac251e1b3d7839d26aaeaa56fb7abc566f (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
/* -*- 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.

        If the list is non-empty, a dropdown control is provided on the UI.
    */
    [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;

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

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


}; }; }; };

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