namespace com::sun::star { namespace awt { struct Gradient; struct Gradient2; class XBitmap; } namespace graphic { class XGraphic; } namespace container { class XNameContainer; } namespace drawing { struct LineDash; } namespace drawing { struct Hatch; } namespace drawing { struct PolyPolygonBezierCoords; } namespace lang { class XMultiServiceFactory; }
}
namespace oox {
/** This helper manages named objects in a container, which is created on demand.
*/ class OOX_DLLPUBLIC ObjectContainer
{ public: explicit ObjectContainer( const css::uno::Reference< css::lang::XMultiServiceFactory >& rxModelFactory,
OUString aServiceName );
~ObjectContainer();
/** Returns true, if the object with the passed name exists in the container. */ bool hasObject( const OUString& rObjName ) const;
/** Inserts the passed object into the container, returns its final name. */
OUString insertObject( const OUString& rObjName, const css::uno::Any& rObj, bool bInsertByUnusedName );
private: void createContainer() const;
private: mutable css::uno::Reference< css::lang::XMultiServiceFactory >
mxModelFactory; ///< Factory to create the container. mutable css::uno::Reference< css::container::XNameContainer >
mxContainer; ///< Container for the objects.
OUString maServiceName; ///< Service name to create the container.
sal_Int32 mnIndex; ///< Index to create unique identifiers.
};
/** Contains tables for named drawing objects for a document model.
/** Returns true, if the model contains a line marker with the passed name. */ bool hasLineMarker( const OUString& rMarkerName ) const;
/** Inserts a new named line marker, overwrites an existing line marker
with the same name. Returns true, if the marker could be inserted. */ bool insertLineMarker( const OUString& rMarkerName, const css::drawing::PolyPolygonBezierCoords& rMarker );
/** Inserts a new named line dash, returns the line dash name, based on an
internal constant name with a new unused index appended. */
OUString insertLineDash( const css::drawing::LineDash& rDash );
/** Inserts a new named fill gradient, returns the gradient name, based on
an internal constant name with a new unused index appended. */
OUString insertFillGradient( const css::awt::Gradient2& rGradient );
OUString insertFillGradient( const css::awt::Gradient& rGradient );
/** Inserts a new named fill graphic, returns the bitmap name, based on
an internal constant name with a new unused index appended. */
OUString insertFillBitmapXGraphic(css::uno::Reference<css::graphic::XGraphic> const & rxGraphic);
private:
ObjectContainer maMarkerContainer; ///< Contains all named line markers (line end polygons).
ObjectContainer maDashContainer; ///< Contains all named line dashes.
ObjectContainer maGradientContainer; ///< Contains all named fill gradients.
ObjectContainer maTransGradContainer; ///< Contains all named transparency Gradients.
ObjectContainer maBitmapUrlContainer; ///< Contains all named fill bitmap URLs.
ObjectContainer maHatchContainer; ///< Contains all named fill hatches.
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.