1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24#ifndef __com_sun_star_sdb_application_ApplicationController_idl__ 25#define __com_sun_star_sdb_application_ApplicationController_idl__ 26 27#include <com/sun/star/frame/Controller.idl> 28#include <com/sun/star/ui/XContextMenuInterception.idl> 29#include <com/sun/star/awt/XUserInputInterception.idl> 30#include <com/sun/star/view/XSelectionSupplier.idl> 31#include <com/sun/star/frame/XTitle.idl> 32#include <com/sun/star/frame/XTitleChangeBroadcaster.idl> 33#include <com/sun/star/sdb/application/XDatabaseDocumentUI.idl> 34 35//============================================================================= 36 37module com { module sun { module star { module sdb { module application { 38 39//============================================================================= 40 41/** is the default controller implementation for OpenOffice.org's database application. 42 */ 43service DefaultViewController 44{ 45 /** defines basic controller functionality 46 */ 47 service ::com::sun::star::frame::Controller; 48 49 /** allows intercepting context menu requests done by the user 50 51 <p>The <member scope="::com::sun::star::ui">ContextMenuExecuteEvent::Selection</member> member 52 of the event passed to an interceptor will <em>not</em> be the controller itself 53 (though the controller also supports the <a href="#XSelectionSupplier"><code>XSelectionSupplier</code></a> 54 interface), but a component which descrbes the current selection of the very window where the context 55 menu was requested.</p> 56 57 <p>In OpenOffice.org's database application, database objects such as tables, queries, forms, 58 reports are displayed in a tree-like fashion. Currently, only context menu requests on this tree view 59 can be intercepted using the <code>XContextMenuInterception</code> interface. Context menu requests 60 in other places cannot be intercepted.</p> 61 62 <p>For the aforementioned tree view, the selection supplied by the <code>ContextMenuEvent::Selection</code> 63 component is an array of <type>NamedDatabaseObject</type> instances.</p> 64 */ 65 interface ::com::sun::star::ui::XContextMenuInterception; 66 67 /** allows intercepting user input done by the user 68 */ 69 interface ::com::sun::star::awt::XUserInputInterception; 70 71 /** <a name="XSelectionSupplier"></a> 72 provides access to the current selection inside the application window, and allows to change it 73 programmatically 74 75 <p>The selection is an array of <type>NamedDatabaseObject</type> instances.</p> 76 */ 77 interface ::com::sun::star::view::XSelectionSupplier; 78 79 /** allows to retrieve and set the title which of the component 80 */ 81 interface ::com::sun::star::frame::XTitle; 82 83 /** allows being notified about changes in the component's title 84 */ 85 interface ::com::sun::star::frame::XTitleChangeBroadcaster; 86 87 /** allows programmatic access to aspects of the application's user interface. 88 */ 89 interface XDatabaseDocumentUI; 90}; 91 92//============================================================================= 93 94}; }; }; }; }; 95 96//============================================================================= 97 98#endif 99