From 0d3b4f59fc43bc7aa9994195d55712aff87b3036 Mon Sep 17 00:00:00 2001 From: Ariel Constenla-Haile Date: Thu, 6 Dec 2012 12:28:49 +0000 Subject: Related: #i121442# - StatusbarController API Modifications Modify the current StatusbarController API so that it can be used by pure UNO implementations (cherry picked from commit 059f35d0ce96ccf14d02c6f33e25192d0c926b3f) Conflicts: offapi/com/sun/star/frame/StatusbarController.idl offapi/com/sun/star/frame/XStatusbarController.idl Change-Id: I664a104bff35a35d4406d98f96bdf8983b452ebd --- offapi/com/sun/star/frame/StatusbarController.idl | 72 +------------------ offapi/com/sun/star/frame/XStatusbarController.idl | 82 ++++++++++++++++++---- 2 files changed, 73 insertions(+), 81 deletions(-) (limited to 'offapi') diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl index ccae0935f723..e60b90be6463 100644 --- a/offapi/com/sun/star/frame/StatusbarController.idl +++ b/offapi/com/sun/star/frame/StatusbarController.idl @@ -19,13 +19,11 @@ #ifndef __com_sun_star_frame_StatusbarController_idl__ #define __com_sun_star_frame_StatusbarController_idl__ -#include -#include -#include #include +module com { module sun { module star { module frame { - module com { module sun { module star { module frame { +interface XStatusbarController; /** is an abstract service for a component which offers a more complex user interface to users within a status bar. @@ -45,74 +43,10 @@ @since OOo 2.0 */ - -service StatusbarController +service StatusbarController : XStatusbarController { - /** with this interface a component can receive events if a feature has - changed. - -

- The status bar controller implementation should register itself as a - listener when its XUpdatable - interface has been called. -

- */ - interface com::sun::star::frame::XStatusListener; - - /** used to initialize a component with required arguments. - - A status bar controller needs at least three additional arguments - provided as PropertyValue: -
    -
  • Frame
    a - XFrame instance - to which the status bar controller belongs.
  • -
  • CommandURL
    a string which specifies the command - associated with the statusbar controller. The command is - used to identify the status bar controller - implementation.
  • -
  • ServiceManager
    a - XMultiServiceFactory instance which can be used to - create additional UNO services.
  • -
  • Parent
    a Window - instance which represents the parent window (status bar - window).
  • -
  • Identifier
    an integer value which is the unique id - used by the status bar implementation to identify a status - bar entry. This value is currently only used by internal - OpenOffice.org status bar controller implementations.
  • -
- */ - interface com::sun::star::lang::XInitialization; - - /** used to notify an implementation that it needs to add its listener or - remove and add them again. - -

- 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. -

- */ - interface com::sun::star::util::XUpdatable; - - /** used to notify changed features and requests for additional user - interface items. - -

- Mostly used by a status bar implementation to forward information to - and request services from a status bar controller component. This - interface must be usable after - XInitialitation::initialize - has been called. The behavior of the interface is undefined if the - controller component hasn't been initialized. -

- */ - interface com::sun::star::frame::XStatusbarController; }; - }; }; }; }; #endif diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl index 421727e589a7..190e047e627b 100644 --- a/offapi/com/sun/star/frame/XStatusbarController.idl +++ b/offapi/com/sun/star/frame/XStatusbarController.idl @@ -19,16 +19,18 @@ #ifndef __com_sun_star_frame_XStatusbarController_idl__ #define __com_sun_star_frame_XStatusbarController_idl__ -#include #include +#include #include #include - +#include +#include +#include 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. +/** interface to be implemented by a component offering 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 @@ -42,9 +44,61 @@ module com { module sun { module star { module frame { @see com::sun::star::frame::XDispatchProvider @since OOo 2.0 - */ -interface XStatusbarController : ::com::sun::star::uno::XInterface +*/ +interface XStatusbarController { + /** used to initialize a component with required arguments. + +

A status bar controller is initialized with five additional + arguments provided as a sequence of + PropertyValue:

+ +
    +
  • Frame
    a XFrame + instance to which the status bar controller belongs. +
  • +
  • CommandURL
    a string which specifies the command + associated with the statusbar controller.
    + The command is used to identify the status bar controller + implementation. +
  • +
  • StatusbarItem
    a XStatusbarItem + instance which represents the status bar item asociated with + this controller. +
  • +
  • ParentWindow
    a Window + instance which represents the parent window (status bar window). +
  • +
  • ModuleName
    a string which specifies the name of the + office module attached to the frame to which this controller + belongs; the value is taken from + XModuleManager::identify(). +
  • +
+ */ + interface com::sun::star::lang::XInitialization; + + /** with this interface a component can receive events if a feature has + changed. + +

The status bar controller implementation should register itself as a + listener when its XUpdatable + interface has been called.

+ */ + interface com::sun::star::frame::XStatusListener; + + /** used to notify an implementation that it needs to add its listener or + remove and add them again. + +

+ A status bar controller instance is ready for use after this call has + been made the first time. The status bar implementation guarentees that + the controller's item window has been added to the status bar and its + reference is held by it. +

+ */ + 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 @@ -94,6 +148,8 @@ interface XStatusbarController : ::com::sun::star::uno::XInterface @param nCommand describes which command has been invoked. +
See Command for + possible values. @param bMouseEvent if the command is based on a mouse event, otherwise . @@ -117,26 +173,28 @@ interface XStatusbarController : ::com::sun::star::uno::XInterface 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. + + @param aPos + the current mouse position in pixel. */ - void click(); + 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(); + void doubleClick( [in] ::com::sun::star::awt::Point aPos ); }; }; }; }; }; -- cgit