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 __ooo_vba_excel_SheetObject_idl__
25#define __ooo_vba_excel_SheetObject_idl__
26
27#include <ooo/vba/excel/XCharacters.idl>
28
29//=============================================================================
30
31/*  Note: This file collects all compatibility interfaces for drawing objects
32    and drawing controls embedded in sheets. All these symbols are deprecated
33    in VBA and kept for compatibility with old VBA scripts. */
34
35//=============================================================================
36
37module ooo {  module vba { module excel {
38
39//=============================================================================
40
41/** Base interface for graphic objects and drawing controls in a single sheet.
42
43    <p>The objects supporting this interface are now deprecated in VBA in
44    favour of the Shapes and OLEObjects collections, but are kept for
45    compatibility with old VBA scripts. All form control objects do NOT belong
46    to ActiveX form controls but to the old-style drawing controls.</p>
47 */
48interface XSheetObject : ooo::vba::XHelperInterface
49{
50    /** Left coordinate of the drawing object, in points. */
51    [attribute] double Left;
52
53    /** Top coordinate of the drawing object, in points. */
54    [attribute] double Top;
55
56    /** Width of the drawing object, in points. */
57    [attribute] double Width;
58
59    /** Height of the drawing object, in points. */
60    [attribute] double Height;
61
62    /** The name of the drawing object, used as collection key. */
63    [attribute] string Name;
64
65    /** Name of a macro that will be executed when the drawing object is clicked. */
66    [attribute] string OnAction;
67
68    /** Anchor mode of the object (fixed or variable position and size). Must
69        be a value from <type>ooo::vba::excel::XlPlacement</type>. */
70    [attribute] long Placement;
71
72    /** True = print object, false = skip object on printing. */
73    [attribute] boolean PrintObject;
74};
75
76//=============================================================================
77
78/** Additional attributes for all drawing controls (this interface does not
79    belong to ActiveX form controls).
80 */
81interface XControlObject : com::sun::star::uno::XInterface
82{
83    [attribute] boolean AutoSize;
84};
85
86//=============================================================================
87
88/** Additional attributes for a push button drawing control (this interface
89    does not belong to ActiveX form controls).
90 */
91interface XButton : com::sun::star::uno::XInterface
92{
93    /** Visible caption of the button. */
94    [attribute] string Caption;
95
96    /** Font settings for the entire caption text. */
97    [attribute] XFont Font;
98
99    /** Horizontal alignment of the caption. */
100    [attribute] long HorizontalAlignment;
101
102    /** Vertical alignment of the caption. */
103    [attribute] long VerticalAlignment;
104
105    /** Orientation (rotation) of the text. Must be a value from
106        <type>ooo::vba::excel::XlOrientation</type>. */
107    [attribute] long Orientation;
108
109    /** Access to text and text formatting of the button caption. */
110    XCharacters Characters( [in] any Start, [in] any Length );
111};
112
113//=============================================================================
114
115/** Represents a drawing button control in a spreadsheet. */
116service Button
117{
118    interface XSheetObject;
119    interface XControlObject;
120    interface XButton;
121};
122
123//=============================================================================
124
125}; }; };
126
127#endif
128