LibreOffice Module sc (master)  1
vbasheetobject.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SC_SOURCE_UI_VBA_VBASHEETOBJECT_HXX
21 #define INCLUDED_SC_SOURCE_UI_VBA_VBASHEETOBJECT_HXX
22 
23 #include <ooo/vba/excel/XButton.hpp>
24 #include <ooo/vba/excel/XControlObject.hpp>
25 #include <ooo/vba/excel/XSheetObject.hpp>
26 #include <cppuhelper/implbase.hxx>
28 #include "vbapalette.hxx"
29 
30 namespace com::sun::star {
31  namespace container { class XIndexContainer; }
32  namespace drawing { class XControlShape; }
33 }
34 
36 
39 {
40 public:
42  explicit ScVbaButtonCharacters(
43  const css::uno::Reference< ov::XHelperInterface >& rxParent,
44  const css::uno::Reference< css::uno::XComponentContext >& rxContext,
45  const css::uno::Reference< css::beans::XPropertySet >& rxPropSet,
46  const ScVbaPalette& rPalette,
47  const css::uno::Any& rStart,
48  const css::uno::Any& rLength );
49  virtual ~ScVbaButtonCharacters() override;
50 
51  // XCharacters attributes
52  virtual OUString SAL_CALL getCaption() override;
53  virtual void SAL_CALL setCaption( const OUString& rCaption ) override;
54  virtual OUString SAL_CALL getText() override;
55  virtual void SAL_CALL setText( const OUString& rText ) override;
56  virtual sal_Int32 SAL_CALL getCount() override;
57  virtual css::uno::Reference< ov::excel::XFont > SAL_CALL getFont() override;
58  virtual void SAL_CALL setFont( const css::uno::Reference< ov::excel::XFont >& rxFont ) override;
59 
60  // XCharacters methods
61  virtual void SAL_CALL Insert( const OUString& rString ) override;
62  virtual void SAL_CALL Delete() override;
63 
64  // XHelperInterface
66 
67 private:
69  OUString getFullString() const;
71  void setFullString( const OUString& rString );
72 
73 private:
75  css::uno::Reference< css::beans::XPropertySet > mxPropSet;
76  sal_Int32 mnStart;
77  sal_Int32 mnLength;
78 };
79 
81 
84 {
85 public:
87  explicit ScVbaSheetObjectBase(
88  const css::uno::Reference< ov::XHelperInterface >& rxParent,
89  const css::uno::Reference< css::uno::XComponentContext >& rxContext,
90  const css::uno::Reference< css::frame::XModel >& rxModel,
91  const css::uno::Reference< css::drawing::XShape >& rxShape );
92 
93  // XSheetObject attributes
94  virtual double SAL_CALL getLeft() override;
95  virtual void SAL_CALL setLeft( double fLeft ) override;
96  virtual double SAL_CALL getTop() override;
97  virtual void SAL_CALL setTop( double fTop ) override;
98  virtual double SAL_CALL getWidth() override;
99  virtual void SAL_CALL setWidth( double fWidth ) override;
100  virtual double SAL_CALL getHeight() override;
101  virtual void SAL_CALL setHeight( double fHeight ) override;
102  virtual OUString SAL_CALL getName() override;
103  virtual void SAL_CALL setName( const OUString& rName ) override;
104  virtual sal_Int32 SAL_CALL getPlacement() override;
105  virtual void SAL_CALL setPlacement( sal_Int32 nPlacement ) override;
106  virtual sal_Bool SAL_CALL getPrintObject() override;
107  virtual void SAL_CALL setPrintObject( sal_Bool bPrintObject ) override;
108 
113  void setDefaultProperties( sal_Int32 nIndex );
114 
115 protected:
117  virtual OUString implGetBaseName() const = 0;
122  virtual void implSetDefaultProperties();
123 
124 protected:
126  css::uno::Reference< css::frame::XModel > mxModel;
127  css::uno::Reference< css::drawing::XShape > mxShape;
128  css::uno::Reference< css::beans::XPropertySet > mxShapeProps;
129 };
130 
131 typedef ::cppu::ImplInheritanceHelper< ScVbaSheetObjectBase, ov::excel::XControlObject > ScVbaControlObject_BASE;
132 
134 {
135 public:
137  explicit ScVbaControlObjectBase(
138  const css::uno::Reference< ov::XHelperInterface >& rxParent,
139  const css::uno::Reference< css::uno::XComponentContext >& rxContext,
140  const css::uno::Reference< css::frame::XModel >& rxModel,
141  const css::uno::Reference< css::container::XIndexContainer >& rxFormIC,
142  const css::uno::Reference< css::drawing::XControlShape >& rxControlShape );
143 
144  // XSheetObject attributes
145  virtual OUString SAL_CALL getName() override;
146  virtual void SAL_CALL setName( const OUString& rName ) override;
147  virtual OUString SAL_CALL getOnAction() override;
148  virtual void SAL_CALL setOnAction( const OUString& rMacroName ) override;
149  virtual sal_Bool SAL_CALL getPrintObject() override;
150  virtual void SAL_CALL setPrintObject( sal_Bool bPrintObject ) override;
151 
152  // XControlObject attributes
153  virtual sal_Bool SAL_CALL getAutoSize() override;
154  virtual void SAL_CALL setAutoSize( sal_Bool bAutoSize ) override;
155 
157  void NotifyMacroEventRead();
158 
159 protected:
161  sal_Int32 getModelIndexInForm() const;
162 
163 protected:
164  css::uno::Reference< css::container::XIndexContainer > mxFormIC;
165  css::uno::Reference< css::beans::XPropertySet > mxControlProps;
167 };
168 
169 typedef ::cppu::ImplInheritanceHelper< ScVbaControlObjectBase, ov::excel::XButton > ScVbaButton_BASE;
170 
172 {
173 public:
175  explicit ScVbaButton(
176  const css::uno::Reference< ov::XHelperInterface >& rxParent,
177  const css::uno::Reference< css::uno::XComponentContext >& rxContext,
178  const css::uno::Reference< css::frame::XModel >& rxModel,
179  const css::uno::Reference< css::container::XIndexContainer >& rxFormIC,
180  const css::uno::Reference< css::drawing::XControlShape >& rxControlShape );
181 
182  // XButton attributes
183  virtual OUString SAL_CALL getCaption() override;
184  virtual void SAL_CALL setCaption( const OUString& rCaption ) override;
185  virtual css::uno::Reference< ov::excel::XFont > SAL_CALL getFont() override;
186  virtual void SAL_CALL setFont( const css::uno::Reference< ov::excel::XFont >& rxFont ) override;
187  virtual sal_Int32 SAL_CALL getHorizontalAlignment() override;
188  virtual void SAL_CALL setHorizontalAlignment( sal_Int32 nAlign ) override;
189  virtual sal_Int32 SAL_CALL getVerticalAlignment() override;
190  virtual void SAL_CALL setVerticalAlignment( sal_Int32 nAlign ) override;
191  virtual sal_Int32 SAL_CALL getOrientation() override;
192  virtual void SAL_CALL setOrientation( sal_Int32 nOrientation ) override;
193  virtual css::uno::Any SAL_CALL getValue() override;
194  virtual void SAL_CALL setValue( const css::uno::Any &nValue ) override;
195  virtual OUString SAL_CALL getText() override;
196  virtual void SAL_CALL setText( const OUString &aText ) override;
197 
198  // XButton methods
199  css::uno::Reference< ov::excel::XCharacters > SAL_CALL Characters(
200  const css::uno::Any& rStart, const css::uno::Any& rLength ) override;
201 
202  // XHelperInterface
204 
205 protected:
206  virtual OUString implGetBaseName() const override;
207  virtual void implSetDefaultProperties() override;
208 };
209 
210 #endif
211 
212 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual sal_Bool SAL_CALL getPrintObject() override
sal_Int32 nIndex
ScVbaControlObjectBase(const css::uno::Reference< ov::XHelperInterface > &rxParent, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XModel > &rxModel, const css::uno::Reference< css::container::XIndexContainer > &rxFormIC, const css::uno::Reference< css::drawing::XControlShape > &rxControlShape)
virtual void SAL_CALL setPrintObject(sal_Bool bPrintObject) override
virtual sal_Int32 SAL_CALL getOrientation() override
virtual void SAL_CALL setTop(double fTop) override
virtual sal_Bool SAL_CALL getPrintObject() override
virtual void SAL_CALL setName(const OUString &rName) override
#define VBAHELPER_DECL_XHELPERINTERFACE
virtual OUString SAL_CALL getText() override
virtual void implSetDefaultProperties() override
css::uno::Reference< css::frame::XModel > mxModel
InheritedHelperInterfaceWeakImpl< ov::excel::XSheetObject > ScVbaSheetObject_BASE
virtual css::uno::Reference< ov::excel::XFont > SAL_CALL getFont() override
virtual double SAL_CALL getLeft() override
virtual void SAL_CALL setValue(const css::uno::Any &nValue) override
virtual sal_Int32 SAL_CALL getVerticalAlignment() override
virtual double SAL_CALL getHeight() override
virtual void SAL_CALL setCaption(const OUString &rCaption) override
virtual OUString SAL_CALL getName() override
exports com.sun.star. container
ScVbaButton(const css::uno::Reference< ov::XHelperInterface > &rxParent, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XModel > &rxModel, const css::uno::Reference< css::container::XIndexContainer > &rxFormIC, const css::uno::Reference< css::drawing::XControlShape > &rxControlShape)
void setDefaultProperties(sal_Int32 nIndex)
Sets default properties after a new object has been created.
virtual void SAL_CALL setName(const OUString &rName) override
virtual void SAL_CALL setHeight(double fHeight) override
virtual void implSetDefaultProperties()
Derived classes set default properties for new drawing objects.
virtual void SAL_CALL setVerticalAlignment(sal_Int32 nAlign) override
virtual sal_Int32 SAL_CALL getHorizontalAlignment() override
virtual double SAL_CALL getTop() override
virtual OUString SAL_CALL getOnAction() override
virtual void SAL_CALL Insert(const OUString &rString) override
ScVbaSheetObjectBase(const css::uno::Reference< ov::XHelperInterface > &rxParent, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XModel > &rxModel, const css::uno::Reference< css::drawing::XShape > &rxShape)
void setFullString(const OUString &rString)
virtual void SAL_CALL setPlacement(sal_Int32 nPlacement) override
virtual void SAL_CALL setLeft(double fLeft) override
::cppu::ImplInheritanceHelper< ScVbaControlObjectBase, ov::excel::XButton > ScVbaButton_BASE
virtual OUString implGetBaseName() const =0
Derived classes return the base name used for new objects.
css::uno::Reference< css::drawing::XShape > mxShape
virtual sal_Bool SAL_CALL getAutoSize() override
virtual OUString SAL_CALL getCaption() override
virtual OUString SAL_CALL getText() override
virtual void SAL_CALL setOnAction(const OUString &rMacroName) override
virtual void SAL_CALL setText(const OUString &rText) override
virtual sal_Int32 SAL_CALL getCount() override
::cppu::ImplInheritanceHelper< ScVbaSheetObjectBase, ov::excel::XControlObject > ScVbaControlObject_BASE
unsigned char sal_Bool
css::uno::Reference< css::beans::XPropertySet > mxControlProps
css::uno::Reference< ov::excel::XCharacters > SAL_CALL Characters(const css::uno::Any &rStart, const css::uno::Any &rLength) override
InheritedHelperInterfaceWeakImpl< ov::excel::XCharacters > ScVbaButtonCharacters_BASE
Base class for drawing objects embedded in sheets.
virtual double SAL_CALL getWidth() override
sal_Int32 getModelIndexInForm() const
virtual void SAL_CALL setAutoSize(sal_Bool bAutoSize) override
void NotifyMacroEventRead()
Notify that the document contains a macro event handler.
virtual void SAL_CALL setFont(const css::uno::Reference< ov::excel::XFont > &rxFont) override
virtual ~ScVbaButtonCharacters() override
virtual css::uno::Any SAL_CALL getValue() override
virtual css::uno::Reference< ov::excel::XFont > SAL_CALL getFont() override
OUString getFullString() const
css::uno::Reference< css::container::XIndexContainer > mxFormIC
virtual void SAL_CALL Delete() override
virtual void SAL_CALL setFont(const css::uno::Reference< ov::excel::XFont > &rxFont) override
virtual void SAL_CALL setCaption(const OUString &rCaption) override
virtual void SAL_CALL setText(const OUString &aText) override
css::uno::Reference< css::beans::XPropertySet > mxPropSet
virtual OUString SAL_CALL getCaption() override
virtual void SAL_CALL setHorizontalAlignment(sal_Int32 nAlign) override
Simple implementation of the Characters symbol for drawing button objects.
virtual OUString SAL_CALL getName() override
virtual void SAL_CALL setWidth(double fWidth) override
css::uno::Reference< css::beans::XPropertySet > mxShapeProps
ScVbaButtonCharacters(const css::uno::Reference< ov::XHelperInterface > &rxParent, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::beans::XPropertySet > &rxPropSet, const ScVbaPalette &rPalette, const css::uno::Any &rStart, const css::uno::Any &rLength)
virtual sal_Int32 SAL_CALL getPlacement() override
virtual void SAL_CALL setPrintObject(sal_Bool bPrintObject) override
virtual OUString implGetBaseName() const override
sal_Int16 nValue
virtual void SAL_CALL setOrientation(sal_Int32 nOrientation) override