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 .
21 module com
{ module sun
{ module star
{ module frame
{
24 /** is used to query, register and unregister user interface controller.
27 A user interface controller can be registered for a command URL. A certain user
28 interface controller will be created when a user interface element contains a
29 registered command URL.
31 @see PopupMenuControllerFactory
37 published
interface XUIControllerRegistration
: com
::sun
::star
::uno
::XInterface
39 /** function to check if an user interface controller is registered
40 for a command URL and optional module.
43 true if a controller was registered for the combination of command URL
47 a command URL which specifies an action.
50 an optional name of an OpenOffice model service. This value can remain empty if
51 no model service name was specified.
53 boolean hasController
( [in] string aCommandURL
, [in] string aModelName
);
55 /** function to create an association between a user interface controller implementation
56 and a command URL and optional module.
59 a command URL which specifies an action which should be associated with a user
63 an optional name of an OpenOffice model service. This value can remain empty if
64 no model service name was specified.
66 @param aControllerImplementationName
67 a UNO implementation name that can be used to create a user interface controller
68 with the OpenOffice service manager.
70 void registerController
( [in] string aCommandURL
, [in] string aModelName
, [in] string aControllerImplementationName
);
72 /** function to remove a previously defined association between a user interface controller
73 implementation and a command URL and optional module.
76 a command URL which specifies an action which should be associated with a user
80 an optional name of an OpenOffice model service. This value can remain empty if
81 no model service name was specified.
83 void deregisterController
( [in] string aCommandURL
, [in] string aModelName
);
89 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */