| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_sdb_application_ApplicationController_idl__ |
| #define __com_sun_star_sdb_application_ApplicationController_idl__ |
| |
| #include <com/sun/star/frame/Controller.idl> |
| #include <com/sun/star/ui/XContextMenuInterception.idl> |
| #include <com/sun/star/awt/XUserInputInterception.idl> |
| #include <com/sun/star/view/XSelectionSupplier.idl> |
| #include <com/sun/star/frame/XTitle.idl> |
| #include <com/sun/star/frame/XTitleChangeBroadcaster.idl> |
| #include <com/sun/star/sdb/application/XDatabaseDocumentUI.idl> |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module sdb { module application { |
| |
| //============================================================================= |
| |
| /** is the default controller implementation for OpenOffice.org's database application. |
| */ |
| service DefaultViewController |
| { |
| /** defines basic controller functionality |
| */ |
| service ::com::sun::star::frame::Controller; |
| |
| /** allows intercepting context menu requests done by the user |
| |
| <p>The <member scope="::com::sun::star::ui">ContextMenuExecuteEvent::Selection</member> member |
| of the event passed to an interceptor will <em>not</em> be the controller itself |
| (though the controller also supports the <a href="#XSelectionSupplier"><code>XSelectionSupplier</code></a> |
| interface), but a component which descrbes the current selection of the very window where the context |
| menu was requested.</p> |
| |
| <p>In OpenOffice.org's database application, database objects such as tables, queries, forms, |
| reports are displayed in a tree-like fashion. Currently, only context menu requests on this tree view |
| can be intercepted using the <code>XContextMenuInterception</code> interface. Context menu requests |
| in other places cannot be intercepted.</p> |
| |
| <p>For the aforementioned tree view, the selection supplied by the <code>ContextMenuEvent::Selection</code> |
| component is an array of <type>NamedDatabaseObject</type> instances.</p> |
| */ |
| interface ::com::sun::star::ui::XContextMenuInterception; |
| |
| /** allows intercepting user input done by the user |
| */ |
| interface ::com::sun::star::awt::XUserInputInterception; |
| |
| /** <a name="XSelectionSupplier"></a> |
| provides access to the current selection inside the application window, and allows to change it |
| programmatically |
| |
| <p>The selection is an array of <type>NamedDatabaseObject</type> instances.</p> |
| */ |
| interface ::com::sun::star::view::XSelectionSupplier; |
| |
| /** allows to retrieve and set the title which of the component |
| */ |
| interface ::com::sun::star::frame::XTitle; |
| |
| /** allows being notified about changes in the component's title |
| */ |
| interface ::com::sun::star::frame::XTitleChangeBroadcaster; |
| |
| /** allows programmatic access to aspects of the application's user interface. |
| */ |
| interface XDatabaseDocumentUI; |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; }; |
| |
| //============================================================================= |
| |
| #endif |