summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/frame/PopupMenuController.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl124
1 files changed, 124 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
new file mode 100644
index 000000000..8328501d5
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -0,0 +1,124 @@
+/* -*- 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_PopupMenuController_idl__
+#define __com_sun_star_frame_PopupMenuController_idl__
+
+#include <com/sun/star/frame/XPopupMenuController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides access to a pop-up menu controller.
+
+ <p>
+ A pop-up menu controller is used to make special functions available to
+ users, which depend on runtime or context specific conditions.<br/>
+ A typical example for a pop-up menu controller can be a recent file list
+ implementation which provides a list of latest files that a user has
+ worked on. This list gets changes consistently during a work session.
+ </p>
+
+ @since OOo 2.0
+*/
+
+service PopupMenuController
+{
+ /** supports functions to initialize and update a pop-up menu controller
+ implementation.
+
+ <p>
+ A pop-up menu controller implementation gets initialized with a
+ com::sun::star::awt::XPopupMenu object. This assures
+ that a pop-up menu controller can be implemented with any UNO based
+ language.
+ </p>
+ */
+ interface com::sun::star::frame::XPopupMenuController;
+
+ /** provides functions to initialize a pop-up menu controller with
+ specific data which are needed.
+
+ <p>
+ This interface should not directly used. A factory service is responsible to
+ initialize every controller correctly.<br/>
+
+ A pop-up menu controller needs at least two additional arguments
+ provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li><b>Frame</b><br>specifies the com::sun::star::frame::XFrame
+ instance to which the pop-up menu controller belongs to.</li>
+ <li><b>CommandURL</b><br>specifies which pop-up menu controller should be created.</li>
+ </ul>
+ </p>
+
+ @see PopupMenuControllerFactory
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to brief the pop-up menu controller with new status information.
+
+ <p>
+ A pop-up menu controller makes special functions available to users which
+ normally depend on the state of other data. This interface is used to
+ send this data to a controller implementation.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to query for commands supported by the pop-up menu controller to
+ execute them directly.
+
+ <p>
+ A pop-up menu controller provides special functions which should be
+ available by the normal dispatch API. This optional interface enables
+ pop-up menu controller to be normal dispatch providers.<br/>
+ <b>Attention:</b><br/>
+ Po-pup menu controller functions must be specified using the following
+ the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ].
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::frame::XDispatchProvider;
+
+ /** used to dispose pop-up menu controller by the owner instance.
+
+ <p>
+ A pop-up menu controller resides in a menu which has a limited
+ life-time. For correct life-time handling a pop-up menu
+ controller should support this interface.
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */