| /************************************************************** |
| * |
| * 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 <com/sun/star/awt/Point.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_MouseEvent_idl__ |
| #include <com/sun/star/awt/MouseEvent.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_Rectangle_idl__ |
| #include <com/sun/star/awt/Rectangle.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_XGraphics_idl__ |
| #include <com/sun/star/awt/XGraphics.idl> |
| #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. |
| |
| <p> |
| 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.<br/> |
| 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. |
| <p> |
| |
| @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 <TRUE/> if the event should not be processed and <FALSE/> |
| 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 <TRUE/> if the event should not be processed and <FALSE/> |
| 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 <TRUE/> if the event should not be processed and <FALSE/> |
| 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 |
| <TRUE/> if the command is based on a mouse event, otherwise <FALSE/>. |
| |
| @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 <type scope="com::sun::star::awt">XGraphics</type> |
| which has to be used to update the visual representation. |
| |
| @param nCommand |
| a <type scope="com::sun::star::awt">Rectangle</type> 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 |