1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_frame_XSubToolbarController_idl__
24cdf0e10cSrcweir#define __com_sun_star_frame_XSubToolbarController_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir//=============================================================================
31cdf0e10cSrcweir
32cdf0e10cSrcweir module com {  module sun {  module star {  module frame {
33cdf0e10cSrcweir
34cdf0e10cSrcweir//=============================================================================
35cdf0e10cSrcweir/** special interface to support sub-toolbars in a controller implementation.
36cdf0e10cSrcweir
37cdf0e10cSrcweir    <p>
38cdf0e10cSrcweir    This interface is normally used to implement the toolbar button/sub-
39cdf0e10cSrcweir    toolbar function feature. It exchanges the function of the toolbar
40cdf0e10cSrcweir    button, that opened the sub-toolbar, with the one that has been selected
41cdf0e10cSrcweir    on the sub-toolbar.
42cdf0e10cSrcweir    </p>
43cdf0e10cSrcweir
44cdf0e10cSrcweir    @see com::sun::star::frame::ToolbarController
45cdf0e10cSrcweir
46*c4dc0a1aSJürgen Schmidt    @since OpenOffice 2.0
47cdf0e10cSrcweir */
48cdf0e10cSrcweirinterface XSubToolbarController : com::sun::star::uno::XInterface
49cdf0e10cSrcweir{
50cdf0e10cSrcweir    //=============================================================================
51cdf0e10cSrcweir    /** if the controller features a sub-toolbar.
52cdf0e10cSrcweir
53cdf0e10cSrcweir        @return
54cdf0e10cSrcweir            <TRUE/> if the controller offers a sub toolbar, otherwise <FALSE/>.
55cdf0e10cSrcweir
56cdf0e10cSrcweir        <p>
57cdf0e10cSrcweir        Enables implementations to dynamically decide to support sub-toolbars
58cdf0e10cSrcweir        or not.
59cdf0e10cSrcweir        </p>
60cdf0e10cSrcweir    */
61cdf0e10cSrcweir    boolean opensSubToolbar();
62cdf0e10cSrcweir
63cdf0e10cSrcweir    //=============================================================================
64cdf0e10cSrcweir    /** provides the resource URL of the sub-toolbar this controller opens.
65cdf0e10cSrcweir
66cdf0e10cSrcweir        @return
67cdf0e10cSrcweir            name of the sub-toolbar this controller offers. A empty string
68cdf0e10cSrcweir            will be interpreted as if this controller offers no sub-toolbar.
69cdf0e10cSrcweir    */
70cdf0e10cSrcweir    string getSubToolbarName();
71cdf0e10cSrcweir
72cdf0e10cSrcweir    //=============================================================================
73cdf0e10cSrcweir    /** gets called to notify a controller that a sub-toolbar function has been
74cdf0e10cSrcweir        selected.
75cdf0e10cSrcweir
76cdf0e10cSrcweir        @param aCommand
77cdf0e10cSrcweir            a string which identifies the function that has been selected by
78cdf0e10cSrcweir            a user.
79cdf0e10cSrcweir    */
80cdf0e10cSrcweir    void functionSelected( [in] string aCommand );
81cdf0e10cSrcweir
82cdf0e10cSrcweir    //=============================================================================
83cdf0e10cSrcweir    /** gets called to notify a controller that it should set an image which
84cdf0e10cSrcweir        represents the current selected function.
85cdf0e10cSrcweir
86cdf0e10cSrcweir        <p>
87cdf0e10cSrcweir        Only the controller instance is able to set the correct image for the
88cdf0e10cSrcweir        current function. A toolbar implementation will ask sub-toolbar
89cdf0e10cSrcweir        controllers to update their image whenever it has to update the images
90cdf0e10cSrcweir        of all its buttons.
91cdf0e10cSrcweir        </p>
92cdf0e10cSrcweir    */
93cdf0e10cSrcweir    void updateImage();
94cdf0e10cSrcweir};
95cdf0e10cSrcweir
96cdf0e10cSrcweir}; }; }; };
97cdf0e10cSrcweir
98cdf0e10cSrcweir#endif
99