20 #ifndef INCLUDED_OOX_VML_VMLDRAWING_HXX
21 #define INCLUDED_OOX_VML_VMLDRAWING_HXX
27 #include <com/sun/star/uno/Reference.hxx>
30 #include <rtl/ustring.hxx>
35 namespace drawing {
class XDrawPage; }
36 namespace drawing {
class XShape; }
37 namespace drawing {
class XShapes; }
41 namespace core {
class XmlFilterBase; }
42 namespace ole {
class EmbeddedControl; }
43 namespace ole {
class EmbeddedForm; }
44 namespace vml {
class ShapeContainer; }
72 void setShapeId( sal_Int32 nShapeId );
88 void setShapeId( sal_Int32 nShapeId );
98 const css::uno::Reference< css::drawing::XDrawPage >& rxDrawPage,
116 void registerBlockId( sal_Int32 nBlockId );
122 void registerControl(
const ControlInfo& rControl );
125 void finalizeFragmentImport();
129 void convertAndInsert()
const;
132 sal_Int32 getLocalShapeIndex(
const OUString& rShapeId )
const;
134 const OleObjectInfo* getOleObjectInfo(
const OUString& rShapeId )
const;
136 const ControlInfo* getControlInfo(
const OUString& rShapeId )
const;
140 css::uno::Reference< css::drawing::XShape >
141 createAndInsertXShape(
142 const OUString& rService,
143 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
144 const css::awt::Rectangle& rShapeRect )
const;
148 css::uno::Reference< css::drawing::XShape >
149 createAndInsertXControlShape(
150 const ::oox::ole::EmbeddedControl& rControl,
151 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
152 const css::awt::Rectangle& rShapeRect,
153 sal_Int32& rnCtrlIndex )
const;
156 virtual bool isShapeSupported(
const ShapeBase& rShape )
const;
160 virtual OUString getShapeBaseName(
const ShapeBase& rShape )
const;
164 virtual bool convertClientAnchor(
165 css::awt::Rectangle& orShapeRect,
166 const OUString& rShapeAnchor )
const;
170 virtual css::uno::Reference< css::drawing::XShape >
171 createAndInsertClientXShape(
173 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
174 const css::awt::Rectangle& rShapeRect )
const;
180 virtual void notifyXShapeInserted(
181 const css::uno::Reference< css::drawing::XShape >& rxShape,
182 const css::awt::Rectangle& rShapeRect,
183 const ShapeBase& rShape,
bool bGroupChild );
191 css::uno::Reference< css::drawing::XDrawPage >
193 mutable std::unique_ptr<::oox::ole::EmbeddedForm>
mxCtrlForm;
OUString maShapeId
Shape identifier for shape lookup.
A shape object that is part of a drawing.
::std::vector< sal_Int32 > BlockIdVector
ShapeContainer & getShapes()
Returns read/write access to the container of shapes and templates.
::std::map< OUString, OleObjectInfo > OleObjectInfoMap
BlockIdVector maBlockIds
Block identifiers used by this drawing.
exports com.sun.star. awt
DrawingType
Enumerates different types of VML drawings.
OleObjectInfoMap maOleObjects
Info about all embedded OLE objects, mapped by shape id.
std::unique_ptr<::oox::ole::EmbeddedForm > mxCtrlForm
The control form used to process embedded controls.
css::uno::Reference< css::drawing::XDrawPage > mxDrawPage
UNO draw page used to insert the shapes.
const ShapeContainer & getShapes() const
Returns read access to the container of shapes and templates.
::cppu::WeakComponentImplHelper< css::report::XShape, css::lang::XServiceInfo > ShapeBase
exports com.sun.star. drawing
Contains information about a form control embedded in a draw page.
Container that holds a list of shapes and shape templates.
bool mbTextContentShape
Whether this control shape will be imported to Writer or not (has AnchorType property or not)...
Contains information about an OLE object embedded in a draw page.
PowerPoint: OLE objects are part of DrawingML.
::oox::core::XmlFilterBase & getFilter() const
Returns the filter object that imports/exports this VML drawing.
DrawingType getType() const
Returns the application type containing the drawing.
OUString maName
Programmatical name of the form control.
Excel: OLE objects are part of VML.
ControlInfoMap maControls
Info about all embedded form controls, mapped by control name.
Contains generic information about an OLE object.
::std::map< OUString, ControlInfo > ControlInfoMap
OUString maFragmentPath
Path to the fragment describing the form control properties.
Word: One shape per drawing.
OUString maName
Programmatical name of the OLE object.
OUString maShapeId
Shape identifier for shape lookup.
const DrawingType meType
Application type containing the drawing.
::oox::core::XmlFilterBase & mrFilter
Filter object that imports/exports the VML drawing.
Represents the collection of VML shapes for a complete draw page.
const PowerPointImport & mrFilter
const bool mbDmlShape
True = DrawingML shape (PowerPoint), false = VML shape (Excel/Word).
std::unique_ptr< ShapeContainer > mxShapes
All shapes and shape templates.