20#ifndef INCLUDED_SVX_SHAPETYPEHANDLER_HXX
21#define INCLUDED_SVX_SHAPETYPEHANDLER_HXX
26#include <rtl/ustring.hxx>
28#include <unordered_map>
82 enum { UNKNOWN_SHAPE_TYPE = 0 };
98 ShapeTypeId GetTypeId (
const OUString& aServiceName)
const;
110 css::drawing::XShape>& rxShape)
const;
123 CreateAccessibleObject (
136 void AddShapeTypeList (
int nDescriptorCount,
142 static OUString CreateAccessibleBaseName (
143 const css::uno::Reference< css::drawing::XShape >& rxShape);
193 css::drawing::XShape>& rxShape)
const;
@descr This class is a container for the information specific for a single shape that is passed to th...
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
@descr This class is a singleton that has the purpose to transform between service names of shapes an...
ShapeTypeId GetTypeId(const css::uno::Reference< css::drawing::XShape > &rxShape) const
Determines the type id of the specified shape.
static ShapeTypeHandler * instance
Pointer to the only instance of this class.
SVX_DLLPRIVATE tools::Long GetSlotId(const css::uno::Reference< css::drawing::XShape > &rxShape) const
Determine the slot id of the specified shape type.
std::unordered_map< OUString, ShapeTypeId > tServiceNameToSlotId
This hash map allows the fast look up of a type descriptor for a given service name.
ShapeTypeHandler(const ShapeTypeHandler &aHandler)
::std::vector< ShapeTypeDescriptor > maShapeTypeDescriptorList
List of shape type descriptors.
tServiceNameToSlotId maServiceNameToSlotId
int ShapeTypeId
Use an integer to represent shape type ids.
rtl::Reference< AccessibleShape >(* tCreateFunction)(const AccessibleShapeInfo &rShapeInfo, const AccessibleShapeTreeInfo &rShapeTreeInfo, ShapeTypeId nId)
Define the function type for creating accessible objects for given service names.
Each shape type is described by listing its id, its service name and a function which creates a new a...
ShapeTypeDescriptor(ShapeTypeId nId, OUString sName, tCreateFunction aFunction)
tCreateFunction maCreateFunction
ShapeTypeId mnShapeTypeId