/************************************************************** * * 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_XSubToolbarController_idl__ #define __com_sun_star_frame_XSubToolbarController_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif //============================================================================= module com { module sun { module star { module frame { //============================================================================= /** special interface to support sub-toolbars in a controller implementation.

This interface is normally used to implement the toolbar button/sub- toolbar function feature. It exchanges the function of the toolbar button, that opened the sub-toolbar, with the one that has been selected on the sub-toolbar.

@see com::sun::star::frame::ToolbarController @since OOo 2.0 */ interface XSubToolbarController : com::sun::star::uno::XInterface { //============================================================================= /** if the controller features a sub-toolbar. @return if the controller offers a sub toolbar, otherwise .

Enables implementations to dynamically decide to support sub-toolbars or not.

*/ boolean opensSubToolbar(); //============================================================================= /** provides the resource URL of the sub-toolbar this controller opens. @return name of the sub-toolbar this controller offers. A empty string will be interpreted as if this controller offers no sub-toolbar. */ string getSubToolbarName(); //============================================================================= /** gets called to notify a controller that a sub-toolbar function has been selected. @param aCommand a string which identifies the function that has been selected by a user. */ void functionSelected( [in] string aCommand ); //============================================================================= /** gets called to notify a controller that it should set an image which represents the current selected function.

Only the controller instance is able to set the correct image for the current function. A toolbar implementation will ask sub-toolbar controllers to update their image whenever it has to update the images of all its buttons.

*/ void updateImage(); }; }; }; }; }; #endif