21#include <com/sun/star/awt/XBitmap.hpp>
22#include <com/sun/star/awt/Rectangle.hpp>
23#include <com/sun/star/drawing/CircleKind.hpp>
24#include <com/sun/star/lang/NoSupportException.hpp>
28#include <osl/mutex.hxx>
101#include <bitmaps.hlst>
103using namespace ::
osl;
104using namespace ::
cppu;
145 static constexpr OUStringLiteral sPosition =
u"Position";
146 explicit ShapePositionProvider(
SvxShape& _shape )
154 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getPosition();
162 static constexpr OUStringLiteral sSize =
u"Size";
163 explicit ShapeSizeProvider(
SvxShape& _shape )
171 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getSize();
176double GetTextFitToSizeScale(
SdrObject* pObject)
186 != drawing::TextFitToSizeType_AUTOFIT)
198, mbIsMultiPropertyCall(false)
211, mbIsMultiPropertyCall(false)
212, mpPropSet(pPropertySet)
213, maPropMapEntries(pEntries)
228 mpImpl->mpMaster->dispose();
264 mpImpl->mpMaster = pMaster;
273 if(
mpImpl->mpMaster->queryAggregation( rType, aAny ) )
280const css::uno::Sequence< sal_Int8 > & SvxShape::getUnoTunnelId() noexcept
283 return theSvxShapeUnoTunnelId.
getSeq();
286sal_Int64 SAL_CALL SvxShape::getSomething(
const css::uno::Sequence< sal_Int8 >& rId )
295 mpImpl->maPropertyNotifier.notifyPropertyChange(g, eProp);
300 mpImpl->maPropertyNotifier.registerProvider(eProp, std::move(provider));
306 std::make_unique<ShapePositionProvider>( *
this ) );
308 std::make_unique<ShapeSizeProvider>( *
this ) );
321 OSL_PRECOND(
HasSdrObject(),
"SvxShape::impl_initFromSdrObject: not to be called without SdrObject!" );
365 assert( pNewObj &&
"SvxShape::Create: invalid new object!" );
370 assert( ( !pCreatedObj || ( pCreatedObj == pNewObj ) ) &&
371 "SvxShape::Create: the same shape used for two different objects?! Strange ..." );
374 if ( pCreatedObj == pNewObj )
378 mpImpl->mxCreatedObj = pNewObj;
424 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
425 if(eMapUnit == MapUnit::Map100thMM)
435 OSL_FAIL(
"AW: Missing unit translation to PoolMetric!");
445 GetSdrObject()->ForceMetricToItemPoolMetric(rPolyPolygon);
454 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
455 if(eMapUnit == MapUnit::Map100thMM)
463 aDecomposedTransform.
getScale() * fConvert,
470 OSL_FAIL(
"Missing unit translation to PoolMetric!");
480 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
481 if(eMapUnit == MapUnit::Map100thMM)
491 OSL_FAIL(
"AW: Missing unit translation to 100th mm!");
501 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
502 if(eMapUnit == MapUnit::Map100thMM)
512 OSL_FAIL(
"Missing unit translation to 100th mm!");
522 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
523 if(eMapUnit == MapUnit::Map100thMM)
531 aDecomposedTransform.
getScale() * fConvert,
538 OSL_FAIL(
"Missing unit translation to 100th mm!");
552 const sal_uInt16 nWID = pSrcProp->nWID;
554 && (nWID < OWN_ATTR_VALUE_START || nWID > OWN_ATTR_VALUE_END)
571 if(pEntry->
nWID >= OWN_ATTR_VALUE_START && pEntry->
nWID <= OWN_ATTR_VALUE_END)
575 xSet->setPropertyValue( pSrcProp->aName, *pUsrAny);
595 Reference< beans::XPropertySet > xShape(
this);
629 if(
nullptr != pSdrGrafObj)
633 if(GraphicType::Bitmap == rGraphic.
GetType())
635 Reference< awt::XBitmap > xBmp( rGraphic.
GetXGraphic(), UNO_QUERY );
652 pVDev->SetMapMode(
MapMode(MapUnit::Map100thMM));
653 pVDev->EnableOutput(
false);
670 const uno::Sequence<sal_Int8>
aSeq(
681 if(!xPrimitives.empty())
691 if(MapUnit::Map100thMM != aSourceMapUnit)
700 MapMode(MapUnit::Map100thMM)));
706 std::move(xPrimitives)));
718 std::move(xPrimitives),
726 Reference< awt::XBitmap > xBmp( aGraph.
GetXGraphic(), UNO_QUERY );
739 return mpImpl->mpMaster->getTypes();
765 static uno::Sequence<uno::Type> aTypeSequence{
780 return aTypeSequence;
785 static uno::Sequence<uno::Type> aTypeSequence{
802 return aTypeSequence;
807 static uno::Sequence<uno::Type> aTypeSequence{
828 return aTypeSequence;
833 static uno::Sequence<uno::Type> aTypeSequence{
849 return aTypeSequence;
854 static uno::Sequence<uno::Type> aTypeSequence{
870 return aTypeSequence;
874 static uno::Sequence<uno::Type> aTypeSequence{
894 return aTypeSequence;
915 static uno::Sequence<uno::Type> aTypeSequence{
935 return aTypeSequence;
943 return css::uno::Sequence<sal_Int8>();
951 if (rHint.GetId() != SfxHintId::ThisIsAnSdrHint)
963 uno::Reference< uno::XInterface > xSelf( mxSdrObject->getWeakUnoShape() );
966 EndListening(mxSdrObject->getSdrModelFromSdrObject());
977 EndListening(mxSdrObject->getSdrModelFromSdrObject());
978 mxSdrObject->setUnoShape(
nullptr);
981 if(!mpImpl->mbDisposing)
1057 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
1061 return css::awt::Point( aPt.
X(), aPt.
Y() );
1085 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
1123 Size aLocalSize( rSize.Width, rSize.Height );
1136 if ( !aLocalSize.
Width() )
1142 if ( !aLocalSize.
Height() )
1204 if(
mpImpl->mbDisposing )
1207 mpImpl->mbDisposing =
true;
1209 lang::EventObject aEvt;
1211 mpImpl->maDisposeListeners.disposeAndClear(g, aEvt);
1212 mpImpl->maPropertyNotifier.disposing(g);
1220 if (
pObject->IsInserted() &&
pObject->getSdrPageFromSdrObject() )
1225 for (
size_t nNum = 0; nNum <
nCount; ++nNum )
1236 pObject->setUnoShape(
nullptr);
1243 mpImpl->maDisposeListeners.addInterface(g, xListener);
1250 mpImpl->maDisposeListeners.removeInterface(g, aListener);
1256Reference< beans::XPropertySetInfo > SAL_CALL
1261 return mpImpl->mpMaster->getPropertySetInfo();
1269Reference< beans::XPropertySetInfo >
const &
1279 mpImpl->maPropertyNotifier.addPropertyChangeListener( g, _propertyName, _listener );
1286 mpImpl->maPropertyNotifier.removePropertyChangeListener( g, _propertyName, _listener );
1292 OSL_FAIL(
"SvxShape::addVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1298 OSL_FAIL(
"SvxShape::removeVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1338 if( !pBitmapList.is() )
1354 if( !pGradientList.is() )
1370 if( !pHatchList.is() )
1387 if( !pLineEndList.is() )
1412 if( !pDashList.is() )
1437 if (
aName.isEmpty())
1482 mpImpl->mpMaster->setPropertyValue( rPropertyName, rVal );
1502 if (pMap && pMap->
nWID)
1515 if (rPropertyName ==
"HandlePathObjScale")
1520 bool bHandleScale{};
1521 if (rVal >>= bHandleScale)
1532 SAL_WARN_IF(rPropertyName !=
"FromWordArt" && rPropertyName !=
"GraphicColorMode",
1533 "svx.uno",
"Unknown Property: " << rPropertyName);
1534 throw beans::UnknownPropertyException( rPropertyName, getXWeak());
1537 if ((pMap->
nFlags & beans::PropertyAttribute::READONLY) != 0)
1538 throw beans::PropertyVetoException(
1539 "Readonly property can't be set: " + rPropertyName,
1540 uno::Reference<drawing::XShape>(
this));
1548 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1554 sal_Int32 nCornerRadius = 0;
1555 if( !(rVal >>= nCornerRadius) || (nCornerRadius < 0) || (nCornerRadius > 5000000))
1556 throw IllegalArgumentException();
1559 std::optional<SfxItemSet> xLocalSet;
1565 mpImpl->mxItemSet.emplace(
GetSdrObject()->GetProperties().CreateObjectSpecificItemSet(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool() ) );
1567 pSet = &*
mpImpl->mxItemSet;
1571 xLocalSet.emplace(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool(), pMap->
nWID, pMap->
nWID);
1578 if( !SvxUnoTextRangeBase::SetPropertyValueHelper( pMap, rVal, *pSet ))
1593 pSet->
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1620 return mpImpl->mpMaster->getPropertyValue( PropertyName );
1635 if(pMap ==
nullptr )
1636 throw beans::UnknownPropertyException( PropertyName, getXWeak());
1641 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1646 if(SvxUnoTextRangeBase::GetPropertyValueHelper( aSet, pMap, aAny ))
1662 aSet.
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1674 if(pMap && pMap->
nWID)
1688 const sal_Int32
nCount = aPropertyNames.getLength();
1689 if (
nCount != aValues.getLength())
1690 throw css::lang::IllegalArgumentException(
"lengths do not match",
1693 const OUString* pNames = aPropertyNames.getConstArray();
1704 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pNames++,
pValues++ )
1710 catch (beans::UnknownPropertyException&)
1714 catch (uno::Exception&)
1722 uno::Reference< beans::XPropertySet > xSet;
1725 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pNames++,
pValues++ )
1729 xSet->setPropertyValue( *pNames, *
pValues );
1731 catch (beans::UnknownPropertyException&)
1735 catch (uno::Exception&)
1750 mpImpl->mxItemSet.reset();
1756 const sal_Int32
nCount = aPropertyNames.getLength();
1757 const OUString* pNames = aPropertyNames.getConstArray();
1759 uno::Sequence< uno::Any > aRet(
nCount );
1760 uno::Any* pValue = aRet.getArray();
1764 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pValue++, pNames++ )
1770 catch( uno::Exception& )
1772 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1778 uno::Reference< beans::XPropertySet > xSet;
1781 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pValue++, pNames++ )
1785 *pValue = xSet->getPropertyValue( *pNames );
1787 catch( uno::Exception& )
1789 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1821 Degree100 nAngle = pPoolItem->GetValue();
1822 aAny <<= nAngle.
get();
1831 Degree100 nAngle = pPoolItem->GetValue();
1832 aAny <<= nAngle.
get();
1841 drawing::CircleKind eKind;
1845 eKind = drawing::CircleKind_FULL;
1848 eKind = drawing::CircleKind_CUT;
1851 eKind = drawing::CircleKind_ARC;
1854 eKind = drawing::CircleKind_SECTION;
1868 if( pMap->
aType != aAny.getValueType() )
1875 aAny <<= static_cast<sal_Int16>(
nValue);
1879 OSL_FAIL(
"SvxShape::GetAnyForItem() Returnvalue has wrong Type!" );
1895 return mpImpl->mpMaster->getPropertyState( PropertyName );
1910 throw beans::UnknownPropertyException( PropertyName, getXWeak());
1912 beans::PropertyState eState;
1919 case SfxItemState::SET:
1920 eState = beans::PropertyState_DIRECT_VALUE;
1922 case SfxItemState::DEFAULT:
1923 eState = beans::PropertyState_DEFAULT_VALUE;
1926 eState = beans::PropertyState_AMBIGUOUS_VALUE;
1931 if( beans::PropertyState_DIRECT_VALUE == eState )
1933 switch( pMap->
nWID )
1944 if( ( pItem ==
nullptr ) || pItem->
GetName().isEmpty() )
1945 eState = beans::PropertyState_DEFAULT_VALUE;
1959 if ( pItem ==
nullptr )
1960 eState = beans::PropertyState_DEFAULT_VALUE;
1970 eState = beans::PropertyState_DEFAULT_VALUE;
1976 sal_Int16 nLumMod = 10000;
1980 nLumMod = rTransform.mnValue;
1982 if (nLumMod == 10000)
1984 eState = beans::PropertyState_DEFAULT_VALUE;
1990 sal_Int16 nLumOff = 0;
1994 nLumOff = rTransform.mnValue;
1998 eState = beans::PropertyState_DEFAULT_VALUE;
2006 eState = beans::PropertyState_DEFAULT_VALUE;
2016 eState = beans::PropertyState_DEFAULT_VALUE;
2029 switch( pProperty->
nWID )
2034 if( rValue >>= aPnt )
2036 Point aVclPoint( aPnt.X, aPnt.Y );
2045 pSdrObject->TRGetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2051 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2053 aVclPoint += pSdrObject->GetAnchorPos();
2056 static_cast<SdrCaptionObj*
>(pSdrObject.get())->SetTailPos(aVclPoint);
2064 drawing::HomogenMatrix3 aMatrix;
2065 if(rValue >>= aMatrix)
2071 pSdrObject->TRGetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2073 aNewHomogenMatrix.
set(0, 0, aMatrix.Line1.Column1);
2074 aNewHomogenMatrix.
set(0, 1, aMatrix.Line1.Column2);
2075 aNewHomogenMatrix.
set(0, 2, aMatrix.Line1.Column3);
2076 aNewHomogenMatrix.
set(1, 0, aMatrix.Line2.Column1);
2077 aNewHomogenMatrix.
set(1, 1, aMatrix.Line2.Column2);
2078 aNewHomogenMatrix.
set(1, 2, aMatrix.Line2.Column3);
2080 assert( aMatrix.Line3.Column1 == 0 );
2081 assert( aMatrix.Line3.Column2 == 0 );
2082 assert( aMatrix.Line3.Column3 == 1 );
2088 pSdrObject->TRSetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2096 sal_Int32 nNewOrdNum = 0;
2097 if(rValue >>= nNewOrdNum)
2099 SdrObjList* pObjList = pSdrObject->getParentSdrObjListFromSdrObject();
2108 awt::Rectangle aUnoRect;
2109 if(rValue >>= aUnoRect)
2111 Point aTopLeft( aUnoRect.X, aUnoRect.Y );
2112 Size aObjSize( aUnoRect.Width, aUnoRect.Height );
2116 pSdrObject->SetSnapRect(aRect);
2124 if(rValue >>= bMirror )
2144 switch(pProperty->
nWID)
2149 Reference< drawing::XShape > xShape;
2150 if( rValue >>= xShape )
2166 awt::Point aUnoPoint;
2167 if( rValue >>= aUnoPoint )
2169 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2175 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2176 aPoint += pSdrObject->GetAnchorPos();
2188 if( rValue >>=
nId )
2200 if(
auto s = o3tl::tryAccess<drawing::PointSequenceSequence>(rValue) )
2206 else if(
auto cs = o3tl::tryAccess<drawing::PolyPolygonBezierCoords>(rValue) )
2213 if(aNewPolyPolygon.
count())
2217 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2219 Point aPoint( pSdrObject->GetAnchorPos() );
2234 awt::Point aUnoPoint;
2235 if(pMeasureObj && ( rValue >>= aUnoPoint ) )
2237 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2241 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2242 aPoint += pSdrObject->GetAnchorPos();
2253 drawing::BitmapMode
eMode;
2254 if(!(rValue >>=
eMode) )
2256 sal_Int32 nMode = 0;
2257 if(!(rValue >>= nMode))
2260 eMode =
static_cast<drawing::BitmapMode
>(nMode);
2269 sal_Int16 nLayerId = sal_Int16();
2270 if( rValue >>= nLayerId )
2272 SdrLayer* pLayer = pSdrObject->getSdrModelFromSdrObject().GetLayerAdmin().GetLayerPerID(
SdrLayerID(nLayerId));
2284 OUString aLayerName;
2285 if( rValue >>= aLayerName )
2287 const SdrLayer* pLayer = pSdrObject->getSdrModelFromSdrObject().GetLayerAdmin().GetLayer(aLayerName);
2288 if( pLayer !=
nullptr )
2290 pSdrObject->SetLayer( pLayer->
GetID() );
2299 if( rValue >>= nTmp )
2302 Point aRef1(pSdrObject->GetSnapRect().Center());
2303 nAngle -= pSdrObject->GetRotateAngle();
2308 pSdrObject->Rotate(aRef1,nAngle,nSin,nCos);
2319 if( rValue >>= nTmp )
2322 nShear -= pSdrObject->GetShearAngle();
2325 Point aRef1(pSdrObject->GetSnapRect().Center());
2327 pSdrObject->Shear(aRef1,nShear,nTan,
false);
2337 pSdrObject->SetGrabBagItem(rValue);
2344 if( rValue >>= bMoveProtect )
2346 pSdrObject->SetMoveProtect(bMoveProtect);
2354 if( rValue >>=
aName )
2356 pSdrObject->SetName(
aName );
2364 double nMaxScale = 0.0;
2365 if (rValue >>= nMaxScale)
2369 pSdrObject->SetMergedItem(aItem);
2379 if( rValue >>= aTitle )
2381 pSdrObject->SetTitle( aTitle );
2388 OUString aDescription;
2389 if( rValue >>= aDescription )
2391 pSdrObject->SetDescription( aDescription );
2399 if (rValue >>= isDecorative)
2401 pSdrObject->SetDecorative(isDecorative);
2410 if( rValue >>= bPrintable )
2412 pSdrObject->SetPrintable(bPrintable);
2429 bool bResizeProtect;
2430 if( rValue >>= bResizeProtect )
2432 pSdrObject->SetResizeProtect(bResizeProtect);
2439 sal_Int32 nPageNum = 0;
2440 if( (rValue >>= nPageNum) && ( nPageNum >= 0 ) && ( nPageNum <= 0xffff ) )
2447 const sal_uInt16 nDestinationPageNum(
static_cast<sal_uInt16
>((nPageNum << 1) - 1));
2451 pNewPage = rModel.
GetPage(nDestinationPageNum);
2472 if( rValue >>= aApiName )
2489 css::uno::Reference<css::text::XTextColumns> xTextColumns;
2490 if (rValue >>= xTextColumns)
2493 if (css::uno::Reference<css::beans::XPropertySet> xPropSet{ xTextColumns,
2494 css::uno::UNO_QUERY })
2496 auto aVal = xPropSet->getPropertyValue(
"AutomaticDistance");
2497 if (sal_Int32 nSpacing; aVal >>= nSpacing)
2507 OUString sHyperlink;
2508 if (rValue >>= sHyperlink)
2510 pSdrObject->setHyperlink(sHyperlink);
2531 OUString sExceptionMessage(
2532 "IllegalArgumentException in SvxShape::setPropertyValueImpl."
2534 + pProperty->
aType.getTypeName() +
" Property Name: " + pProperty->
aName
2535 +
" Property nWID: " + OUString::number(pProperty->
nWID)
2536 +
" Value Type: " + (rValue.hasValue() ? rValue.getValueTypeName() :
"void (no value)"));
2538 throw lang::IllegalArgumentException(sExceptionMessage,
nullptr, 1);
2544 switch( pProperty->
nWID )
2568 awt::Point aPnt( aVclPoint.
X(), aVclPoint.
Y() );
2578 drawing::HomogenMatrix3 aMatrix;
2584 aMatrix.Line1.Column1 = aNewHomogenMatrix.
get(0, 0);
2585 aMatrix.Line1.Column2 = aNewHomogenMatrix.
get(0, 1);
2586 aMatrix.Line1.Column3 = aNewHomogenMatrix.
get(0, 2);
2587 aMatrix.Line2.Column1 = aNewHomogenMatrix.
get(1, 0);
2588 aMatrix.Line2.Column2 = aNewHomogenMatrix.
get(1, 1);
2589 aMatrix.Line2.Column3 = aNewHomogenMatrix.
get(1, 2);
2590 aMatrix.Line3.Column1 = 0;
2591 aMatrix.Line3.Column2 = 0;
2592 aMatrix.Line3.Column3 = 1;
2601 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetOrdNum());
2608 if(!rValue.hasValue())
2609 throw uno::RuntimeException();
2616 bool bIsFontwork =
false;
2619 rValue <<= bIsFontwork;
2630 css::awt::Rectangle aUnoRect(
2631 aTopLeft.
X(), aTopLeft.
Y(),
2633 rValue <<= aUnoRect;
2644 css::awt::Rectangle aUnoRect(
2645 aTopLeft.
X(), aTopLeft.
Y(),
2647 rValue <<= aUnoRect;
2663 sId = RID_UNODRAW_OLE2;
2667 sId = RID_UNODRAW_GRAPHICS;
2671 sId = RID_UNODRAW_OBJECTS;
2683 bool bMirror =
false;
2686 bMirror = pGrafObj->IsMirrored();
2703 switch(pProperty->
nWID)
2723 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2727 awt::Point aUnoPoint( aPoint.
X(), aPoint.
Y() );
2729 rValue <<= aUnoPoint;
2741 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2748 drawing::PolyPolygonBezierCoords aRetval;
2765 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2770 awt::Point aUnoPoint( aPoint.
X(), aPoint.
Y() );
2772 rValue <<= aUnoPoint;
2784 rValue <<= drawing::BitmapMode_REPEAT;
2788 rValue <<= drawing::BitmapMode_STRETCH;
2792 rValue <<= drawing::BitmapMode_NO_REPEAT;
2811 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetRotateAngle());
2815 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetShearAngle());
2846 rValue <<= aDescription;
2853 rValue <<= isDecorative;
2875 sal_Int32 nPageNumber = pPage ? pPage->
GetPageNum() : 0;
2878 rValue <<= nPageNumber;
2909 bool bIsWMF =
false;
2913 if ( aLnk.
GetType() == GfxLinkType::NativeWmf )
2926 const uno::Sequence<sal_Int8>
aSeq(
2947 css::uno::Reference<css::text::XTextColumns> xCols(xIf, css::uno::UNO_QUERY_THROW);
2949 css::uno::Reference<css::beans::XPropertySet> xProp(xIf, css::uno::UNO_QUERY_THROW);
2950 xProp->setPropertyValue(
"AutomaticDistance",
2980 rState = beans::PropertyState_DIRECT_VALUE;
2984 rState = beans::PropertyState_AMBIGUOUS_VALUE;
2987 else if((( pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
2990 rState = beans::PropertyState_DIRECT_VALUE;
3009 else if((pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
3023 const sal_Int32
nCount = aPropertyName.getLength();
3024 uno::Sequence< beans::PropertyState > aRet(
nCount );
3026 std::transform(aPropertyName.begin(), aPropertyName.end(), aRet.getArray(),
3027 [
this](
const OUString& rName) -> beans::PropertyState { return getPropertyState(rName); });
3037 mpImpl->mpMaster->setPropertyToDefault( PropertyName );
3052 throw beans::UnknownPropertyException( PropertyName, getXWeak());
3067 return mpImpl->mpMaster->getPropertyDefault( aPropertyName );
3082 throw beans::UnknownPropertyException( aPropertyName, getXWeak());
3084 if(( pMap->
nWID >= OWN_ATTR_VALUE_START && pMap->
nWID <= OWN_ATTR_VALUE_END ) ||
3092 throw beans::UnknownPropertyException(
"No WhichID " + OUString::number(pMap->
nWID) +
" for " + aPropertyName, getXWeak());
3095 aSet.
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
3107 throw lang::DisposedException();
3132 const uno::Sequence<OUString>& aPropertyNames )
3134 for (
const auto& rPropertyName : aPropertyNames )
3139 const uno::Sequence<OUString>& aPropertyNames )
3141 ::std::vector<uno::Any> ret;
3142 ret.reserve(aPropertyNames.getLength());
3143 std::transform(aPropertyNames.begin(), aPropertyNames.end(), std::back_inserter(ret),
3144 [
this](
const OUString& rName) ->
uno::Any { return getPropertyDefault(rName); });
3145 return uno::Sequence<uno::Any>( ret.data(), ret.size() );
3205 return mpImpl->mpMaster->getSupportedServiceNames();
3225 static const uno::Sequence<OUString> aSvxShape_GroupServices
3228 return aSvxShape_GroupServices;
3232 static const uno::Sequence<OUString> aSvxShape_CustomShapeServices
3248 return aSvxShape_CustomShapeServices;
3252 static const uno::Sequence<OUString> aSvxShape_LineServices
3270 return aSvxShape_LineServices;
3275 static const uno::Sequence<OUString> aSvxShape_RectServices
3292 return aSvxShape_RectServices;
3300 static const uno::Sequence<OUString> aSvxShape_CircServices
3318 return aSvxShape_CircServices;
3324 static const uno::Sequence<OUString> aSvxShape_PathServices
3343 return aSvxShape_PathServices;
3349 static const uno::Sequence<OUString> aSvxShape_PolyServices
3369 return aSvxShape_PolyServices;
3375 static const uno::Sequence<OUString> aSvxShape_FreeLineServices
3395 return aSvxShape_FreeLineServices;
3401 static const uno::Sequence<OUString> aSvxShape_FreeFillServices
3421 return aSvxShape_FreeFillServices;
3428 static const uno::Sequence<OUString> aSvxShape_TextServices
3446 return aSvxShape_TextServices;
3451 static const uno::Sequence<OUString> aSvxShape_GrafServices
3467 return aSvxShape_GrafServices;
3472 static const uno::Sequence<OUString> aSvxShape_Ole2Services
3488 return aSvxShape_Ole2Services;
3493 static const uno::Sequence<OUString> aSvxShape_CaptionServices
3511 return aSvxShape_CaptionServices;
3516 static const uno::Sequence<OUString> aSvxShape_PageServices
3519 return aSvxShape_PageServices;
3524 static const uno::Sequence<OUString> aSvxShape_MeasureServices
3544 return aSvxShape_MeasureServices;
3549 static const uno::Sequence<OUString> aSvxShape_FrameServices
3552 return aSvxShape_FrameServices;
3557 static const uno::Sequence<OUString> aSvxShape_UnoServices
3560 return aSvxShape_UnoServices;
3565 static const uno::Sequence<OUString> aSvxShape_EdgeServices
3584 return aSvxShape_EdgeServices;
3588 static const uno::Sequence<OUString> aSvxShape_MediaServices
3591 return aSvxShape_MediaServices;
3598#if OSL_DEBUG_LEVEL > 0
3600 OSL_ENSURE( nIdent ==
SdrObjKind::UNO,
"SvxShape::_getSupportedServiceNames: SdrInventor::FmForm, but no UNO object?" );
3602 static const uno::Sequence<OUString> aSvxShape_UnoServices
3605 return aSvxShape_UnoServices;
3607 OSL_FAIL(
"SvxShape::_getSupportedServiceNames: could not determine object type!" );
3608 uno::Sequence< OUString >
aSeq;
3621 uno::Reference< container::XIndexContainer > xGluePoints(
mxGluePoints );
3638 if(
nullptr != pSdrObject)
3642 if(
nullptr != pParentSdrObjList)
3652 if(
nullptr != pParentSdrObject)
3661 if(
nullptr != pParentSdrPage)
3672 OSL_FAIL(
"SvxShape::getParent( ): unexpected Parent SdrObjList" );
3677 return uno::Reference<uno::XInterface>();
3682 throw lang::NoSupportException();
3752 sal_Int16 nOldLocks =
static_cast<sal_Int16
>(
mnLockCount);
3766 switch(
mpImpl->mnObjId )
3810 DBG_ASSERT( (
nullptr == GetEditSource()) || (GetEditSource()->getRanges().
size()==1),
3811 "svx::SvxShapeText::~SvxShapeText(), text shape with living text ranges destroyed!");
3816 if( pNewObj && (
nullptr == GetEditSource()))
3843 return "SvxShapeText";
3867 const sal_Int64 nReturn = SvxShape::getSomething( rId );
3871 return SvxUnoTextBase::getSomething( rId );
3877 return css::uno::Sequence<sal_Int8>();
3886 pEditSource->
lock();
3902 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3904 ::GetSelection( maSelection, pForwarder );
3912 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3914 ::GetSelection( maSelection, pForwarder );
3921 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3923 ::GetSelection( maSelection, pForwarder );
3931 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3933 ::GetSelection( maSelection, pForwarder );
3950 css::text::WritingMode
eMode;
3951 if( rValue >>=
eMode )
3967 rValue <<= css::text::WritingMode_TB_RL;
3969 rValue <<= css::text::WritingMode_LR_TB;
4015 uno::Reference< drawing::XShape > xShape( pObj->getUnoShape(), uno::UNO_QUERY );
4022 SvxShape* pSvxShape = comphelper::getFromUnoTunnel<SvxShape>( xInt );
4023 return pSvxShape ? pSvxShape->
GetSdrObject() :
nullptr;
4028 if(!pMap || !pMap->
nWID)
4038 if(!pMap || !pMap->
nWID)
const PropertyValue * pValues
geometry::RealSize2D maSize
css::uno::Reference< css::uno::XInterface > SvxXTextColumns_createInstance() noexcept
constexpr o3tl::Length MapToO3tlLength(MapUnit eU, o3tl::Length ePixelValue=o3tl::Length::px)
const MapMode & GetPrefMapMode() const
const Size & GetPrefSize() const
const sal_uInt8 * GetData() const
sal_uInt32 GetDataSize() const
GfxLinkType GetType() const
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
void SetPrefMapMode(const MapMode &rPrefMapMode)
const GDIMetaFile & GetGDIMetaFile() const
GraphicType GetType() const
GfxLink GetGfxLink() const
void SetPrefSize(const Size &rPrefSize)
OUString const & GetName() const
SAL_WARN_UNUSED_RESULT Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
constexpr tools::Long Y() const
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
bool isSuppressGetBitmap() const
Utility class SdrEdgeObj.
void ConnectToNode(bool bTail1, SdrObject *pObj) override
sal_Int32 getGluePointIndex(bool bTail)
this method is used by the api to return a gluepoint id for a connection.
void SetEdgeTrackPath(const basegfx::B2DPolyPolygon &rPoly)
void SetTailPoint(bool bTail, const Point &rPt)
void setGluePointIndex(bool bTail, sal_Int32 nId=-1)
this method is used by the api to set a gluepoint for a connection nId == -1 : The best default point...
SdrObject * GetConnectedNode(bool bTail1) const override
basegfx::B2DPolyPolygon GetEdgeTrackPath() const
Point GetTailPoint(bool bTail) const
This class represents an embedded or linked bitmap graphic object.
const Graphic & GetGraphic() const
void SetMirrored(bool _bMirrored)
SdrHintKind GetKind() const
const SdrObject * GetObject() const
SdrLayer * GetLayerPerID(SdrLayerID nID)
const OUString & GetName() const
virtual Point GetPoint(sal_uInt32 i) const override
virtual void NbcSetPoint(const Point &rPnt, sal_uInt32 i) override
XBitmapListRef GetBitmapList() const
virtual void SetChanged(bool bFlg=true)
XDashListRef GetDashList() const
XGradientListRef GetGradientList() const
XLineEndListRef GetLineEndList() const
XHatchListRef GetHatchList() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
const SdrLayerAdmin & GetLayerAdmin() const
sal_uInt16 GetPageCount() const
virtual SdrPage * getSdrPageFromSdrObjList() const
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
void SetExistingObjectOrdNum(SdrObject *pExistingObj, size_t nNewObjNum)
Modify ZOrder of an SdrObject, object must already be in the list.
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum)
virtual SdrObject * getSdrObjectFromSdrObjList() const
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
bool IsResizeProtect() const
SdrObjUserCall * GetUserCall() const
const Point & GetAnchorPos() const
const OUString & getHyperlink() const
virtual OUString TakeObjNamePlural() const
virtual void setUnoShape(const css::uno::Reference< css::drawing::XShape > &_rxUnoShape)
Sets a new UNO representation of the shape.
void BroadcastObjectChange() const
bool IsMoveProtect() const
void SetUserCall(SdrObjUserCall *pUser)
void SingleObjectPainter(OutputDevice &rOut) const
virtual SdrInventor GetObjInventor() const
virtual css::uno::Reference< css::drawing::XShape > getUnoShape()
virtual void Move(const Size &rSiz)
SdrModel & getSdrModelFromSdrObject() const
virtual const tools::Rectangle & GetSnapRect() const
virtual void SetLogicRect(const tools::Rectangle &rRect)
virtual const OUString & GetName() const
sdr::contact::ViewContact & GetViewContact() const
void SetMergedItemSetAndBroadcast(const SfxItemSet &rSet, bool bClearAllItems=false)
virtual void SetChanged()
virtual SdrObjKind GetObjIdentifier() const
virtual void SetSnapRect(const tools::Rectangle &rRect)
const SfxItemSet & GetMergedItemSet() const
virtual OUString TakeObjNameSingul() const
void ClearMergedItem(const sal_uInt16 nWhich=0)
virtual SdrLayerID GetLayer() const
void SetMergedItem(const SfxPoolItem &rItem)
void GetGrabBagItem(css::uno::Any &rVal) const
void TakeNotPersistAttr(SfxItemSet &rAttr) const
virtual void SetName(const OUString &rStr, const bool bSetChanged=true)
void ApplyNotPersistAttr(const SfxItemSet &rAttr)
virtual bool TRGetBaseGeometry(basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const
virtual const tools::Rectangle & GetLogicRect() const
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
const Graphic * GetGraphic() const
void SetReferencedPage(SdrPage *pNewPage)
SdrPage * GetReferencedPage() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
css::uno::Reference< css::uno::XInterface > const & getUnoPage()
sal_uInt16 GetPageNum() const
void SetHandleScale(bool bHandleScale)
Scaling is ignored from the transform matrix by default, to not break compatibility.
void SetMaxScale(double nMaxScale)
bool HasTextColumnsSpacing() const
sal_Int32 GetTextColumnsSpacing() const
void SetTextColumnsSpacing(sal_Int32 nSpacing)
double GetFontScale() const
virtual bool IsFontwork() const
virtual void SetVerticalWriting(bool bVertical)
void SetTextColumnsNumber(sal_Int16 nColumns)
bool HasTextColumnsNumber() const
sal_Int16 GetTextColumnsNumber() const
virtual bool IsVerticalWriting() const
Item2Range GetItemSurrogates(sal_uInt16 nWhich) const
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
static bool IsWhich(sal_uInt16 nId)
const SfxItemPropertyMapEntry * getByName(std::u16string_view rName) const
const o3tl::sorted_vector< const SfxItemPropertyMapEntry *, SfxItemPropertyMapCompare > & getPropertyEntries() const
SfxItemPool * GetPool() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void StartListening(SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
void EndListening(SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
constexpr tools::Long getHeight() const
constexpr tools::Long Height() const
constexpr tools::Long getWidth() const
constexpr tools::Long Width() const
std::size_t GetEndOfData() const
virtual bool PutValue(const css::uno::Any &rVal, sal_uInt8 nMemberId) override
css::uno::Any * GetUsrAnyForID(SfxItemPropertyMapEntry const &entry) const
bool AreThereOwnUsrAnys() const
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
const SfxItemPropertyMapEntry * getPropertyMapEntry(std::u16string_view rName) const
static void setPropertyValue(const SfxItemPropertyMapEntry *pMap, const css::uno::Any &rVal, SfxItemSet &rSet, bool bDontConvertNegativeValues)
const SfxItemPropertyMap & getPropertyMap() const
css::uno::Any getPropertyValue(const SfxItemPropertyMapEntry *pMap, SvxItemPropertySetUsrAnys &rAnys) const
this abstract class is the interface for an instance that likes to enhance the functionality of compo...
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
SVXCORE_DLLPUBLIC SvxShapeRect(SdrObject *pObj)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual ~SvxShapeRect() noexcept override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
virtual OUString SAL_CALL getString() override
virtual bool setPropertyToDefaultImpl(const SfxItemPropertyMapEntry *pProperty) override
virtual void SAL_CALL setString(const OUString &aString) override
virtual bool getPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, css::uno::Any &rValue) override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual bool getPropertyStateImpl(const SfxItemPropertyMapEntry *pProperty, css::beans::PropertyState &rState) override
virtual ~SvxShapeText() noexcept override
virtual void unlock() override
called from the XActionLockable interface methods on final unlock
virtual void lock() override
called from the XActionLockable interface methods on initial locking
SvxShapeText(SdrObject *pObj)
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual bool setPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, const css::uno::Any &rValue) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void Create(SdrObject *pNewOpj, SvxDrawPage *pNewPage) override
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyDefaults(const css::uno::Sequence< OUString > &aPropertyNames) override
void ForceMetricTo100th_mm(Pair &rPoint) const noexcept
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
virtual css::uno::Reference< css::container::XIndexContainer > SAL_CALL getGluePoints() override
virtual css::awt::Point SAL_CALL getPosition() override
SvxItemPropertySetUsrAnys maUrsAnys
virtual bool getPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, css::uno::Any &rValue)
virtual OUString SAL_CALL getName() override
virtual void SAL_CALL dispose() override
void InvalidateSdrObject()
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) noexcept override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
rtl::Reference< SdrObject > mxSdrObject
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
virtual bool getPropertyStateImpl(const SfxItemPropertyMapEntry *pProperty, css::beans::PropertyState &rState)
void notifyPropertyChange(svx::ShapePropertyProviderId eProp)
void _setPropertyToDefault(const OUString &PropertyName)
SvxShape(SdrObject *pObj)
virtual void lock()
called from the XActionLockable interface methods on initial locking
void setMaster(SvxShapeMaster *pMaster)
virtual ~SvxShape() noexcept override
virtual void SAL_CALL addActionLock() override
bool SetFillAttribute(sal_uInt16 nWID, const OUString &rName)
bool mbIsMultiPropertyCall
css::uno::Sequence< OUString > _getSupportedServiceNames()
virtual void Create(SdrObject *pNewOpj, SvxDrawPage *pNewPage)
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
bool HasSdrObject() const
virtual css::awt::Size SAL_CALL getSize() override
void updateShapeKind()
since polygon shapes can change their kind during editing, we have to recheck it here.
virtual void SAL_CALL setActionLocks(sal_Int16 nLock) override
virtual void SAL_CALL setSize(const css::awt::Size &aSize) override
virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Sequence< css::uno::Any > &aValues) override
virtual void SAL_CALL setName(const OUString &aName) override
virtual void SAL_CALL removePropertiesChangeListener(const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
sal_uInt16 mnLockCount
used from the XActionLockable interface
css::uno::Sequence< css::uno::Type > const & _getTypes()
css::beans::PropertyState _getPropertyState(const OUString &PropertyName)
css::uno::Any _getPropertyDefault(const OUString &aPropertyName)
css::uno::WeakReference< css::container::XIndexContainer > mxGluePoints
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void SAL_CALL setPropertiesToDefault(const css::uno::Sequence< OUString > &aPropertyNames) override
virtual void unlock()
called from the XActionLockable interface methods on final unlock
std::unique_ptr< SvxShapeImpl > mpImpl
these members are used to optimize XMultiProperty calls
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual OUString SAL_CALL getShapeType() override
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames) override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
const SvxItemPropertySet * mpPropSet
virtual void SAL_CALL addPropertiesChangeListener(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
css::uno::Reference< css::beans::XPropertySetInfo > const & _getPropertySetInfo()
same as SetFillAttribute but for property names instead of which ids, and the property found is retur...
SdrObjKind getShapeKind() const
css::uno::Any _getPropertyValue(const OUString &PropertyName)
void _setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue)
virtual sal_Int16 SAL_CALL resetActionLocks() override
virtual bool setPropertyToDefaultImpl(const SfxItemPropertyMapEntry *pProperty)
virtual void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
virtual void SAL_CALL setAllPropertiesToDefault() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
css::uno::Any GetAnyForItem(SfxItemSet const &aSet, const SfxItemPropertyMapEntry *pMap) const
virtual void SAL_CALL setPosition(const css::awt::Point &aPosition) override
void setShapeKind(SdrObjKind nKind)
css::uno::Any GetBitmap(bool bMetaFile=false) const
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
virtual sal_Bool SAL_CALL isActionLocked() override
void ObtainSettingsFromPropertySet(const SvxItemPropertySet &rPropSet)
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL firePropertiesChangeEvent(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
void endSetPropertyValues()
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
void registerProvider(svx::ShapePropertyProviderId eProp, std::unique_ptr< svx::PropertyValueProvider > provider)
virtual void SAL_CALL removeActionLock() override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
SdrObject * GetSdrObject() const
void ForceMetricToItemPoolMetric(Pair &rPoint) const noexcept
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual bool setPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, const css::uno::Any &rValue)
SVX_DLLPRIVATE void impl_initFromSdrObject()
initializes SdrObj-dependent members.
SVX_DLLPRIVATE void impl_construct()
CTOR-Impl.
css::awt::Point maPosition
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &aType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL setString(const OUString &aString) override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType)
virtual OUString SAL_CALL getString() override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
static OUString getNameFromId(SdrObjKind nId)
static css::uno::Reference< css::awt::XBitmap > CreateBitmap(const BitmapEx &rBitmap)
const GraphicObject & GetGraphicObject() const
const model::ComplexColor & getComplexColor() const
const XDash & GetDash() const
const basegfx::BGradient & GetGradient() const
const XHatch & GetHatch() const
const basegfx::B2DPolyPolygon & GetLineEnd() const
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
double get(sal_uInt16 nRow, sal_uInt16 nColumn) const
void transform(const basegfx::B2DHomMatrix &rMatrix)
BASEGFX_DLLPUBLIC void transform(const B2DHomMatrix &rMatrix)
const B2DVector & getScale() const
const B2DVector & getTranslate() const
const css::uno::Sequence< sal_Int8 > & getSeq() const
oslInterlockedCount m_refCount
css::uno::Type const & get()
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual css::uno::Any SAL_CALL queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D &aViewInformation) const
ColorType getType() const
std::vector< Transformation > const & getTransformations() const
ThemeColorType getSchemeType() const
helper class for notifying XPropertyChangeListeners
Default provider for a property value.
::cppu::OWeakObject & getContext() const
virtual void getCurrentValue(css::uno::Any &_out_rValue) const
returns the current value of the property which the provider is responsible for
#define DBG_ASSERT(sCon, aError)
#define DBG_TESTSOLARMUTEX()
#define DBG_UNHANDLED_EXCEPTION(...)
virtual void IsDecorative(bool &rIsDecorative) override
virtual OUString GetName() const override
virtual void GetDescription(OUString &rName) override
EmbeddedObjectRef * pObject
uno::Reference< uno::XInterface > SvxUnoGluePointAccess_createInstance(SdrObject *pObject)
Create a SvxUnoGluePointAccess.
Sequence< sal_Int8 > aSeq
#define SAL_WARN_IF(condition, area, stream)
#define MID_COLOR_LUM_MOD
#define MID_COMPLEX_COLOR
#define MID_COLOR_THEME_INDEX
#define MID_COLOR_LUM_OFF
B2DHomMatrix createScaleB2DHomMatrix(double fScaleX, double fScaleY)
B2DPolyPolygon UnoPointSequenceSequenceToB2DPolyPolygon(const css::drawing::PointSequenceSequence &rPointSequenceSequenceSource)
B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY)
void B2DPolyPolygonToUnoPolyPolygonBezierCoords(const B2DPolyPolygon &rPolyPolygon, css::drawing::PolyPolygonBezierCoords &rPolyPolygonBezierCoordsRetval)
B2DHomMatrix createScaleShearXRotateTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
B2DPolyPolygon UnoPolyPolygonBezierCoordsToB2DPolyPolygon(const css::drawing::PolyPolygonBezierCoords &rPolyPolygonBezierCoordsSource)
B2IRange fround(const B2DRange &rRange)
sal_Int64 getSomethingImpl(const css::uno::Sequence< sal_Int8 > &rId, T *pThis, FallbackToGetSomethingOf< Base >={})
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
BitmapEx convertPrimitive2DContainerToBitmapEx(primitive2d::Primitive2DContainer &&rSequence, const basegfx::B2DRange &rTargetRange, sal_uInt32 nMaximumQuadraticPixels, const o3tl::Length eTargetUnit, const std::optional< Size > &rTargetDPI)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
UNOTOOLS_DLLPUBLIC bool GetTitle(OUString const &url, OUString *title)
SvxUnoPropertyMapProvider & getSvxMapProvider()
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > maDisposeListeners
svx::PropertyChangeNotifier maPropertyNotifier
SvxShapeImpl(SvxShape &_rAntiImpl)
::unotools::WeakReference< SdrObject > mxCreatedObj
CL, OD 2005-07-19 #i52126# - this is initially 0 and set when a SvxShape::Create() call is executed.
std::optional< SfxItemSet > mxItemSet
SvxShapeMaster * mpMaster
UNDERLYING_TYPE get() const
constexpr TypedWhichId< SdrAngleItem > SDRATTR_CIRCSTARTANGLE(SDRATTR_CIRC_FIRST+1)
constexpr TypedWhichId< SdrShearAngleItem > SDRATTR_SHEARANGLE(SDRATTR_NOTPERSIST_FIRST+17)
constexpr TypedWhichId< SdrCircKindItem > SDRATTR_CIRCKIND(SDRATTR_CIRC_FIRST+0)
constexpr TypedWhichId< SdrLayerNameItem > SDRATTR_LAYERNAME(SDRATTR_NOTPERSIST_FIRST+4)
constexpr TypedWhichId< SdrTextFitToSizeTypeItem > SDRATTR_TEXT_FITTOSIZE(SDRATTR_MISC_FIRST+3)
constexpr TypedWhichId< SvXMLAttrContainerItem > SDRATTR_XMLATTRIBUTES(SDRATTR_MISC_FIRST+22)
constexpr TypedWhichId< SdrLayerIdItem > SDRATTR_LAYERID(SDRATTR_NOTPERSIST_FIRST+3)
constexpr TypedWhichId< SdrObjPrintableItem > SDRATTR_OBJPRINTABLE(SDRATTR_NOTPERSIST_FIRST+2)
constexpr TypedWhichId< SdrAngleItem > SDRATTR_CIRCENDANGLE(SDRATTR_CIRC_FIRST+2)
constexpr TypedWhichId< SdrYesNoItem > SDRATTR_OBJSIZEPROTECT(SDRATTR_NOTPERSIST_FIRST+1)
constexpr TypedWhichId< SdrObjVisibleItem > SDRATTR_OBJVISIBLE(SDRATTR_NOTPERSIST_FIRST+35)
constexpr TypedWhichId< SdrYesNoItem > SDRATTR_OBJMOVEPROTECT(SDRATTR_NOTPERSIST_FIRST+0)
constexpr TypedWhichId< SfxStringItem > SDRATTR_OBJECTNAME(SDRATTR_NOTPERSIST_FIRST+5)
constexpr sal_uInt16 SDRATTR_NOTPERSIST_LAST(SDRATTR_OBJVISIBLE)
constexpr TypedWhichId< SvxWritingModeItem > SDRATTR_TEXTDIRECTION(SDRATTR_NOTPERSIST_FIRST+34)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_CORNER_RADIUS(SDRATTR_MISC_FIRST+0)
constexpr TypedWhichId< SvxFrameDirectionItem > SDRATTR_WRITINGMODE2(SDRATTR_WRITINGMODE2_FIRST+0)
constexpr sal_uInt16 SDRATTR_NOTPERSIST_FIRST(SDRATTR_CIRC_LAST+1)
constexpr TypedWhichId< SdrAngleItem > SDRATTR_ROTATEANGLE(SDRATTR_NOTPERSIST_FIRST+16)
SdrTextObj * DynCastSdrTextObj(SdrObject *pObj)
@ Group
abstract object (SdrObject)
@ Measure
object that represents a SdrPage
@ Page
Polyline represented by SdrPathObj.
@ Caption
connector object
@ PathFill
open Bezier-curve
@ FreehandLine
closed Bezier-curve
@ UNO
continuously activated OLE (PlugIn-Frame or similar)
@ CustomShape
Universal Network Object packed into SvDraw object.
@ CircleOrEllipse
rectangle (round corners optional)
@ Text
closed free-hand line
@ OLE2
foreign graphic (StarView Graphic)
@ OLEPluginFrame
measurement object
@ Graphic
OutlineText, special text object for StarDraw.
@ PathPolyLine
Polygon/PolyPolygon represented by SdrPathObj.
@ CircleSection
circle, ellipse
@ OutlineText
TitleText, special text object for StarDraw.
@ CircleArc
circle section
@ PolyLine
polygon, PolyPolygon
@ FreehandFill
open free-hand line
o3tl::strong_int< sal_Int16, struct SdrLayerIDTag > SdrLayerID
OUString SvxUnogetInternalNameForItem(const sal_uInt16 nWhich, const OUString &rApiName)
if the given name is a predefined api name it is replaced by the predefined name for the current lang...
#define SVXMAP_SHAPE
Sorter.
constexpr OUStringLiteral sUNO_service_drawing_OLE2Shape
constexpr OUStringLiteral sUNO_service_style_CharacterPropertiesAsian
constexpr OUStringLiteral sUNO_service_drawing_EllipseShape
constexpr OUStringLiteral sUNO_service_style_CharacterProperties
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonShape
constexpr OUStringLiteral sUNO_service_drawing_CaptionShape
constexpr OUStringLiteral sUNO_service_drawing_MeasureProperties
constexpr OUStringLiteral sUNO_service_drawing_ConnectorShape
constexpr OUStringLiteral sUNO_service_style_CharacterPropertiesComplex
constexpr OUStringLiteral sUNO_service_drawing_TextProperties
constexpr OUStringLiteral sUNO_service_drawing_GraphicObjectShape
constexpr OUStringLiteral sUNO_service_drawing_ClosedBezierShape
constexpr OUStringLiteral sUNO_service_drawing_PageShape
static bool svx_needLogicRectHack(SdrObject const *pObj)
constexpr OUStringLiteral sUNO_service_drawing_FillProperties
constexpr OUStringLiteral sUNO_service_drawing_LineShape
static void svx_setLogicRectHack(SdrObject *pObj, const tools::Rectangle &rRect)
constexpr OUStringLiteral sUNO_service_drawing_CustomShapeProperties
constexpr OUStringLiteral sUNO_service_drawing_Shape
constexpr OUStringLiteral sUNO_service_style_ParagraphProperties
constexpr OUStringLiteral sUNO_service_drawing_MeasureShape
constexpr OUStringLiteral sUNO_service_drawing_ConnectorProperties
constexpr OUStringLiteral sUNO_service_drawing_CustomShape
constexpr OUStringLiteral sUNO_service_drawing_PolyLineShape
void SvxItemPropertySet_setPropertyValue(const SfxItemPropertyMapEntry *pMap, const uno::Any &rVal, SfxItemSet &rSet)
constexpr OUStringLiteral sUNO_service_style_ParagraphPropertiesAsian
constexpr OUStringLiteral sUNO_service_drawing_Text
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonDescriptor
constexpr OUStringLiteral sUNO_service_drawing_RectangleShape
constexpr OUStringLiteral sUNO_service_drawing_GroupShape
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonBezierDescriptor
uno::Any SvxItemPropertySet_getPropertyValue(const SfxItemPropertyMapEntry *pMap, const SfxItemSet &rSet)
constexpr OUStringLiteral sUNO_service_drawing_MediaShape
constexpr OUStringLiteral sUNO_service_style_ParagraphPropertiesComplex
constexpr OUStringLiteral sUNO_service_drawing_TextShape
constexpr OUStringLiteral sUNO_service_drawing_RotationDescriptor
constexpr OUStringLiteral sUNO_service_drawing_ShadowProperties
static void SvxItemPropertySet_ObtainSettingsFromPropertySet(const SvxItemPropertySet &rPropSet, SvxItemPropertySetUsrAnys &rAnys, SfxItemSet &rSet, const uno::Reference< beans::XPropertySet > &xSet, const SfxItemPropertyMap *pMap)
constexpr OUStringLiteral sUNO_service_drawing_ControlShape
constexpr OUStringLiteral sUNO_service_drawing_LineProperties
constexpr OUStringLiteral sUNO_service_drawing_FrameShape
constexpr OUStringLiteral sUNO_service_drawing_OpenBezierShape
uno::Reference< drawing::XShape > GetXShapeForSdrObject(SdrObject *pObj) noexcept
returns a StarOffice API wrapper for the given SdrObject
static tools::Rectangle svx_getLogicRectHack(SdrObject const *pObj)
#define OWN_ATTR_MISC_OBJ_TITLE
#define OWN_ATTR_METAFILE
#define OWN_ATTR_HYPERLINK
#define OWN_ATTR_INTEROPGRABBAG
#define OWN_ATTR_EDGE_START_OBJ
#define OWN_ATTR_MEASURE_END_POS
#define OWN_ATTR_FILLBMP_MODE
#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER
#define OWN_ATTR_TRANSFORMATION
#define OWN_ATTR_FRAMERECT
#define OWN_ATTR_TEXTCOLUMNS
#define OWN_ATTR_CAPTION_POINT
#define OWN_ATTR_LDBITMAP
#define OWN_ATTR_GLUEID_HEAD
#define OWN_ATTR_EDGE_START_POS
#define OWN_ATTR_MISC_OBJ_DECORATIVE
#define OWN_ATTR_PAGE_NUMBER
#define OWN_ATTR_GLUEID_TAIL
#define OWN_ATTR_BOUNDRECT
#define OWN_ATTR_MISC_OBJ_DESCRIPTION
#define OWN_ATTR_MEASURE_START_POS
#define OWN_ATTR_UINAME_SINGULAR
#define OWN_ATTR_EDGE_END_POS
#define OWN_ATTR_MIRRORED
#define OWN_ATTR_TEXTFITTOSIZESCALE
#define OWN_ATTR_EDGE_END_OBJ
#define OWN_ATTR_ISFONTWORK
#define OWN_ATTR_UINAME_PLURAL
const SvxItemPropertySet * ImplGetSvxUnoOutlinerTextCursorSvxPropertySet()
VCL_DLLPUBLIC bool ConvertGDIMetaFileToWMF(const GDIMetaFile &rMTF, SvStream &rTargetStream, FilterConfigItem const *pConfigItem, bool bPlaceable=true)
constexpr TypedWhichId< XFillColorItem > XATTR_FILLCOLOR(XATTR_FILL_FIRST+1)
constexpr TypedWhichId< XLineColorItem > XATTR_LINECOLOR(XATTR_LINE_FIRST+3)
constexpr TypedWhichId< SfxMetricItem > XATTR_FILLBMP_SIZEX(XATTR_FILL_FIRST+9)
constexpr TypedWhichId< XLineDashItem > XATTR_LINEDASH(XATTR_LINE_FIRST+1)
constexpr TypedWhichId< XLineEndItem > XATTR_LINEEND(XATTR_LINE_FIRST+5)
constexpr TypedWhichId< XLineStartItem > XATTR_LINESTART(XATTR_LINE_FIRST+4)
constexpr TypedWhichId< XFillBmpSizeYItem > XATTR_FILLBMP_SIZEY(XATTR_FILL_FIRST+10)
constexpr TypedWhichId< XFillBmpStretchItem > XATTR_FILLBMP_STRETCH(XATTR_FILL_FIRST+16)
constexpr TypedWhichId< XFillHatchItem > XATTR_FILLHATCH(XATTR_FILL_FIRST+3)
constexpr TypedWhichId< XFillBmpTileItem > XATTR_FILLBMP_TILE(XATTR_FILL_FIRST+7)
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
constexpr TypedWhichId< XFillFloatTransparenceItem > XATTR_FILLFLOATTRANSPARENCE(XATTR_FILL_FIRST+11)
constexpr TypedWhichId< XFillGradientItem > XATTR_FILLGRADIENT(XATTR_FILL_FIRST+2)