1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XStatusbarController.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_frame_XStatusbarController_idl__
31 #define __com_sun_star_frame_XStatusbarController_idl__
33 #ifndef __com_sun_star_awt_Point_idl__
34 #include
<com
/sun
/star
/awt
/Point.idl
>
37 #ifndef __com_sun_star_awt_MouseEvent_idl__
38 #include
<com
/sun
/star
/awt
/MouseEvent.idl
>
41 #ifndef __com_sun_star_awt_Rectangle_idl__
42 #include
<com
/sun
/star
/awt
/Rectangle.idl
>
45 #ifndef __com_sun_star_awt_XGraphics_idl__
46 #include
<com
/sun
/star
/awt
/XGraphics.idl
>
49 //=============================================================================
51 module com
{ module sun
{ module star
{ module frame
{
53 //=============================================================================
54 /** is an abstract service for a component which offers a more complex user interface
55 to users within a status bar.
58 A generic status bar field is represented as a simple text field. A status
59 bar controller can be added to a Statusbar and provide information or
60 functions with a more sophisticated user interface.<br/>
61 A typical example for status bar controller is a zoom chooser. It shows
62 the current zoom and provides general zoom levels on a popup menu
63 that can be activated by a mouse action for context menus.
66 @see com::sun::star::frame::XDispatchProvider
70 interface XStatusbarController
: ::com
::sun
::star
::uno
::XInterface
72 //=============================================================================
73 /** is called by a status bar if the mouse position is within the controller
74 and a mouse button has been pressed. If the controller has captured the
75 mouse input this function is also called when the mouse position is not
76 within the controller.
79 current information about the mouse pointer.
82 return <TRUE/> if the event should not be processed and <FALSE/>
83 if the event should be processed by the status bar.
85 boolean mouseButtonDown
( [in] ::com
::sun
::star
::awt
::MouseEvent aMouseEvent
);
87 //=============================================================================
88 /** is called by a status bar if the mouse position is within the controller
89 and a mouse has been moved. If the controller has captured the
90 mouse input this function is also called when the mouse position is not
91 within the controller.
94 current information about the mouse pointer.
97 return <TRUE/> if the event should not be processed and <FALSE/>
98 if the event should be processed by the status bar.
100 boolean mouseMove
( [in] ::com
::sun
::star
::awt
::MouseEvent aMouseEvent
);
102 //=============================================================================
103 /** is called by a status bar if the mouse position is within the controller
104 and a mouse button has been released. If the controller has captured the
105 mouse input this function is also called when the mouse position is not
106 within the controller.
109 current information about the mouse pointer.
112 return <TRUE/> if the event should not be processed and <FALSE/>
113 if the event should be processed by the status bar.
115 boolean mouseButtonUp
( [in] ::com
::sun
::star
::awt
::MouseEvent aMouseEvent
);
117 //=============================================================================
118 /** is called by a status bar if a command event is available for a controller.
121 the current mouse position in pixel.
124 describes which command has been invoked.
127 <TRUE/> if the command is based on a mouse event, otherwise <FALSE/>.
132 void command
( [in] ::com
::sun
::star
::awt
::Point aPos
,
134 [in] boolean bMouseEvent
,
137 //=============================================================================
138 /** is called by a status bar if the controller has to update the visual
142 a reference to a <type scope="com::sun::star::awt">XGraphics</type>
143 which has to be used to update the visual representation.
146 a <type scope="com::sun::star::awt">Rectangle</type> which
147 determine the output rectangle for all drawing operations
150 the unique ID of the control within the status bar.
153 reserved for future use.
155 void paint
( [in] ::com
::sun
::star
::awt
::XGraphics xGraphics
,
156 [in] ::com
::sun
::star
::awt
::Rectangle rOutputRectangle
,
160 //=============================================================================
161 /** is called by a status bar if the user clicked with mouse into the
162 field of the corresponding control.
166 //=============================================================================
167 /** is called by a status bar if the user double-clicked with mouse
168 into the field of the corresponding control.