1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __ooo_vba_excel_SheetObjects_idl__
29#define __ooo_vba_excel_SheetObjects_idl__
30
31#include <ooo/vba/XCollection.idl>
32
33//=============================================================================
34
35/*  Note: This file collects all compatibility interfaces for collections of
36    drawing objects and drawing controls embedded in sheets. All these symbols
37    are deprecated in VBA and kept for compatibility with old VBA scripts. */
38
39//=============================================================================
40
41module ooo {  module vba { module excel {
42
43//=============================================================================
44
45/** Collections that implement this interface provide access to a specific type
46    of drawing objects in a single sheet.
47
48    <p>The following sheet symbols represent collections of graphic objects,
49    and therefore implement this interface:</p>
50    <ul><li>Buttons: push button (command button) controls,</li>
51    <li>ChartObjects: chart objects embedded in the sheet,</li>
52    <li>CheckBoxes: check box controls,</li>
53    <li>DropDowns: drop-down listbox controls,</li>
54    <li>EditBoxes: text edit controls (dialog sheets only),</li>
55    <li>GroupBoxes: group frame controls,</li>
56    <li>GroupObjects: group objects containing other child objects,</li>
57    <li>Labels: fixed text controls,</li>
58    <li>ListBoxes: plain listbox controls,</li>
59    <li>OptionButtons: option button (radio button) controls,</li>
60    <li>Ovals: simple ovals and circles,</li>
61    <li>Pictures: picture objects,</li>
62    <li>Rectangles: simple rectangle objects,</li>
63    <li>ScrollBars: scrollbar controls,</li>
64    <li>Spinners: spinner (spin button) controls,</li>
65    <li>TextBoxes: rectangle objects with embedded text.</li></ul>
66
67    <p>These symbols are now deprecated in VBA but kept for compatibility with
68    old VBA scripts. All symbols representing collections of form controls do
69    NOT belong to ActiveX form controls but to the old-style drawing controls.
70    </p>
71 */
72interface XGraphicObjects : com::sun::star::uno::XInterface
73{
74    /** Adds a new graphic object to the sheet this collection belongs to. The
75        type of the object is determined by the type of the collection.
76
77        @param Left  Position of the left border in points (1/72 inch).
78        @param Top  Position of the top border in points (1/72 inch).
79        @param Width  Width of the object in points (1/72 inch).
80        @param Height  Height of the object in points (1/72 inch).
81
82        @return  The created graphic object.
83     */
84    any Add( [in] any Left, [in] any Top, [in] any Width, [in] any Height );
85};
86
87//=============================================================================
88
89/** Collections that implement this interface provide access to a specific type
90    of drawing objects in a single sheet.
91
92    <p>The following sheet symbols represent collections of line objects, and
93    therefore implement this interface:</p>
94    <ul><li>Arcs: arc objects, and</li>
95    <li>Lines: straight line ojects.</li></ul>
96
97    <p>These symbols are now deprecated in VBA but kept for compatibility with
98    old VBA scripts.</p>
99 */
100interface XLineObjects : com::sun::star::uno::XInterface
101{
102    /** Adds a new line object to the sheet this collection belongs to. The
103        type of the object is determined by the type of the collection.
104
105        @param X1  Position of the first X coordinate in points (1/72 inch).
106        @param Y1  Position of the first Y coordinate in points (1/72 inch).
107        @param X2  Position of the last X coordinate in points (1/72 inch).
108        @param Y2  Position of the last Y coordinate in points (1/72 inch).
109
110        @return  The created line object.
111     */
112    any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2 );
113};
114
115//=============================================================================
116
117/** A collection providing access to all polygon objects in a single sheet.
118
119    <p>This symbol is now deprecated in VBA but kept for compatibility with old
120    VBA scripts.</p>
121 */
122interface XDrawings : com::sun::star::uno::XInterface
123{
124    /** Adds a new polygon object to the sheet this collection belongs to.
125
126        @param X1  Position of the first X coordinate in points (1/72 inch).
127        @param Y1  Position of the first Y coordinate in points (1/72 inch).
128        @param X2  Position of the last X coordinate in points (1/72 inch).
129        @param Y2  Position of the last Y coordinate in points (1/72 inch).
130        @param Closed  True = outline closed (last and first point connected).
131
132        @return  The created polygon object.
133     */
134    any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2, [in] any Closed );
135};
136
137//=============================================================================
138
139/** Represents the collection of drawing button controls in a spreadsheet. */
140service Buttons
141{
142    interface ooo::vba::XCollection;
143    interface XGraphicObjects;
144};
145
146//=============================================================================
147
148}; }; };
149
150#endif
151