1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_ui_ItemDescriptor_idl__
25#define __com_sun_star_ui_ItemDescriptor_idl__
26
27#ifndef __com_sun_star_container_XIndexAccess_idl__
28#include <com/sun/star/container/XIndexAccess.idl>
29#endif
30
31//=============================================================================
32
33module com {  module sun {  module star {  module ui {
34
35/**
36    describes a user interface item that is part of a user interface
37    element.
38    <p>Common examples for such elements are:
39        <ul>
40            <li>menus</li>
41            <li>tool bars</li>
42            <li>status bars</li>
43        </ul>
44       No assumption is made about any graphical representation:
45       You could have a menu or a toolbox working with the same item descriptor.
46    </p>
47
48    @since OpenOffice 2.0
49*/
50service ItemDescriptor
51{
52    /** specifies which type this item descriptor belongs to.<p>See constant definition
53        <type>ItemType</type>.</p>
54    */
55    [property] short Type;
56
57    /** the text of the user interface item.
58    */
59    [property] string Label;
60
61    /** contains the command URL which specifies which action should be accomplished.
62     */
63    [property] string CommandURL;
64
65    /** contains the a URL that points to a help text.
66     */
67    [property] string HelpURL;
68
69    /** different styles which influence the appearance of the item and its behavior.
70        <p>This property is only valid if the item describes a toolbar or statusbar
71        item. See <type>ItemStyle</type> for more information about possible styles.</p>
72    */
73    [optional, property] short Style;
74
75    /** specifies the pixel distance by which the text of the item is shifted on the x-axis.
76        <p>This property is only valid if the item describes a statusbar item.</p>
77    */
78    [optional, property] short Offset;
79
80    /** specifies an optional sub container.
81        <p>This property is valid for menus only. It can be used to define sub menus.</p>
82    */
83    [optional, property] com::sun::star::container::XIndexAccess ItemDescriptorContainer;
84
85    /** specifies if this item is visible or not.
86        <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
87    */
88    [optional, property] boolean IsVisible;
89
90    /** specifies a pixel width for this item inside the user interface element.
91        <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
92    */
93    [optional, property] short Width;
94};
95
96}; }; }; };
97
98#endif
99