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_SheetObjects_idl__
25#define __ooo_vba_excel_SheetObjects_idl__
26
27#include <ooo/vba/XCollection.idl>
28
29//=============================================================================
30
31/*  Note: This file collects all compatibility interfaces for collections of
32    drawing objects and drawing controls embedded in sheets. All these symbols
33    are deprecated in VBA and kept for compatibility with old VBA scripts. */
34
35//=============================================================================
36
37module ooo {  module vba { module excel {
38
39//=============================================================================
40
41/** Collections that implement this interface provide access to a specific type
42    of drawing objects in a single sheet.
43
44    <p>The following sheet symbols represent collections of graphic objects,
45    and therefore implement this interface:</p>
46    <ul><li>Buttons: push button (command button) controls,</li>
47    <li>ChartObjects: chart objects embedded in the sheet,</li>
48    <li>CheckBoxes: check box controls,</li>
49    <li>DropDowns: drop-down listbox controls,</li>
50    <li>EditBoxes: text edit controls (dialog sheets only),</li>
51    <li>GroupBoxes: group frame controls,</li>
52    <li>GroupObjects: group objects containing other child objects,</li>
53    <li>Labels: fixed text controls,</li>
54    <li>ListBoxes: plain listbox controls,</li>
55    <li>OptionButtons: option button (radio button) controls,</li>
56    <li>Ovals: simple ovals and circles,</li>
57    <li>Pictures: picture objects,</li>
58    <li>Rectangles: simple rectangle objects,</li>
59    <li>ScrollBars: scrollbar controls,</li>
60    <li>Spinners: spinner (spin button) controls,</li>
61    <li>TextBoxes: rectangle objects with embedded text.</li></ul>
62
63    <p>These symbols are now deprecated in VBA but kept for compatibility with
64    old VBA scripts. All symbols representing collections of form controls do
65    NOT belong to ActiveX form controls but to the old-style drawing controls.
66    </p>
67 */
68interface XGraphicObjects : com::sun::star::uno::XInterface
69{
70    /** Adds a new graphic object to the sheet this collection belongs to. The
71        type of the object is determined by the type of the collection.
72
73        @param Left  Position of the left border in points (1/72 inch).
74        @param Top  Position of the top border in points (1/72 inch).
75        @param Width  Width of the object in points (1/72 inch).
76        @param Height  Height of the object in points (1/72 inch).
77
78        @return  The created graphic object.
79     */
80    any Add( [in] any Left, [in] any Top, [in] any Width, [in] any Height );
81};
82
83//=============================================================================
84
85/** Collections that implement this interface provide access to a specific type
86    of drawing objects in a single sheet.
87
88    <p>The following sheet symbols represent collections of line objects, and
89    therefore implement this interface:</p>
90    <ul><li>Arcs: arc objects, and</li>
91    <li>Lines: straight line ojects.</li></ul>
92
93    <p>These symbols are now deprecated in VBA but kept for compatibility with
94    old VBA scripts.</p>
95 */
96interface XLineObjects : com::sun::star::uno::XInterface
97{
98    /** Adds a new line object to the sheet this collection belongs to. The
99        type of the object is determined by the type of the collection.
100
101        @param X1  Position of the first X coordinate in points (1/72 inch).
102        @param Y1  Position of the first Y coordinate in points (1/72 inch).
103        @param X2  Position of the last X coordinate in points (1/72 inch).
104        @param Y2  Position of the last Y coordinate in points (1/72 inch).
105
106        @return  The created line object.
107     */
108    any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2 );
109};
110
111//=============================================================================
112
113/** A collection providing access to all polygon objects in a single sheet.
114
115    <p>This symbol is now deprecated in VBA but kept for compatibility with old
116    VBA scripts.</p>
117 */
118interface XDrawings : com::sun::star::uno::XInterface
119{
120    /** Adds a new polygon object to the sheet this collection belongs to.
121
122        @param X1  Position of the first X coordinate in points (1/72 inch).
123        @param Y1  Position of the first Y coordinate in points (1/72 inch).
124        @param X2  Position of the last X coordinate in points (1/72 inch).
125        @param Y2  Position of the last Y coordinate in points (1/72 inch).
126        @param Closed  True = outline closed (last and first point connected).
127
128        @return  The created polygon object.
129     */
130    any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2, [in] any Closed );
131};
132
133//=============================================================================
134
135/** Represents the collection of drawing button controls in a spreadsheet. */
136service Buttons
137{
138    interface ooo::vba::XCollection;
139    interface XGraphicObjects;
140};
141
142//=============================================================================
143
144}; }; };
145
146#endif
147