19 #ifndef INCLUDED_SW_INC_UNODRAW_HXX
20 #define INCLUDED_SW_INC_UNODRAW_HXX
26 #include <com/sun/star/text/XTextContent.hpp>
27 #include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
28 #include <com/sun/star/drawing/XShape.hpp>
29 #include <com/sun/star/lang/XUnoTunnel.hpp>
30 #include <com/sun/star/beans/XPropertySet.hpp>
31 #include <com/sun/star/beans/XPropertyState.hpp>
32 #include <com/sun/star/drawing/XShapes.hpp>
35 #include <com/sun/star/container/XEnumerationAccess.hpp>
36 #include <com/sun/star/drawing/HomogenMatrix3.hpp>
63 virtual css::uno::Reference< css::drawing::XShape >
CreateShape(
SdrObject *pObj )
const override;
66 auto ppShape =
find(m_vShapes.begin(), m_vShapes.end(), pShape);
67 if(ppShape != m_vShapes.end())
68 m_vShapes.erase(ppShape);
74 css::container::XEnumerationAccess,
75 css::drawing::XDrawPage,
76 css::lang::XServiceInfo,
77 css::drawing::XShapeGrouper
89 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
createEnumeration()
override;
91 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& aType )
override;
92 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes( )
override;
95 virtual sal_Int32 SAL_CALL
getCount()
override;
96 virtual css::uno::Any SAL_CALL
getByIndex(sal_Int32 nIndex)
override;
103 virtual void SAL_CALL
add(
const css::uno::Reference< css::drawing::XShape > & xShape)
override;
104 virtual void SAL_CALL
remove(
const css::uno::Reference< css::drawing::XShape > & xShape)
override;
107 virtual css::uno::Reference< css::drawing::XShapeGroup > SAL_CALL
group(
const css::uno::Reference< css::drawing::XShapes > & xShapes)
override;
108 virtual void SAL_CALL
ungroup(
const css::uno::Reference< css::drawing::XShapeGroup > & aGroup)
override;
124 css::beans::XPropertySet,
125 css::beans::XPropertyState,
126 css::text::XTextContent,
127 css::lang::XServiceInfo,
128 css::lang::XUnoTunnel,
143 css::uno::Reference< css::drawing::XShape >
mxShape;
149 std::unique_ptr<SwShapeDescriptor_Impl>
m_pImpl;
164 const css::awt::Point& rObjPos,
165 const css::awt::Size& rObjSize );
171 const css::drawing::HomogenMatrix3& rMatrixInHoriL2R );
186 const css::awt::Point& aStartOrEndPos );
192 const css::drawing::PolyPolygonBezierCoords& aPath );
211 SwXShape(css::uno::Reference<css::uno::XInterface> & xShape,
SwDoc const*
const pDoc);
215 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& aType )
override;
216 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes( )
override;
220 virtual sal_Int64 SAL_CALL
getSomething(
const css::uno::Sequence< sal_Int8 >& aIdentifier )
override;
223 virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL
getPropertySetInfo( )
override;
224 virtual void SAL_CALL
setPropertyValue(
const OUString& aPropertyName,
const css::uno::Any& aValue )
override;
225 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
226 virtual void SAL_CALL
addPropertyChangeListener(
const OUString& aPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
227 virtual void SAL_CALL
removePropertyChangeListener(
const OUString& aPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
228 virtual void SAL_CALL
addVetoableChangeListener(
const OUString& PropertyName,
const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
229 virtual void SAL_CALL
removeVetoableChangeListener(
const OUString& PropertyName,
const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
232 virtual css::beans::PropertyState SAL_CALL
getPropertyState(
const OUString& PropertyName )
override;
233 virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL
getPropertyStates(
const css::uno::Sequence< OUString >& aPropertyName )
override;
235 virtual css::uno::Any SAL_CALL
getPropertyDefault(
const OUString& aPropertyName )
override;
238 virtual void SAL_CALL
attach(
const css::uno::Reference< css::text::XTextRange > & xTextRange)
override;
239 virtual css::uno::Reference< css::text::XTextRange > SAL_CALL
getAnchor()
override;
242 virtual void SAL_CALL
dispose()
override;
243 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::lang::XEventListener > & aListener)
override;
244 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener > & aListener)
override;
251 virtual css::awt::Point SAL_CALL
getPosition( )
override;
252 virtual void SAL_CALL
setPosition(
const css::awt::Point& aPosition )
override;
253 virtual css::awt::Size SAL_CALL
getSize( )
override;
254 virtual void SAL_CALL
setSize(
const css::awt::Size& aSize )
override;
267 public css::drawing::XShapes
273 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& aType )
override;
274 virtual void SAL_CALL
acquire( ) noexcept
override;
275 virtual void SAL_CALL
release( ) noexcept
override;
278 virtual void SAL_CALL
add(
const css::uno::Reference< css::drawing::XShape >& xShape )
override;
279 virtual void SAL_CALL
remove(
const css::uno::Reference< css::drawing::XShape >& xShape )
override;
282 virtual sal_Int32 SAL_CALL
getCount()
override;
static css::uno::Reference< css::drawing::XShapeGroup > GetShapeGroup(SdrObject *pObj)
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
SwXGroupShape(css::uno::Reference< css::uno::XInterface > &xShape, SwDoc const *pDoc)
virtual sal_Int32 SAL_CALL getCount() override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Type SAL_CALL getElementType() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
SdrObject * GetTopGroupObj(SvxShape *_pSvxShape=nullptr)
method to determine top group object
virtual css::uno::Reference< css::drawing::XShape > CreateShape(SdrObject *pObj) const override
virtual void SAL_CALL dispose() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
const SwFmDrawPage * m_pPage
virtual sal_Bool SAL_CALL hasElements() override
css::uno::Reference< css::beans::XPropertySetInfo > mxPropertySetInfo
void PreUnGroup(const css::uno::Reference< css::drawing::XShapeGroup > &rShapeGroup)
virtual css::uno::Reference< css::drawing::XShapeGroup > SAL_CALL group(const css::uno::Reference< css::drawing::XShapes > &xShapes) override
rtl::Reference< SwFmDrawPage > m_pDrawPage
SwShapeDescriptor_Impl * GetDescImpl()
SwFrameFormat * m_pFormat
OSQLColumns::const_iterator find(const OSQLColumns::const_iterator &first, const OSQLColumns::const_iterator &last, std::u16string_view _rVal, const ::comphelper::UStringMixEqual &_rCase)
virtual css::awt::Point SAL_CALL getPosition() override
virtual ~SwXGroupShape() override
virtual void SAL_CALL release() noexcept override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
SdrPageView * GetPageView()
const SfxItemPropertyMapEntry * m_pPropertyMapEntries
const css::uno::Reference< css::uno::XAggregation > & GetAggregationInterface() const
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
SdrPageView * m_pPageView
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
css::awt::Point GetAttrPosition()
method to determine position according to the positioning attributes
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
css::drawing::HomogenMatrix3 ConvertTransformationToLayoutDir(const css::drawing::HomogenMatrix3 &rMatrixInHoriL2R)
method to convert the transformation of the drawing object to the layout direction, the drawing object is in
virtual sal_Bool SAL_CALL hasElements() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
css::awt::Point ConvertStartOrEndPosToLayoutDir(const css::awt::Point &aStartOrEndPos)
method to convert start or end position of the drawing object to the Writer specific position...
std::unique_ptr< SdrView > mpView
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
SwFmDrawPage * GetSvxPage()
css::uno::Reference< css::drawing::XShape > mxShape
std::vector< SwXShape * > m_vShapes
SwXShape(css::uno::Reference< css::uno::XInterface > &xShape, SwDoc const *const pDoc)
bool StartListening(SvtBroadcaster &rBroadcaster)
virtual sal_Int32 SAL_CALL getCount() override
cppu::WeakAggImplHelper4< css::container::XEnumerationAccess, css::drawing::XDrawPage, css::lang::XServiceInfo, css::drawing::XShapeGrouper > SwXDrawPageBaseClass
static css::uno::Reference< css::drawing::XShape > GetShape(SdrObject *pObj)
cppu::WeakAggImplHelper6< css::beans::XPropertySet, css::beans::XPropertyState, css::text::XTextContent, css::lang::XServiceInfo, css::lang::XUnoTunnel, css::drawing::XShape > SwXShapeBaseClass
virtual ~SwXDrawPage() override
void SetFrameFormat(SwFrameFormat *pFormat)
SvtBroadcaster & GetNotifier()
static void AddExistingShapeToFormat(SdrObject const &_rObj)
virtual ~SwFmDrawPage() noexcept override
css::drawing::PolyPolygonBezierCoords ConvertPolyPolygonBezierToLayoutDir(const css::drawing::PolyPolygonBezierCoords &aPath)
method to convert PolyPolygonBezier of the drawing object to the Writer specific position, which is the attribute position in layout direction
virtual void SAL_CALL add(const css::uno::Reference< css::drawing::XShape > &xShape) override
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
virtual void SAL_CALL add(const css::uno::Reference< css::drawing::XShape > &xShape) override
virtual OUString SAL_CALL getImplementationName() override
css::uno::Reference< css::uno::XAggregation > m_xShapeAgg
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
SwFmDrawPage(SdrPage *pPage)
virtual ~SwXShape() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL setPosition(const css::awt::Point &aPosition) override
void RemoveShape(const SwXShape *pShape)
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
void AdjustPositionProperties(const css::awt::Point &rPosition)
method to adjust the positioning properties
css::uno::Any _getPropAtAggrObj(const OUString &_rPropertyName)
method to get property from aggregation object
void InvalidateSwDoc()
Renamed and outlined to detect where it's called.
virtual css::awt::Size SAL_CALL getSize() override
css::awt::Point ConvertPositionToHoriL2R(const css::awt::Point &rObjPos, const css::awt::Size &rObjSize)
method to convert the position (translation) of the drawing object to the layout direction horizontal...
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
virtual void SAL_CALL ungroup(const css::uno::Reference< css::drawing::XShapeGroup > &aGroup) override
const SfxItemPropertySet * m_pPropSet
std::unique_ptr< SwShapeDescriptor_Impl > m_pImpl
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL acquire() noexcept override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void Notify(const SfxHint &) override
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
const SdrMarkList & PreGroup(const css::uno::Reference< css::drawing::XShapes > &rShapes)
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override
SwFrameFormat * GetFrameFormat() const
virtual void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
virtual OUString SAL_CALL getShapeType() override
virtual css::uno::Type SAL_CALL getElementType() override
virtual void SAL_CALL attach(const css::uno::Reference< css::text::XTextRange > &xTextRange) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getAnchor() override
virtual void SAL_CALL setSize(const css::awt::Size &aSize) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override