109 lines
4.2 KiB
Text
109 lines
4.2 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* 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 .
|
|
*/
|
|
|
|
|
|
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 OOo 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 com::sun::star::util::XUpdatable
|
|
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 com::sun::star::beans::PropertyValue:
|
|
<ul>
|
|
<li><b>Frame</b><br>a com::sun::star::frame::XFrame
|
|
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
|
|
com::sun::star::lang::XMultiServiceFactory
|
|
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 guarantees 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 usable
|
|
after com::sun::star::lang::XInitialization::initialize()
|
|
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;
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|