summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/system/windows/XJumpList.idl
blob: 80fef03b60aac6ed23df04d3052c523f771ddf96 (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
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
 * 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/.
 */

#ifndef __com_sun_star_system_windows_XJumpList_idl__
#define __com_sun_star_system_windows_XJumpList_idl__

#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
#include <com/sun/star/system/SystemShellExecuteException.idl>


module com { module sun { module star { module system { module windows {

/** Specifies an interface for adding custom jump lists to the task bar (Windows only)

    @since LibreOffice 7.4
*/
interface XJumpList: com::sun::star::uno::XInterface
{
    /** Add (or update) a jump list category.

        Note that it is only possible to have one jump list category per `application`.

        When there is already a jump list for the given `application`,
        that jump list will be cleared, and the new `category` and `jumpListItems` will be added.

        @param category
        Specifies the category name. It will appear as the title of the custom jump list.
        Must not include embedded NULs ('\\0')

        @param jumpListItems
        Specifies a list of com::sun::star::system::JumpListItem.
        Must contain at least one item.
        These will be added as entries below the category name in the custom jump list.

        Make sure you don't add items which the user has removed before
        (check the result of `getRemovedItems` before updating a category).
        If you try to add items which the user removed before,
        they will be silently ignored and not added to the list.

        @param application
        Used to map the jump list to the correct application. Use one of the following values:
        <ul>
            <li>Writer</li>
            <li>Calc</li>
            <li>Impress</li>
            <li>Draw</li>
            <li>Math</li>
            <li>Base</li>
            <li>Startcenter</li>
        </ul>

        "Startcenter" will map to the generic "LibreOffice" icon.

        @throws com::sun::star::lang::IllegalArgumentException
        When one of the following applies:
        <ul>
            <li>`category` is empty</li>
            <li>`jumpListItems` is empty or contains only items which were removed by the user</li>
            <li>`application` is invalid</li>
        </ul>
    */
    void appendCategory( [in] string category,
                         [in] sequence<com::sun::star::system::windows::JumpListItem> jumpListItems,
                         [in] string application )
        raises( ::com::sun::star::lang::IllegalArgumentException );

    /** Delete a jump list category

        @param application
        Used to map the jump list to the correct application. Use one of the following values:
        <ul>
            <li>Writer</li>
            <li>Calc</li>
            <li>Impress</li>
            <li>Draw</li>
            <li>Math</li>
            <li>Base</li>
            <li>Startcenter</li>
        </ul>

        "Startcenter" will map to the generic "LibreOffice" icon.

        @throws com::sun::star::lang::IllegalArgumentException
        When `application` is invalid
    */
    void deleteCategory( [in] string application )
        raises( ::com::sun::star::lang::IllegalArgumentException );

    /** Returns items that were removed from the jump list by the user.

        `appendCategory` will ignore items which were removed by the user before.
        Use this method to learn which items were removed by the user.

        @param application
        Used to map the jump list to the correct application. Use one of the following values:
        <ul>
            <li>Writer</li>
            <li>Calc</li>
            <li>Impress</li>
            <li>Draw</li>
            <li>Math</li>
            <li>Base</li>
            <li>Startcenter</li>
        </ul>

        "Startcenter" will map to the generic "LibreOffice" icon.

        @return List of removed items.
    */
    sequence<com::sun::star::system::windows::JumpListItem> getRemovedItems([in] string application);
};


}; }; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */