20 #ifndef INCLUDED_OOX_VML_VMLSHAPECONTAINER_HXX
21 #define INCLUDED_OOX_VML_VMLSHAPECONTAINER_HXX
28 #include <com/sun/star/awt/Rectangle.hpp>
29 #include <com/sun/star/uno/Reference.hxx>
32 #include <rtl/ustring.hxx>
35 namespace drawing {
class XShapes; }
65 template<
typename ShapeT >
83 template<
typename Functor >
106 const css::uno::Reference< css::drawing::XShapes >& rxShapes,
124 template<
typename ShapeT >
127 auto xShape = std::make_shared<ShapeT>(
mrDrawing );
128 xShape->setContainer(
this);
133 template<
typename Functor >
Drawing & mrDrawing
The VML drawing page that contains this shape.
std::shared_ptr< ShapeType > createShapeType()
Creates and returns a new shape template object.
css::awt::Rectangle maShapeRect
A shape object that is part of a drawing.
const ShapeBase * getShapeById(const OUString &rShapeId) const
Returns the shape with the passed identifier.
void pushMark()
Adds a recursion mark to the stack.
void convertAndInsert(const css::uno::Reference< css::drawing::XShapes > &rxShapes, const ShapeParentAnchor *pParentAnchor=nullptr) const
Creates and inserts all UNO shapes into the passed container.
A shape template contains all formatting properties of shapes and can serve as templates for several ...
void popMark()
Removes a recursion mark.
ShapeMap maShapesById
All shape definitions mapped by identifier.
::cppu::WeakComponentImplHelper< css::report::XShape, css::lang::XServiceInfo > ShapeBase
bool empty() const
Returns true, if this container does not contain any shapes.
exports com.sun.star. drawing
value_type findIf(const FunctorType &rFunctor) const
Searches for an element by using the passed functor that takes a constant reference of the object typ...
RefVector< ShapeBase > ShapeVector
Container that holds a list of shapes and shape templates.
Drawing & getDrawing()
Returns the drawing this shape container is part of.
std::shared_ptr< ShapeT > createShape()
Creates and returns a new shape object of the specified type.
const ShapeType * getShapeTypeById(const OUString &rShapeId) const
Returns the shape template with the passed identifier.
ShapeContainer(Drawing &rDrawing)
std::stack< size_t > markStack
Recursion marks from pushMark()/popMark().
RefMap< OUString, ShapeType > ShapeTypeMap
void finalizeFragmentImport()
Final processing after import of the drawing fragment.
css::awt::Rectangle maCoordSys
ShapeTypeVector maTypes
All shape templates.
std::shared_ptr< ShapeBase > takeLastShape()
(Word only) Returns the last shape in the collection, if it is after the last mark from pushMark()...
ShapeVector maShapes
All shape definitions.
RefMap< OUString, ShapeBase > ShapeMap
const ShapeBase * findShape(const Functor &rFunctor) const
Searches for a shape by using the passed functor that takes a constant reference of a ShapeBase objec...
Represents the collection of VML shapes for a complete draw page.
ShapeTypeMap maTypesById
All shape templates mapped by identifier.
RefVector< ShapeType > ShapeTypeVector