blob: 624f9cd41232de4da801552fd30abbc84c7215b2 [file] [log] [blame]
/**************************************************************
*
* 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 <com/sun/star/uno/XInterface.idl>
#endif
//=============================================================================
module com { module sun { module star { module frame {
//=============================================================================
/** special interface to support sub-toolbars in a controller implementation.
<p>
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.
</p>
@see com::sun::star::frame::ToolbarController
@since OpenOffice 2.0
*/
interface XSubToolbarController : com::sun::star::uno::XInterface
{
//=============================================================================
/** if the controller features a sub-toolbar.
@return
<TRUE/> if the controller offers a sub toolbar, otherwise <FALSE/>.
<p>
Enables implementations to dynamically decide to support sub-toolbars
or not.
</p>
*/
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.
<p>
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.
</p>
*/
void updateImage();
};
}; }; }; };
#endif