Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / frame / PopupMenuController.idl
blob8328501d5624447553eb8d3982ea7ac86aae6461
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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_PopupMenuController_idl__
21 #define __com_sun_star_frame_PopupMenuController_idl__
23 #include <com/sun/star/frame/XPopupMenuController.idl>
24 #include <com/sun/star/lang/XInitialization.idl>
25 #include <com/sun/star/frame/XStatusListener.idl>
26 #include <com/sun/star/frame/XDispatchProvider.idl>
27 #include <com/sun/star/lang/XComponent.idl>
30 module com { module sun { module star { module frame {
33 /** provides access to a pop-up menu controller.
35 <p>
36 A pop-up menu controller is used to make special functions available to
37 users, which depend on runtime or context specific conditions.<br/>
38 A typical example for a pop-up menu controller can be a recent file list
39 implementation which provides a list of latest files that a user has
40 worked on. This list gets changes consistently during a work session.
41 </p>
43 @since OOo 2.0
46 service PopupMenuController
48 /** supports functions to initialize and update a pop-up menu controller
49 implementation.
51 <p>
52 A pop-up menu controller implementation gets initialized with a
53 com::sun::star::awt::XPopupMenu object. This assures
54 that a pop-up menu controller can be implemented with any UNO based
55 language.
56 </p>
58 interface com::sun::star::frame::XPopupMenuController;
60 /** provides functions to initialize a pop-up menu controller with
61 specific data which are needed.
63 <p>
64 This interface should not directly used. A factory service is responsible to
65 initialize every controller correctly.<br/>
67 A pop-up menu controller needs at least two additional arguments
68 provided as com::sun::star::beans::PropertyValue:
69 <ul>
70 <li><b>Frame</b><br>specifies the com::sun::star::frame::XFrame
71 instance to which the pop-up menu controller belongs to.</li>
72 <li><b>CommandURL</b><br>specifies which pop-up menu controller should be created.</li>
73 </ul>
74 </p>
76 @see PopupMenuControllerFactory
78 interface com::sun::star::lang::XInitialization;
80 /** used to brief the pop-up menu controller with new status information.
82 <p>
83 A pop-up menu controller makes special functions available to users which
84 normally depend on the state of other data. This interface is used to
85 send this data to a controller implementation.
86 </p>
88 interface com::sun::star::frame::XStatusListener;
90 /** used to query for commands supported by the pop-up menu controller to
91 execute them directly.
93 <p>
94 A pop-up menu controller provides special functions which should be
95 available by the normal dispatch API. This optional interface enables
96 pop-up menu controller to be normal dispatch providers.<br/>
97 <b>Attention:</b><br/>
98 Po-pup menu controller functions must be specified using the following
99 the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ].
100 </p>
102 @since OOo 2.2
104 [optional] interface com::sun::star::frame::XDispatchProvider;
106 /** used to dispose pop-up menu controller by the owner instance.
109 A pop-up menu controller resides in a menu which has a limited
110 life-time. For correct life-time handling a pop-up menu
111 controller should support this interface.
112 </p>
114 @since OOo 2.2
116 [optional] interface com::sun::star::lang::XComponent;
119 }; }; }; };
122 #endif
124 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */