1 /*************************************************************************
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * Copyright 2008 by Sun Microsystems, Inc.
6 * OpenOffice.org - a multi-platform office productivity suite
8 * $RCSfile: DefaultViewController.idl,v $
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
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 //=============================================================================
102 //=============================================================================