| /************************************************************** |
| * |
| * 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_ToolbarController_idl__ |
| #define __com_sun_star_frame_ToolbarController_idl__ |
| |
| #ifndef __com_sun_star_lang_XInitialization_idl__ |
| #include <com/sun/star/lang/XInitialization.idl> |
| #endif |
| |
| #ifndef __com_sun_star_util_XUpdatable_idl__ |
| #include <com/sun/star/util/XUpdatable.idl> |
| #endif |
| |
| #ifndef __com_sun_star_frame_XStatusListener_idl__ |
| #include <com/sun/star/frame/XStatusListener.idl> |
| #endif |
| |
| #ifndef __com_sun_star_frame_XToolbarController_idl__ |
| #include <com/sun/star/frame/XToolbarController.idl> |
| #endif |
| |
| #ifndef __com_sun_star_frame_XSubToolbarController_idl__ |
| #include <com/sun/star/frame/XSubToolbarController.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 toolbar. |
| |
| <p> |
| A generic toolbar function is represented as a button which has a state |
| (enabled,disabled and selected, not selected). A toolbar controller can |
| be added to a toolbar and provide information or functions within a more |
| sophisticated user interface.<br/> A typical example for toolbar controller |
| is the font chooser within the toolbar. It provides all available fonts in |
| a dropdown box and shows the current chosen font. |
| <p> |
| |
| @see com::sun::star::frame::XDispatchProvider |
| |
| @since OpenOffice 2.0 |
| */ |
| |
| service ToolbarController |
| { |
| //------------------------------------------------------------------------- |
| /** with this interface a component can receive events if a feature has |
| changed. |
| |
| <p> |
| The toolbar controller implementation should register itself as a |
| listener when its <member scope="com::sun::star::util">XUpdatable</member> |
| interface has been called. |
| </p> |
| */ |
| interface com::sun::star::frame::XStatusListener; |
| |
| /** used to initialize a component with required arguments. |
| |
| A toolbar controller needs at least three additional arguments |
| provided as <type scope="com::sun::star::beans">PropertyValue</type>: |
| <ul> |
| <li><b>Frame</b><br>a <type scope="com::sun::star::frame">XFrame</type> |
| instance to which the toolbar controller belongs.</li> |
| <li><b>CommandURL</b><br>a string which specifies the command a |
| toolbar controller is bound.</li> |
| <li><b>ServiceManager</b><br>a |
| <type scope="com::sun::star::lang">XMultiServiceFactory</type> |
| instance which can be used to create additional UNO services.</li> |
| </ul> |
| */ |
| interface com::sun::star::lang::XInitialization; |
| |
| /** used to notify an implementation that it needs to add its listener or remove |
| and add them again. |
| |
| <p> |
| A toolbar controller instance is ready for use after this call has been made |
| the first time. The toolbar implementation guarentees that the controller's |
| item window has been added to the toolbar and its reference is held by it. |
| </p> |
| */ |
| interface com::sun::star::util::XUpdatable; |
| |
| //------------------------------------------------------------------------- |
| /** used to notify changed features and requests for additional user interface |
| items. |
| |
| <p> |
| Mostly used by a toolbar implementation to forward information to and request |
| services from a toolbar controller component. This interface must be useable |
| after <member scope="com::sun::star::lang">XInitialitation::initialize</member> |
| has been called. The behavior of the interface is undefined if the controller |
| component hasn't been initialized. |
| </p> |
| */ |
| interface com::sun::star::frame::XToolbarController; |
| |
| //------------------------------------------------------------------------- |
| /** used to notify and retrieve information that are specific for sub-toolbar |
| controllers. |
| |
| <p> |
| Used by implementations that want to provide the toolbar button/sub- |
| toolbar function feature. A controller supporting this interface exchanges |
| the function of its own toolbar button, that opened the sub-toolbar, with |
| the one that has been selected on the sub-toolbar. |
| </p> |
| */ |
| [optional] interface ::com::sun::star::frame::XSubToolbarController; |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |