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#ifndef __com_sun_star_frame_StatusbarController_idl__ 24#define __com_sun_star_frame_StatusbarController_idl__ 25 26#ifndef __com_sun_star_lang_XInitialization_idl__ 27#include <com/sun/star/lang/XInitialization.idl> 28#endif 29 30#ifndef __com_sun_star_util_XUpdatable_idl__ 31#include <com/sun/star/util/XUpdatable.idl> 32#endif 33 34#ifndef __com_sun_star_frame_XStatusListener_idl__ 35#include <com/sun/star/frame/XStatusListener.idl> 36#endif 37 38#ifndef __com_sun_star_frame_XStatusbarController_idl__ 39#include <com/sun/star/frame/XStatusbarController.idl> 40#endif 41 42//============================================================================= 43 44 module com { module sun { module star { module frame { 45 46//============================================================================= 47/** is an abstract service for a component which offers a more complex user 48 interface to users within a status bar. 49 50 <p> 51 A generic status bar function is represented as a text field which 52 provides status information to the user. A status bar controller can be 53 added to a status bar and provides information or functions with a more 54 sophisticated user interface.<br/> 55 A typical example for a status bar controller is the zoom level chooser 56 within the statusbar. It provides an option to change the zoom level of 57 an application. 58 <p> 59 60 @see com::sun::star::frame::XDispatchProvider 61 @see com::sun::star::frame::XStatusbarController 62 63 @since OOo 2.0 64 */ 65 66service StatusbarController 67{ 68 //------------------------------------------------------------------------- 69 /** with this interface a component can receive events if a feature has 70 changed. 71 72 <p> 73 The status bar controller implementation should register itself as a 74 listener when its <member scope="com::sun::star::util">XUpdatable</member> 75 interface has been called. 76 </p> 77 */ 78 interface com::sun::star::frame::XStatusListener; 79 80 /** used to initialize a component with required arguments. 81 82 <b>A status bar controller needs at least three additional arguments 83 provided as <type scope="com::sun::star::beans">PropertyValue</type>: 84 <ul> 85 <li><b>Frame</b><br>a 86 <type scope="com::sun::star::frame">XFrame</type> instance 87 to which the status bar controller belongs.</li> 88 <li><b>CommandURL</b><br>a string which specifies the command 89 associated with the statusbar controller. The command is 90 used to identify the status bar controller 91 implementation.</li> 92 <li><b>ServiceManager</b><br>a <type scope="com::sun::star::lang"> 93 XMultiServiceFactory</type> instance which can be used to 94 create additional UNO services.</li> 95 <li><b>Parent</b><br>a <type scope="com::sun::star::awt">Window</type> 96 instance which represents the parent window (status bar 97 window).</li> 98 <li><b>Identifier</b><br>an integer value which is the unique id 99 used by the status bar implementation to identify a status 100 bar entry. This value is currently only used by internal 101 OpenOffice.org status bar controller implementations.</li> 102 </ul> 103 */ 104 interface com::sun::star::lang::XInitialization; 105 106 /** used to notify an implementation that it needs to add its listener or 107 remove and add them again. 108 109 <p> 110 A status bar controller instance is ready for use after this call has 111 been made the first time. The status bar implementation guarentees that 112 the controller's item window has been added to the status bar and its 113 reference is held by it. 114 </p> 115 */ 116 interface com::sun::star::util::XUpdatable; 117 118 //------------------------------------------------------------------------- 119 /** used to notify changed features and requests for additional user 120 interface items. 121 122 <p> 123 Mostly used by a status bar implementation to forward information to 124 and request services from a status bar controller component. This 125 interface must be useable after 126 <member scope="com::sun::star::lang">XInitialitation::initialize</member> 127 has been called. The behavior of the interface is undefined if the 128 controller component hasn't been initialized. 129 </p> 130 */ 131 interface com::sun::star::frame::XStatusbarController; 132}; 133 134//============================================================================= 135 136}; }; }; }; 137 138#endif 139