200 lines
7.6 KiB
Text
200 lines
7.6 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* 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 .
|
|
*/
|
|
|
|
module com { module sun { module star { module frame {
|
|
|
|
/** interface to be implemented by a component offering 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 pop-up 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
|
|
{
|
|
/** used to control the life-time of the component
|
|
|
|
Used by a status bar implementation to control the life-time of
|
|
a status bar controller. The status bar is the only instance which
|
|
is allowed to dispose the component.
|
|
*/
|
|
interface com::sun::star::lang::XComponent;
|
|
|
|
/** used to initialize a component with required arguments.
|
|
|
|
<p>A status bar controller is initialized with <b>five</b> additional
|
|
arguments provided as a sequence of
|
|
com::sun::star::beans::PropertyValue:</p>
|
|
|
|
<ul>
|
|
<li><b>Frame</b><br/>a com::sun::star::frame::XFrame
|
|
instance to which the status bar controller belongs.
|
|
</li>
|
|
<li><b>CommandURL</b><br/>a string which specifies the command
|
|
associated with the statusbar controller.<br>
|
|
The command is used to identify the status bar controller
|
|
implementation.
|
|
</li>
|
|
<li><b>StatusbarItem</b><br/>a com::sun::star::ui::XStatusbarItem
|
|
instance which represents the status bar item associated with
|
|
this controller.
|
|
</li>
|
|
<li><b>ParentWindow</b><br/>a com::sun::star::awt::Window
|
|
instance which represents the parent window (status bar window).
|
|
</li>
|
|
<li><b>ModuleName</b><br/>a string which specifies the name of the
|
|
office module attached to the frame to which this controller
|
|
belongs; the value is taken from
|
|
com::sun::star::frame::XModuleManager::identify().
|
|
</li>
|
|
</ul>
|
|
*/
|
|
interface com::sun::star::lang::XInitialization;
|
|
|
|
/** with this interface a component can receive events if a feature has
|
|
changed.
|
|
|
|
<p>The status bar controller implementation should register itself as a
|
|
listener when its com::sun::star::util::XUpdatable
|
|
interface has been called.</p>
|
|
*/
|
|
interface com::sun::star::frame::XStatusListener;
|
|
|
|
/** used to notify an implementation that it needs to add its listener or
|
|
remove and add them again.
|
|
|
|
<p>
|
|
A status bar controller instance is ready for use after this call has
|
|
been made the first time. The status bar implementation guarantees that
|
|
the controller's item window has been added to the status bar and its
|
|
reference is held by it.
|
|
</p>
|
|
*/
|
|
interface com::sun::star::util::XUpdatable;
|
|
|
|
/** 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.
|
|
<br/>See com::sun::star::awt::Command for
|
|
possible values.
|
|
|
|
@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 com::sun::star::awt::XGraphics
|
|
which has to be used to update the visual representation.
|
|
|
|
@param OutputRectangle
|
|
a com::sun::star::awt::Rectangle which
|
|
determine the output rectangle for all drawing operations
|
|
|
|
@param nStyle
|
|
reserved for future use.
|
|
*/
|
|
void paint( [in] ::com::sun::star::awt::XGraphics xGraphics,
|
|
[in] ::com::sun::star::awt::Rectangle OutputRectangle,
|
|
[in] long nStyle );
|
|
|
|
/** is called by a status bar if the user clicked with mouse into the
|
|
field of the corresponding control.
|
|
|
|
@param aPos
|
|
the current mouse position in pixel.
|
|
*/
|
|
void click( [in] ::com::sun::star::awt::Point aPos );
|
|
|
|
/** is called by a status bar if the user double-clicked with mouse
|
|
into the field of the corresponding control.
|
|
|
|
@param aPos
|
|
the current mouse position in pixel.
|
|
*/
|
|
void doubleClick( [in] ::com::sun::star::awt::Point aPos );
|
|
};
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|