/************************************************************** * * 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_frame_XStatusbarController_idl__ #define __com_sun_star_frame_XStatusbarController_idl__ #ifndef __com_sun_star_awt_Point_idl__ #include #endif #ifndef __com_sun_star_awt_MouseEvent_idl__ #include #endif #ifndef __com_sun_star_awt_Rectangle_idl__ #include #endif #ifndef __com_sun_star_awt_XGraphics_idl__ #include #endif //============================================================================= module com { module sun { module star { module frame { //============================================================================= /** is an abstract service for a component which offers a more complex user interface to users within a status bar.

A generic status bar field is represented as a simple text field. A status bar controller can be added to a Statusbar and provide information or functions with a more sophisticated user interface.
A typical example for status bar controller is a zoom chooser. It shows the current zoom and provides general zoom levels on a popup menu that can be activated by a mouse action for context menus.

@see com::sun::star::frame::XDispatchProvider @since OOo 2.0 */ interface XStatusbarController : ::com::sun::star::uno::XInterface { //============================================================================= /** is called by a status bar if the mouse position is within the controller and a mouse button has been pressed. If the controller has captured the mouse input this function is also called when the mouse position is not within the controller. @param aMouseEvent current information about the mouse pointer. @return return if the event should not be processed and if the event should be processed by the status bar. */ boolean mouseButtonDown( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); //============================================================================= /** is called by a status bar if the mouse position is within the controller and a mouse has been moved. If the controller has captured the mouse input this function is also called when the mouse position is not within the controller. @param aMouseEvent current information about the mouse pointer. @return return if the event should not be processed and if the event should be processed by the status bar. */ boolean mouseMove( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); //============================================================================= /** is called by a status bar if the mouse position is within the controller and a mouse button has been released. If the controller has captured the mouse input this function is also called when the mouse position is not within the controller. @param aMouseEvent current information about the mouse pointer. @return return if the event should not be processed and if the event should be processed by the status bar. */ boolean mouseButtonUp( [in] ::com::sun::star::awt::MouseEvent aMouseEvent ); //============================================================================= /** is called by a status bar if a command event is available for a controller. @param aPos the current mouse position in pixel. @param nCommand describes which command has been invoked. @param bMouseEvent if the command is based on a mouse event, otherwise . @param aData for future use only. */ void command( [in] ::com::sun::star::awt::Point aPos, [in] long nCommand, [in] boolean bMouseEvent, [in] any aData ); //============================================================================= /** is called by a status bar if the controller has to update the visual representation. @param xGraphics a reference to a XGraphics which has to be used to update the visual representation. @param nCommand a Rectangle which determine the output rectangle for all drawing operations @param nItemID the unique ID of the control within the status bar. @param nStyle reserved for future use. */ void paint( [in] ::com::sun::star::awt::XGraphics xGraphics, [in] ::com::sun::star::awt::Rectangle rOutputRectangle, [in] long nItemId, [in] long nStyle ); //============================================================================= /** is called by a status bar if the user clicked with mouse into the field of the corresponding control. */ void click(); //============================================================================= /** is called by a status bar if the user double-clicked with mouse into the field of the corresponding control. */ void doubleClick(); }; }; }; }; }; #endif