1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
21 #define __com_sun_star_frame_XUIControllerRegistration_idl__
23 #include
<com
/sun
/star
/uno
/XInterface.idl
>
26 module com
{ module sun
{ module star
{ module frame
{
29 /** is used to query, register and unregister user interface controller.
32 A user interface controller can be registered for a command URL. A certain user
33 interface controller will be created when a user interface element contains a
34 registered command URL.
36 @see PopupMenuControllerFactory
42 published
interface XUIControllerRegistration
: com
::sun
::star
::uno
::XInterface
44 /** function to check if an user interface controller is registered
45 for a command URL and optional module.
48 true if a controller was registered for the combination of command URL
52 a command URL which specifies an action.
55 an optional name of an OpenOffice model service. This value can remain empty if
56 no model service name was specified.
58 boolean hasController
( [in] string aCommandURL
, [in] string aModelName
);
60 /** function to create an association between a user interface controller implementation
61 and a command URL and optional module.
64 a command URL which specifies an action which should be associated with a user
68 an optional name of an OpenOffice model service. This value can remain empty if
69 no model service name was specified.
71 @param aControllerImplementationName
72 a UNO implementation name that can be used to create a user interface controller
73 with the OpenOffice service manager.
75 void registerController
( [in] string aCommandURL
, [in] string aModelName
, [in] string aControllerImplementationName
);
77 /** function to remove a previously defined association between a user interface controller
78 implementation and a command URL and optional module.
81 a command URL which specifies an action which should be associated with a user
85 an optional name of an OpenOffice model service. This value can remain empty if
86 no model service name was specified.
88 void deregisterController
( [in] string aCommandURL
, [in] string aModelName
);
96 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */