36 #include <com/sun/star/drawing/XShape.hpp>
37 #include <com/sun/star/lang/NoSupportException.hpp>
46 #include <unonames.hxx>
62 {
u"", 0, css::uno::Type(), 0, 0 }
64 return aShapeMap_Impl;
71 { SvMacroItemId::NONE,
nullptr }
73 return aMacroDescriptionsImpl;
84 pShapePropertySet(nullptr),
85 pShapePropertyState(nullptr),
100 mxShapeAgg->setDelegator( static_cast<cppu::OWeakObject*>(
this) );
102 xShape.set(uno::Reference<drawing::XShape>(
mxShapeAgg, uno::UNO_QUERY ));
128 uno::Any aRet = ScShapeObj_Base::queryInterface( rType );
144 OWeakObject::acquire();
149 OWeakObject::release();
159 uno::Reference<beans::XPropertySet> xProp;
173 uno::Reference<beans::XPropertyState> xState;
180 static uno::Reference<lang::XComponent>
lcl_GetComponent(
const uno::Reference<uno::XAggregation>& xAgg )
182 uno::Reference<lang::XComponent> xRet;
188 static uno::Reference<text::XText>
lcl_GetText(
const uno::Reference<uno::XAggregation>& xAgg )
190 uno::Reference<text::XText> xRet;
196 static uno::Reference<text::XSimpleText>
lcl_GetSimpleText(
const uno::Reference<uno::XAggregation>& xAgg )
198 uno::Reference<text::XSimpleText> xRet;
204 static uno::Reference<text::XTextRange>
lcl_GetTextRange(
const uno::Reference<uno::XAggregation>& xAgg )
206 uno::Reference<text::XTextRange> xRet;
225 uno::Reference<beans::XPropertySetInfo> xAggInfo(
pShapePropertySet->getPropertySetInfo());
226 const uno::Sequence<beans::Property> aPropSeq(xAggInfo->getProperties());
236 for (sal_uInt16
i=0;
i<nCount;
i++)
239 rNum =
static_cast<SCTAB>(
i);
246 static bool lcl_GetCaptionPoint(
const uno::Reference< drawing::XShape >& xShape, awt::Point& rCaptionPoint )
248 bool bReturn =
false;
249 OUString
sType(xShape->getShapeType());
250 bool bCaptionShape(
sType ==
"com.sun.star.drawing.CaptionShape" );
253 uno::Reference < beans::XPropertySet > xShapeProp (xShape, uno::UNO_QUERY);
256 xShapeProp->getPropertyValue(
"CaptionPoint") >>= rCaptionPoint;
264 awt::Point& rUnoPoint, awt::Size& rUnoSize, awt::Point& rCaptionPoint )
267 rUnoPoint = xShape->getPosition();
271 rUnoSize = xShape->getSize();
272 rUnoPoint.X += rUnoSize.Width;
275 if (rCaptionPoint.X > 0 && rCaptionPoint.X > rUnoSize.Width)
276 rUnoPoint.X += rCaptionPoint.X - rUnoSize.Width;
277 if (rCaptionPoint.Y < 0)
278 rUnoPoint.Y += rCaptionPoint.Y;
286 if (rCaptionPoint.X < 0)
287 rUnoPoint.X += rCaptionPoint.X;
288 if (rCaptionPoint.Y < 0)
289 rUnoPoint.Y += rCaptionPoint.Y;
298 awt::Size& rUnoSize, awt::Point& rCaptionPoint)
300 awt::Point aUnoPoint;
301 rRange =
lcl_GetAnchorCell(xShape, pDoc, nTab, aUnoPoint, rUnoSize, rCaptionPoint);
304 aUnoPoint.X -= aPoint.X();
305 aUnoPoint.Y -= aPoint.Y();
315 uno::Reference<sheet::XCellRangeAddressable> xRangeAdd(aValue, uno::UNO_QUERY);
317 throw lang::IllegalArgumentException(
"only XCell or XSpreadsheet objects allowed", static_cast<cppu::OWeakObject*>(
this), 0);
332 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
337 table::CellRangeAddress aAddress = xRangeAdd->getRangeAddress();
338 if (nTab == aAddress.Sheet)
340 tools::Rectangle aRect(pDoc->GetMMRect( static_cast<SCCOL>(aAddress.StartColumn), static_cast<SCROW>(aAddress.StartRow),
341 static_cast<SCCOL>(aAddress.EndColumn), static_cast<SCROW>(aAddress.EndRow), aAddress.Sheet ));
342 awt::Point aRelPoint;
343 uno::Reference<drawing::XShape> xShape(
mxShapeAgg, uno::UNO_QUERY );
348 if (pDoc->IsNegativePage(nTab))
350 aPoint = aRect.TopRight();
351 aEndPoint = aRect.BottomLeft();
355 aPoint = aRect.TopLeft();
356 aEndPoint = aRect.BottomRight();
359 awt::Point aCaptionPoint;
361 aRelPoint =
lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint );
362 awt::Point aUnoPoint(aRelPoint);
364 aUnoPoint.X += aPoint.X();
365 aUnoPoint.Y += aPoint.Y();
367 if ( aUnoPoint.Y > aEndPoint.Y() )
368 aUnoPoint.Y = aEndPoint.Y() - 2;
369 if (pDoc->IsNegativePage(nTab))
371 if ( aUnoPoint.X < aEndPoint.X() )
372 aUnoPoint.X = aEndPoint.X() + 2;
373 aUnoPoint.X -= aUnoSize.Width;
375 if (aCaptionPoint.X > 0 && aCaptionPoint.X > aUnoSize.Width)
376 aUnoPoint.X -= aCaptionPoint.X - aUnoSize.Width;
380 if ( aUnoPoint.X > aEndPoint.X() )
381 aUnoPoint.X = aEndPoint.X() - 2;
382 if (aCaptionPoint.X < 0)
383 aUnoPoint.X -= aCaptionPoint.X;
385 if (aCaptionPoint.Y < 0)
386 aUnoPoint.Y -= aCaptionPoint.Y;
388 xShape->setPosition(aUnoPoint);
389 pDocSh->SetModified();
392 if (aAddress.StartRow != aAddress.EndRow)
394 OSL_ENSURE(aAddress.StartRow == 0 && aAddress.EndRow == pDoc->MaxRow() &&
395 aAddress.StartColumn == 0 && aAddress.EndColumn == pDoc->MaxCol(),
"here should be a XSpreadsheet");
400 OSL_ENSURE(aAddress.StartRow == aAddress.EndRow &&
401 aAddress.StartColumn == aAddress.EndColumn,
"here should be a XCell");
403 aAnchor.
maStart =
ScAddress(aAddress.StartColumn, aAddress.StartRow, aAddress.Sheet);
447 uno::Reference< uno::XInterface > xImageMapInt(aValue, uno::UNO_QUERY);
450 throw lang::IllegalArgumentException();
485 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
487 uno::Reference<drawing::XShape> xShape(
mxShapeAgg, uno::UNO_QUERY );
492 awt::Point aPoint(xShape->getPosition());
493 awt::Size aSize(xShape->getSize());
494 awt::Point aCaptionPoint;
504 if (aCaptionPoint.X > 0 && aCaptionPoint.X > aSize.Width)
505 nPos -= aCaptionPoint.X - aSize.Width;
509 if (aCaptionPoint.X < 0)
510 nPos -= aCaptionPoint.X;
514 xShape->setPosition(aPoint);
515 pDocSh->SetModified();
522 awt::Point aCaptionPoint;
524 awt::Point aUnoPoint(
lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
531 aUnoPoint.X += aPoint.X();
532 if (aUnoPoint.X < aEndPoint.X())
533 aUnoPoint.X = aEndPoint.X() + 2;
534 aUnoPoint.X -= aUnoSize.Width;
535 if (aCaptionPoint.X > 0 && aCaptionPoint.X > aUnoSize.Width)
536 aUnoPoint.X -= aCaptionPoint.X - aUnoSize.Width;
543 aUnoPoint.X += aPoint.X();
544 if (aUnoPoint.X > aEndPoint.X())
545 aUnoPoint.X = aEndPoint.X() - 2;
546 if (aCaptionPoint.X < 0)
547 aUnoPoint.X -= aCaptionPoint.X;
549 aUnoPoint.Y = xShape->getPosition().Y;
550 xShape->setPosition(aUnoPoint);
551 pDocSh->SetModified();
555 OSL_FAIL(
"unknown anchor type");
585 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
587 uno::Reference<drawing::XShape> xShape(
mxShapeAgg, uno::UNO_QUERY );
592 awt::Point aPoint = xShape->getPosition();
593 awt::Point aCaptionPoint;
596 if (aCaptionPoint.Y < 0)
597 nPos -= aCaptionPoint.Y;
600 xShape->setPosition(aPoint);
601 pDocSh->SetModified();
608 awt::Point aCaptionPoint;
610 awt::Point aUnoPoint(
lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
615 aUnoPoint.Y += aPoint.Y();
616 if (aUnoPoint.Y > aEndPoint.Y())
617 aUnoPoint.Y = aEndPoint.Y() - 2;
618 if (aCaptionPoint.Y < 0)
619 aUnoPoint.Y -= aCaptionPoint.Y;
620 aUnoPoint.X = xShape->getPosition().X;
621 xShape->setPosition(aUnoPoint);
622 pDocSh->SetModified();
626 OSL_FAIL(
"unknown anchor type");
641 if (pObj && (aValue >>= sHyperlink))
649 if( aValue >>= aProt )
650 pObj->SetMoveProtect( aProt );
683 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
685 uno::Reference< uno::XInterface > xAnchor;
687 xAnchor.set(static_cast<cppu::OWeakObject*>(
new ScCellObj( pDocSh, pAnchor->maStart)));
689 xAnchor.set(static_cast<cppu::OWeakObject*>(
new ScTableSheetObj( pDocSh, nTab )));
699 bool bIsResizeWithCell =
false;
706 aAny <<= bIsResizeWithCell;
710 uno::Reference< uno::XInterface > xImageMap;
723 aAny <<= uno::Reference< container::XIndexContainer >::query( xImageMap );
741 uno::Reference<drawing::XShape> xShape(
mxShapeAgg, uno::UNO_QUERY );
748 awt::Point aCaptionPoint;
750 awt::Point aUnoPoint(
lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
753 aAny <<= aUnoPoint.X;
757 awt::Point aCaptionPoint;
758 awt::Point aUnoPoint(xShape->getPosition());
759 awt::Size aUnoSize(xShape->getSize());
763 aUnoPoint.X -= aUnoSize.Width;
769 if (aCaptionPoint.X > 0 && aCaptionPoint.X > aUnoSize.Width)
770 aUnoPoint.X -= aCaptionPoint.X - aUnoSize.Width;
774 if (aCaptionPoint.X < 0)
775 aUnoPoint.X += aCaptionPoint.X;
778 aAny <<= aUnoPoint.X;
802 uno::Reference<drawing::XShape> xShape(
mxShapeAgg, uno::UNO_QUERY );
809 awt::Point aCaptionPoint;
811 awt::Point aUnoPoint(
lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ));
813 aAny <<= aUnoPoint.Y;
817 awt::Point aUnoPoint(xShape->getPosition());
818 awt::Point aCaptionPoint;
821 if (aCaptionPoint.Y < 0)
822 aUnoPoint.Y += aCaptionPoint.Y;
824 aAny <<= aUnoPoint.Y;
837 sHlink = pObj->getHyperlink();
844 aProt = pObj->IsMoveProtect();
859 const uno::Reference<beans::XPropertyChangeListener>& aListener)
869 const uno::Reference<beans::XPropertyChangeListener>& aListener)
879 const uno::Reference<beans::XVetoableChangeListener>& aListener)
889 const uno::Reference<beans::XVetoableChangeListener>& aListener)
904 beans::PropertyState eRet = beans::PropertyState_DIRECT_VALUE;
932 const uno::Sequence<OUString>& aPropertyNames )
938 uno::Sequence<beans::PropertyState> aRet(aPropertyNames.getLength());
939 std::transform(aPropertyNames.begin(), aPropertyNames.end(), aRet.getArray(),
940 [
this](
const OUString& rName) -> beans::PropertyState {
return getPropertyState(rName); });
982 aAny <<= uno::Reference< container::XIndexContainer >::query( xImageMap );
1000 throw lang::IllegalArgumentException();
1007 uno::Reference<text::XTextRange> xRet;
1016 if ( pPage && pDoc )
1019 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
1029 xRet.set(
new ScCellObj( pDocSh, aRange.aStart ));
1045 if ( xAggComp.is() )
1046 xAggComp->dispose();
1050 const uno::Reference<lang::XEventListener>& xListener )
1055 if ( xAggComp.is() )
1056 xAggComp->addEventListener(xListener);
1060 const uno::Reference<lang::XEventListener>& xListener )
1065 if ( xAggComp.is() )
1066 xAggComp->removeEventListener(xListener);
1072 static void lcl_CopyOneProperty( beans::XPropertySet& rDest, beans::XPropertySet& rSource,
const OUString& aNameStr )
1076 rDest.setPropertyValue( aNameStr, rSource.getPropertyValue( aNameStr ) );
1078 catch (uno::Exception&)
1085 const uno::Reference<text::XTextContent>& xContent,
1090 uno::Reference<text::XTextContent> xEffContent;
1092 ScEditFieldObj* pCellField = comphelper::getFromUnoTunnel<ScEditFieldObj>( xContent );
1100 xEffContent.set(pDrawField);
1106 xEffContent.set(xContent);
1109 if ( xAggText.is() )
1110 xAggText->insertTextContent( xRange, xEffContent, bAbsorb );
1120 if ( xAggText.is() )
1121 xAggText->removeTextContent( xContent );
1140 return uno::Reference<text::XTextCursor>();
1144 const uno::Reference<text::XTextRange>& aTextPosition )
1153 SvxUnoTextRangeBase* pRange = comphelper::getFromUnoTunnel<SvxUnoTextRangeBase>( aTextPosition );
1154 if ( pText && pRange )
1157 pCursor->SetSelection( pRange->GetSelection() );
1162 return uno::Reference<text::XTextCursor>();
1166 const OUString& aString,
sal_Bool bAbsorb )
1171 if ( !xAggSimpleText.is() )
1172 throw uno::RuntimeException();
1174 xAggSimpleText->insertString( xRange, aString, bAbsorb );
1178 sal_Int16 nControlCharacter,
sal_Bool bAbsorb )
1183 if ( !xAggSimpleText.is() )
1184 throw uno::RuntimeException();
1186 xAggSimpleText->insertControlCharacter( xRange, nControlCharacter, bAbsorb );
1202 if ( !xAggTextRange.is() )
1203 throw uno::RuntimeException();
1205 return xAggTextRange->getStart();
1213 if ( !xAggTextRange.is() )
1214 throw uno::RuntimeException();
1216 return xAggTextRange->getEnd();
1224 if ( !xAggTextRange.is() )
1225 throw uno::RuntimeException();
1227 return xAggTextRange->getString();
1235 if ( !xAggTextRange.is() )
1236 throw uno::RuntimeException();
1238 xAggTextRange->setString( aText );
1255 if ( pPage && pDoc )
1258 if (
auto pDocSh = dynamic_cast<ScDocShell*>( pObjSh) )
1276 throw lang::NoSupportException();
1283 uno::Sequence< uno::Type > aBaseTypes( ScShapeObj_Base::getTypes() );
1285 uno::Sequence< uno::Type > aTextTypes;
1289 uno::Reference<lang::XTypeProvider> xBaseProvider;
1292 OSL_ENSURE( xBaseProvider.is(),
"ScShapeObj: No XTypeProvider from aggregated shape!" );
1294 uno::Sequence< uno::Type > aAggTypes;
1295 if( xBaseProvider.is() )
1296 aAggTypes = xBaseProvider->getTypes();
1298 return ::comphelper::concatSequences( aBaseTypes, aTextTypes, aAggTypes );
1303 return css::uno::Sequence<sal_Int8>();
1336 throw container::NoSuchElementException();
1337 uno::Sequence< beans::PropertyValue >
aProperties;
1338 aElement >>= aProperties;
1339 bool isEventType =
false;
1340 for(
const beans::PropertyValue& rProperty : std::as_const(aProperties) )
1350 if ( rProperty.Value >>= sValue )
1353 OSL_ENSURE( pInfo,
"shape macro info could not be created!" );
1365 uno::Sequence< beans::PropertyValue >
aProperties;
1370 throw container::NoSuchElementException();
1373 if ( pInfo && !pInfo->
GetMacro().isEmpty() )
1407 ::uno::Reference< container::XNameReplace > SAL_CALL
1415 return "com.sun.star.comp.sc.ScShapeObj";
1425 uno::Reference<lang::XServiceInfo> xSI;
1426 if ( mxShapeAgg.is() )
1429 uno::Sequence< OUString > aSupported;
1431 aSupported = xSI->getSupportedServiceNames();
1433 aSupported.realloc( aSupported.getLength() + 1 );
1434 aSupported.getArray()[ aSupported.getLength() - 1 ] =
"com.sun.star.sheet.Shape";
1436 if( bIsNoteCaption )
1438 aSupported.realloc( aSupported.getLength() + 1 );
1439 aSupported.getArray()[ aSupported.getLength() - 1 ] =
"com.sun.star.sheet.CellAnnotationShape";
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
virtual uno::Sequence< OUString > SAL_CALL getElementNames() override
#define SC_UNONAME_HORIPOS
SdrObject * GetSdrObject() const noexcept
static uno::Reference< lang::XComponent > lcl_GetComponent(const uno::Reference< uno::XAggregation > &xAgg)
static bool lcl_GetCaptionPoint(const uno::Reference< drawing::XShape > &xShape, awt::Point &rCaptionPoint)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
constexpr OUStringLiteral SC_EVENTACC_EVENTTYPE
void SetImageMap(const ImageMap &rIMap)
virtual const tools::Rectangle & GetCurrentBoundRect() const
css::beans::XPropertyState * pShapePropertyState
static uno::Reference< text::XSimpleText > lcl_GetSimpleText(const uno::Reference< uno::XAggregation > &xAgg)
SC_DLLPUBLIC bool IsNegativePage(SCTAB nTab) const
const OUString & GetMacro() const
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
#define SC_UNONAME_RESIZE_WITH_CELL
static void SetPageAnchored(SdrObject &)
void setHyperlink(const OUString &sHyperlink)
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
static ScMacroInfo * GetMacroInfo(SdrObject *pObj, bool bCreate=false)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
static ScDrawObjData * GetObjData(SdrObject *pObj, bool bCreate=false)
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual sal_Bool SAL_CALL hasElements() override
bool SvUnoImageMap_fillImageMap(const Reference< XInterface > &xImageMap, ImageMap &rMap)
static const SfxItemPropertyMapEntry * lcl_GetShapeMap()
css::uno::Reference< css::beans::XPropertySetInfo > mxPropSetInfo
SC_DLLPUBLIC ScRange GetRange(SCTAB nTab, const tools::Rectangle &rMMRect, bool bHiddenAsZero=true) const
static uno::Reference< text::XTextRange > lcl_GetTextRange(const uno::Reference< uno::XAggregation > &xAgg)
virtual OUString SAL_CALL getImplementationName() override
virtual uno::Type SAL_CALL getElementType() override
ScShapeObj(css::uno::Reference< css::drawing::XShape > &xShape)
css::beans::XPropertySet * pShapePropertySet
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
constexpr OUStringLiteral SC_EVENTACC_SCRIPT
virtual uno::Any SAL_CALL getByName(const OUString &aName) override
#define SC_UNONAME_ANCHOR
PropertiesInfo aProperties
static ScRange lcl_GetAnchorCell(const uno::Reference< drawing::XShape > &xShape, const ScDocument *pDoc, SCTAB nTab, awt::Point &rUnoPoint, awt::Size &rUnoSize, awt::Point &rCaptionPoint)
SdrPage * getSdrPageFromSdrObject() const
constexpr OUStringLiteral SC_EVENTACC_ONCLICK
static uno::Reference< text::XText > lcl_GetText(const uno::Reference< uno::XAggregation > &xAgg)
virtual void SAL_CALL dispose() override
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual css::uno::Reference< css::text::XTextCursor > SAL_CALL createTextCursorByRange(const css::uno::Reference< css::text::XTextRange > &aTextPosition) override
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
void GetShapePropertyState()
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL replaceByName(const OUString &aName, const uno::Any &aElement) override
ScDocument * GetDocument() const
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &xParent) override
static void SetCellAnchored(SdrObject &, const ScDrawObjData &rAnchor)
#define TOOLS_WARN_EXCEPTION(area, stream)
static awt::Point lcl_GetRelativePos(const uno::Reference< drawing::XShape > &xShape, const ScDocument *pDoc, SCTAB nTab, ScRange &rRange, awt::Size &rUnoSize, awt::Point &rCaptionPoint)
ScMacroInfo * getInfo(bool bCreate)
virtual void SAL_CALL insertControlCharacter(const css::uno::Reference< css::text::XTextRange > &xRange, sal_Int16 nControlCharacter, sal_Bool bAbsorb) override
static ScAnchorType GetAnchorType(const SdrObject &)
static ScDrawObjData * GetNoteCaptionData(SdrObject *pObj, SCTAB nTab)
Returns the object data, if the passed object is a cell note caption.
virtual ~ScShapeObj() override
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
virtual void SAL_CALL acquire() noexcept override
const SdrPage * GetPage(sal_uInt16 nPgNum) const
void SetMacro(const OUString &rMacro)
#define SC_UNONAME_TARGET
virtual void SAL_CALL insertString(const css::uno::Reference< css::text::XTextRange > &xRange, const OUString &aString, sal_Bool bAbsorb) override
SdrModel & getSdrModelFromSdrObject() const
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
inline::Point VCLPoint(const css::awt::Point &rAWTPoint)
css::uno::Type const & get()
SC_DLLPUBLIC tools::Rectangle GetMMRect(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
virtual css::uno::Reference< css::text::XText > SAL_CALL getText() override
virtual void SAL_CALL setString(const OUString &aString) override
virtual void SAL_CALL attach(const css::uno::Reference< css::text::XTextRange > &xTextRange) override
void AppendUserData(std::unique_ptr< SdrObjUserData > pData)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
ShapeUnoEventAccessImpl(ScShapeObj *pShape)
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
css::uno::Reference< css::uno::XAggregation > mxShapeAgg
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL removeTextContent(const css::uno::Reference< css::text::XTextContent > &xContent) override
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
#define SC_UNONAME_VERTPOS
static ScDrawObjData * GetObjDataTab(SdrObject *pObj, SCTAB nTab)
virtual OUString SAL_CALL getString() override
#define SC_UNONAME_HYPERLINK
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
really derive cell from range?
static void UpdateCellAnchorFromPositionEnd(const SdrObject &rObj, ScDrawObjData &rAnchor, const ScDocument &rDoc, SCTAB nTab, bool bUseLogicRect=true)
virtual void SAL_CALL release() noexcept override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getAnchor() override
Sequence< sal_Int8 > aSeq
virtual void SAL_CALL insertTextContent(const css::uno::Reference< css::text::XTextRange > &xRange, const css::uno::Reference< css::text::XTextContent > &xContent, sal_Bool bAbsorb) override
static void lcl_CopyOneProperty(beans::XPropertySet &rDest, beans::XPropertySet &rSource, const OUString &aNameStr)
const ImageMap & GetImageMap() const
static bool IsNoteCaption(SdrObject *pObj)
Returns true, if the passed object is the caption of a cell note.
Reference< XInterface > SvUnoImageMap_createInstance()
SfxObjectShell * GetDocumentShell() const
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
void GetShapePropertySet()
static bool lcl_GetPageNum(const SdrPage *pPage, SdrModel &rModel, SCTAB &rNum)
virtual css::uno::Reference< css::container::XNameReplace > SAL_CALL getEvents() override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
static const SvEventDescription * GetSupportedMacroItems()
virtual css::uno::Reference< css::text::XTextCursor > SAL_CALL createTextCursor() override
#define SC_UNONAME_IMAGEMAP
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
#define SC_UNONAME_MOVEPROTECT
sal_uInt16 GetPageCount() const
ScMacroInfo * ScShapeObj_getShapeHyperMacroInfo(const ScShapeObj *pShape, bool bCreate=false)
bool m_bDetectedRangeSegmentation false
static SvxIMapInfo * GetIMapInfo(const SdrObject *pObject)