Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / sdb / application / DefaultViewController.idl
blob6f75a293b212fc43821dff80f6e56bb1a2e0049b
1 /*************************************************************************
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 *
4 * Copyright 2008 by Sun Microsystems, Inc.
6 * OpenOffice.org - a multi-platform office productivity suite
8 * $RCSfile: DefaultViewController.idl,v $
10 * $Revision: 1.2 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
28 ************************************************************************/
30 #ifndef __com_sun_star_sdb_application_ApplicationController_idl__
31 #define __com_sun_star_sdb_application_ApplicationController_idl__
33 #include <com/sun/star/frame/Controller.idl>
34 #include <com/sun/star/ui/XContextMenuInterception.idl>
35 #include <com/sun/star/awt/XUserInputInterception.idl>
36 #include <com/sun/star/view/XSelectionSupplier.idl>
37 #include <com/sun/star/frame/XTitle.idl>
38 #include <com/sun/star/frame/XTitleChangeBroadcaster.idl>
39 #include <com/sun/star/sdb/application/XDatabaseDocumentUI.idl>
41 //=============================================================================
43 module com { module sun { module star { module sdb { module application {
45 //=============================================================================
47 /** is the default controller implementation for OpenOffice.org's database application.
49 service DefaultViewController
51 /** defines basic controller functionality
53 service ::com::sun::star::frame::Controller;
55 /** allows intercepting context menu requests done by the user
57 <p>The <member scope="::com::sun::star::ui">ContextMenuExecuteEvent::Selection</member> member
58 of the event passed to an interceptor will <em>not</em> be the controller itself
59 (though the controller also supports the <a href="#XSelectionSupplier"><code>XSelectionSupplier</code></a>
60 interface), but a component which descrbes the current selection of the very window where the context
61 menu was requested.</p>
63 <p>In OpenOffice.org's database application, database objects such as tables, queries, forms,
64 reports are displayed in a tree-like fashion. Currently, only context menu requests on this tree view
65 can be intercepted using the <code>XContextMenuInterception</code> interface. Context menu requests
66 in other places cannot be intercepted.</p>
68 <p>For the aforementioned tree view, the selection supplied by the <code>ContextMenuEvent::Selection</code>
69 component is an array of <type>NamedDatabaseObject</type> instances.</p>
71 interface ::com::sun::star::ui::XContextMenuInterception;
73 /** allows intercepting user input done by the user
75 interface ::com::sun::star::awt::XUserInputInterception;
77 /** <a name="XSelectionSupplier"></a>
78 provides access to the current selection inside the application window, and allows to change it
79 programmatically
81 <p>The selection is an array of <type>NamedDatabaseObject</type> instances.</p>
83 interface ::com::sun::star::view::XSelectionSupplier;
85 /** allows to retrieve and set the title which of the component
87 interface ::com::sun::star::frame::XTitle;
89 /** allows being notified about changes in the component's title
91 interface ::com::sun::star::frame::XTitleChangeBroadcaster;
93 /** allows programmatic access to aspects of the application's user interface.
95 interface XDatabaseDocumentUI;
98 //=============================================================================
100 }; }; }; }; };
102 //=============================================================================
104 #endif