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;
146 static constexpr OUStringLiteral sPosition =
u"Position";
147 explicit ShapePositionProvider(
SvxShape& _shape )
155 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getPosition();
163 static constexpr OUStringLiteral sSize =
u"Size";
164 explicit ShapeSizeProvider(
SvxShape& _shape )
172 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getSize();
177sal_Int16 GetTextFitToSizeScale(
SdrObject* pObject)
187 != drawing::TextFitToSizeType_AUTOFIT)
199, mbIsMultiPropertyCall(false)
212, mbIsMultiPropertyCall(false)
213, mpPropSet(pPropertySet)
214, maPropMapEntries(pEntries)
229 mpImpl->mpMaster->dispose();
265 mpImpl->mpMaster = pMaster;
274 if(
mpImpl->mpMaster->queryAggregation( rType, aAny ) )
281const css::uno::Sequence< sal_Int8 > & SvxShape::getUnoTunnelId() noexcept
284 return theSvxShapeUnoTunnelId.
getSeq();
287sal_Int64 SAL_CALL SvxShape::getSomething(
const css::uno::Sequence< sal_Int8 >& rId )
295 return mpImpl->maPropertyNotifier;
302 std::make_unique<ShapePositionProvider>( *
this ) );
304 std::make_unique<ShapeSizeProvider>( *
this ) );
317 OSL_PRECOND(
HasSdrObject(),
"SvxShape::impl_initFromSdrObject: not to be called without SdrObject!" );
361 assert( pNewObj &&
"SvxShape::Create: invalid new object!" );
366 assert( ( !pCreatedObj || ( pCreatedObj == pNewObj ) ) &&
367 "SvxShape::Create: the same shape used for two different objects?! Strange ..." );
370 if ( pCreatedObj == pNewObj )
374 mpImpl->mxCreatedObj = pNewObj;
420 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
421 if(eMapUnit == MapUnit::Map100thMM)
431 OSL_FAIL(
"AW: Missing unit translation to PoolMetric!");
441 GetSdrObject()->ForceMetricToItemPoolMetric(rPolyPolygon);
450 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
451 if(eMapUnit == MapUnit::Map100thMM)
459 aDecomposedTransform.
getScale() * fConvert,
466 OSL_FAIL(
"Missing unit translation to PoolMetric!");
476 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
477 if(eMapUnit == MapUnit::Map100thMM)
487 OSL_FAIL(
"AW: Missing unit translation to 100th mm!");
497 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
498 if(eMapUnit == MapUnit::Map100thMM)
508 OSL_FAIL(
"Missing unit translation to 100th mm!");
518 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
519 if(eMapUnit == MapUnit::Map100thMM)
527 aDecomposedTransform.
getScale() * fConvert,
534 OSL_FAIL(
"Missing unit translation to 100th mm!");
548 const sal_uInt16 nWID = pSrcProp->nWID;
550 && (nWID < OWN_ATTR_VALUE_START || nWID > OWN_ATTR_VALUE_END)
567 if(pEntry->
nWID >= OWN_ATTR_VALUE_START && pEntry->
nWID <= OWN_ATTR_VALUE_END)
571 xSet->setPropertyValue( pSrcProp->aName, *pUsrAny);
591 Reference< beans::XPropertySet > xShape(
this);
625 if(
nullptr != pSdrGrafObj)
629 if(GraphicType::Bitmap == rGraphic.
GetType())
631 Reference< awt::XBitmap > xBmp( rGraphic.
GetXGraphic(), UNO_QUERY );
648 pVDev->SetMapMode(
MapMode(MapUnit::Map100thMM));
649 pVDev->EnableOutput(
false);
666 const uno::Sequence<sal_Int8>
aSeq(
677 if(!xPrimitives.empty())
687 if(MapUnit::Map100thMM != aSourceMapUnit)
696 MapMode(MapUnit::Map100thMM)));
702 std::move(xPrimitives)));
714 std::move(xPrimitives),
722 Reference< awt::XBitmap > xBmp( aGraph.
GetXGraphic(), UNO_QUERY );
735 return mpImpl->mpMaster->getTypes();
761 static uno::Sequence<uno::Type> aTypeSequence{
776 return aTypeSequence;
781 static uno::Sequence<uno::Type> aTypeSequence{
798 return aTypeSequence;
803 static uno::Sequence<uno::Type> aTypeSequence{
824 return aTypeSequence;
829 static uno::Sequence<uno::Type> aTypeSequence{
845 return aTypeSequence;
850 static uno::Sequence<uno::Type> aTypeSequence{
866 return aTypeSequence;
870 static uno::Sequence<uno::Type> aTypeSequence{
890 return aTypeSequence;
911 static uno::Sequence<uno::Type> aTypeSequence{
931 return aTypeSequence;
939 return css::uno::Sequence<sal_Int8>();
947 if (rHint.GetId() != SfxHintId::ThisIsAnSdrHint)
958 uno::Reference< uno::XInterface > xSelf( pSdrObject->getWeakUnoShape() );
961 EndListening(pSdrObject->getSdrModelFromSdrObject());
972 EndListening(pSdrObject->getSdrModelFromSdrObject());
973 pSdrObject->setUnoShape(
nullptr);
977 if(!mpImpl->mbDisposing)
1053 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
1057 return css::awt::Point( aPt.X(), aPt.Y() );
1081 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
1119 Size aLocalSize( rSize.Width, rSize.Height );
1132 if ( !aLocalSize.
Width() )
1138 if ( !aLocalSize.
Height() )
1200 if(
mpImpl->mbDisposing )
1203 mpImpl->mbDisposing =
true;
1205 lang::EventObject aEvt;
1207 mpImpl->maDisposeListeners.disposeAndClear(aEvt);
1208 mpImpl->maPropertyNotifier.disposing();
1216 if (
pObject->IsInserted() &&
pObject->getSdrPageFromSdrObject() )
1221 for (
size_t nNum = 0; nNum <
nCount; ++nNum )
1232 pObject->setUnoShape(
nullptr);
1238 mpImpl->maDisposeListeners.addInterface(xListener);
1244 mpImpl->maDisposeListeners.removeInterface(aListener);
1250Reference< beans::XPropertySetInfo > SAL_CALL
1255 return mpImpl->mpMaster->getPropertySetInfo();
1263Reference< beans::XPropertySetInfo >
const &
1272 ::osl::MutexGuard aGuard(
m_aMutex );
1273 mpImpl->maPropertyNotifier.addPropertyChangeListener( _propertyName, _listener );
1279 ::osl::MutexGuard aGuard(
m_aMutex );
1280 mpImpl->maPropertyNotifier.removePropertyChangeListener( _propertyName, _listener );
1286 OSL_FAIL(
"SvxShape::addVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1292 OSL_FAIL(
"SvxShape::removeVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1332 if( !pBitmapList.is() )
1348 if( !pGradientList.is() )
1364 if( !pHatchList.is() )
1381 if( !pLineEndList.is() )
1406 if( !pDashList.is() )
1431 if (
aName.isEmpty())
1476 mpImpl->mpMaster->setPropertyValue( rPropertyName, rVal );
1496 if (pMap && pMap->
nWID)
1509 if (rPropertyName ==
"HandlePathObjScale")
1514 bool bHandleScale{};
1515 if (rVal >>= bHandleScale)
1526 SAL_WARN_IF(rPropertyName !=
"FromWordArt" && rPropertyName !=
"GraphicColorMode",
1527 "svx.uno",
"Unknown Property: " << rPropertyName);
1528 throw beans::UnknownPropertyException( rPropertyName,
static_cast<cppu::OWeakObject*
>(
this));
1531 if ((pMap->
nFlags & beans::PropertyAttribute::READONLY) != 0)
1532 throw beans::PropertyVetoException(
1533 "Readonly property can't be set: " + rPropertyName,
1534 uno::Reference<drawing::XShape>(
this));
1542 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1548 sal_Int32 nCornerRadius = 0;
1549 if( !(rVal >>= nCornerRadius) || (nCornerRadius < 0) || (nCornerRadius > 5000000))
1550 throw IllegalArgumentException();
1553 std::optional<SfxItemSet> xLocalSet;
1559 mpImpl->mxItemSet.emplace(
GetSdrObject()->GetProperties().CreateObjectSpecificItemSet(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool() ) );
1561 pSet = &*
mpImpl->mxItemSet;
1565 xLocalSet.emplace(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool(), pMap->
nWID, pMap->
nWID);
1572 if( !SvxUnoTextRangeBase::SetPropertyValueHelper( pMap, rVal, *pSet ))
1587 pSet->
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1614 return mpImpl->mpMaster->getPropertyValue( PropertyName );
1629 if(pMap ==
nullptr )
1630 throw beans::UnknownPropertyException( PropertyName,
static_cast<cppu::OWeakObject*
>(
this));
1635 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1640 if(SvxUnoTextRangeBase::GetPropertyValueHelper( aSet, pMap, aAny ))
1656 aSet.
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1668 if(pMap && pMap->
nWID)
1682 const sal_Int32
nCount = aPropertyNames.getLength();
1683 if (
nCount != aValues.getLength())
1684 throw css::lang::IllegalArgumentException(
"lengths do not match",
1687 const OUString* pNames = aPropertyNames.getConstArray();
1698 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pNames++,
pValues++ )
1704 catch (beans::UnknownPropertyException&)
1708 catch (uno::Exception&)
1716 uno::Reference< beans::XPropertySet > xSet;
1719 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pNames++,
pValues++ )
1723 xSet->setPropertyValue( *pNames, *
pValues );
1725 catch (beans::UnknownPropertyException&)
1729 catch (uno::Exception&)
1744 mpImpl->mxItemSet.reset();
1750 const sal_Int32
nCount = aPropertyNames.getLength();
1751 const OUString* pNames = aPropertyNames.getConstArray();
1753 uno::Sequence< uno::Any > aRet(
nCount );
1754 uno::Any* pValue = aRet.getArray();
1758 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pValue++, pNames++ )
1764 catch( uno::Exception& )
1766 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1772 uno::Reference< beans::XPropertySet > xSet;
1775 for( sal_Int32 nIdx = 0; nIdx <
nCount; nIdx++, pValue++, pNames++ )
1779 *pValue = xSet->getPropertyValue( *pNames );
1781 catch( uno::Exception& )
1783 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1815 Degree100 nAngle = pPoolItem->GetValue();
1816 aAny <<= nAngle.
get();
1825 Degree100 nAngle = pPoolItem->GetValue();
1826 aAny <<= nAngle.
get();
1835 drawing::CircleKind eKind;
1839 eKind = drawing::CircleKind_FULL;
1842 eKind = drawing::CircleKind_CUT;
1845 eKind = drawing::CircleKind_ARC;
1848 eKind = drawing::CircleKind_SECTION;
1862 if( pMap->
aType != aAny.getValueType() )
1869 aAny <<= static_cast<sal_Int16>(
nValue);
1873 OSL_FAIL(
"SvxShape::GetAnyForItem() Returnvalue has wrong Type!" );
1889 return mpImpl->mpMaster->getPropertyState( PropertyName );
1904 throw beans::UnknownPropertyException( PropertyName,
static_cast<cppu::OWeakObject*
>(
this));
1906 beans::PropertyState eState;
1913 case SfxItemState::SET:
1914 eState = beans::PropertyState_DIRECT_VALUE;
1916 case SfxItemState::DEFAULT:
1917 eState = beans::PropertyState_DEFAULT_VALUE;
1920 eState = beans::PropertyState_AMBIGUOUS_VALUE;
1925 if( beans::PropertyState_DIRECT_VALUE == eState )
1927 switch( pMap->
nWID )
1938 if( ( pItem ==
nullptr ) || pItem->
GetName().isEmpty() )
1939 eState = beans::PropertyState_DEFAULT_VALUE;
1953 if ( pItem ==
nullptr )
1954 eState = beans::PropertyState_DEFAULT_VALUE;
1963 eState = beans::PropertyState_DEFAULT_VALUE;
1969 sal_Int16 nLumMod = 10000;
1973 nLumMod = rTransform.mnValue;
1975 if (nLumMod == 10000)
1977 eState = beans::PropertyState_DEFAULT_VALUE;
1983 sal_Int16 nLumOff = 0;
1987 nLumOff = rTransform.mnValue;
1991 eState = beans::PropertyState_DEFAULT_VALUE;
1999 eState = beans::PropertyState_DEFAULT_VALUE;
2009 eState = beans::PropertyState_DEFAULT_VALUE;
2022 switch( pProperty->
nWID )
2027 if( rValue >>= aPnt )
2029 Point aVclPoint( aPnt.X, aPnt.Y );
2038 pSdrObject->TRGetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2044 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2046 aVclPoint += pSdrObject->GetAnchorPos();
2049 static_cast<SdrCaptionObj*
>(pSdrObject.get())->SetTailPos(aVclPoint);
2057 drawing::HomogenMatrix3 aMatrix;
2058 if(rValue >>= aMatrix)
2064 pSdrObject->TRGetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2066 aNewHomogenMatrix.
set(0, 0, aMatrix.Line1.Column1);
2067 aNewHomogenMatrix.
set(0, 1, aMatrix.Line1.Column2);
2068 aNewHomogenMatrix.
set(0, 2, aMatrix.Line1.Column3);
2069 aNewHomogenMatrix.
set(1, 0, aMatrix.Line2.Column1);
2070 aNewHomogenMatrix.
set(1, 1, aMatrix.Line2.Column2);
2071 aNewHomogenMatrix.
set(1, 2, aMatrix.Line2.Column3);
2072 aNewHomogenMatrix.
set(2, 0, aMatrix.Line3.Column1);
2073 aNewHomogenMatrix.
set(2, 1, aMatrix.Line3.Column2);
2074 aNewHomogenMatrix.
set(2, 2, aMatrix.Line3.Column3);
2080 pSdrObject->TRSetBaseGeometry(aNewHomogenMatrix, aNewPolyPolygon);
2088 sal_Int32 nNewOrdNum = 0;
2089 if(rValue >>= nNewOrdNum)
2091 SdrObjList* pObjList = pSdrObject->getParentSdrObjListFromSdrObject();
2100 awt::Rectangle aUnoRect;
2101 if(rValue >>= aUnoRect)
2103 Point aTopLeft( aUnoRect.X, aUnoRect.Y );
2104 Size aObjSize( aUnoRect.Width, aUnoRect.Height );
2110 pSdrObject->SetSnapRect(aRect);
2118 if(rValue >>= bMirror )
2138 switch(pProperty->
nWID)
2143 Reference< drawing::XShape > xShape;
2144 if( rValue >>= xShape )
2160 awt::Point aUnoPoint;
2161 if( rValue >>= aUnoPoint )
2163 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2169 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2170 aPoint += pSdrObject->GetAnchorPos();
2182 if( rValue >>=
nId )
2194 if(
auto s = o3tl::tryAccess<drawing::PointSequenceSequence>(rValue) )
2200 else if(
auto cs = o3tl::tryAccess<drawing::PolyPolygonBezierCoords>(rValue) )
2207 if(aNewPolyPolygon.
count())
2211 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2213 Point aPoint( pSdrObject->GetAnchorPos() );
2228 awt::Point aUnoPoint;
2229 if(pMeasureObj && ( rValue >>= aUnoPoint ) )
2231 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2235 if( pSdrObject->getSdrModelFromSdrObject().IsWriter() )
2236 aPoint += pSdrObject->GetAnchorPos();
2247 drawing::BitmapMode
eMode;
2248 if(!(rValue >>=
eMode) )
2250 sal_Int32 nMode = 0;
2251 if(!(rValue >>= nMode))
2254 eMode =
static_cast<drawing::BitmapMode
>(nMode);
2263 sal_Int16 nLayerId = sal_Int16();
2264 if( rValue >>= nLayerId )
2266 SdrLayer* pLayer = pSdrObject->getSdrModelFromSdrObject().GetLayerAdmin().GetLayerPerID(
SdrLayerID(nLayerId));
2278 OUString aLayerName;
2279 if( rValue >>= aLayerName )
2281 const SdrLayer* pLayer = pSdrObject->getSdrModelFromSdrObject().GetLayerAdmin().GetLayer(aLayerName);
2282 if( pLayer !=
nullptr )
2284 pSdrObject->SetLayer( pLayer->
GetID() );
2293 if( rValue >>= nTmp )
2296 Point aRef1(pSdrObject->GetSnapRect().Center());
2297 nAngle -= pSdrObject->GetRotateAngle();
2302 pSdrObject->Rotate(aRef1,nAngle,nSin,nCos);
2313 if( rValue >>= nTmp )
2316 nShear -= pSdrObject->GetShearAngle();
2319 Point aRef1(pSdrObject->GetSnapRect().Center());
2321 pSdrObject->Shear(aRef1,nShear,nTan,
false);
2331 pSdrObject->SetGrabBagItem(rValue);
2338 if( rValue >>= bMoveProtect )
2340 pSdrObject->SetMoveProtect(bMoveProtect);
2348 if( rValue >>=
aName )
2350 pSdrObject->SetName(
aName );
2358 sal_Int16 nMaxScale = 0;
2359 if (rValue >>= nMaxScale)
2363 pSdrObject->SetMergedItem(aItem);
2373 if( rValue >>= aTitle )
2375 pSdrObject->SetTitle( aTitle );
2382 OUString aDescription;
2383 if( rValue >>= aDescription )
2385 pSdrObject->SetDescription( aDescription );
2394 if( rValue >>= bPrintable )
2396 pSdrObject->SetPrintable(bPrintable);
2413 bool bResizeProtect;
2414 if( rValue >>= bResizeProtect )
2416 pSdrObject->SetResizeProtect(bResizeProtect);
2423 sal_Int32 nPageNum = 0;
2424 if( (rValue >>= nPageNum) && ( nPageNum >= 0 ) && ( nPageNum <= 0xffff ) )
2431 const sal_uInt16 nDestinationPageNum(
static_cast<sal_uInt16
>((nPageNum << 1) - 1));
2435 pNewPage = rModel.
GetPage(nDestinationPageNum);
2456 if( rValue >>= aApiName )
2473 css::uno::Reference<css::text::XTextColumns> xTextColumns;
2474 if (rValue >>= xTextColumns)
2477 if (css::uno::Reference<css::beans::XPropertySet> xPropSet{ xTextColumns,
2478 css::uno::UNO_QUERY })
2480 auto aVal = xPropSet->getPropertyValue(
"AutomaticDistance");
2481 if (sal_Int32 nSpacing; aVal >>= nSpacing)
2491 OUString sHyperlink;
2492 if (rValue >>= sHyperlink)
2494 pSdrObject->setHyperlink(sHyperlink);
2515 OUString sExceptionMessage(
2516 "IllegalArgumentException in SvxShape::setPropertyValueImpl."
2518 + pProperty->
aType.getTypeName() +
" Property Name: " + pProperty->
aName
2519 +
" Property nWID: " + OUString::number(pProperty->
nWID)
2520 +
" Value Type: " + (rValue.hasValue() ? rValue.getValueTypeName() :
"void (no value)"));
2522 throw lang::IllegalArgumentException(sExceptionMessage,
nullptr, 1);
2528 switch( pProperty->
nWID )
2552 awt::Point aPnt( aVclPoint.X(), aVclPoint.Y() );
2562 drawing::HomogenMatrix3 aMatrix;
2568 aMatrix.Line1.Column1 = aNewHomogenMatrix.
get(0, 0);
2569 aMatrix.Line1.Column2 = aNewHomogenMatrix.
get(0, 1);
2570 aMatrix.Line1.Column3 = aNewHomogenMatrix.
get(0, 2);
2571 aMatrix.Line2.Column1 = aNewHomogenMatrix.
get(1, 0);
2572 aMatrix.Line2.Column2 = aNewHomogenMatrix.
get(1, 1);
2573 aMatrix.Line2.Column3 = aNewHomogenMatrix.
get(1, 2);
2574 aMatrix.Line3.Column1 = aNewHomogenMatrix.
get(2, 0);
2575 aMatrix.Line3.Column2 = aNewHomogenMatrix.
get(2, 1);
2576 aMatrix.Line3.Column3 = aNewHomogenMatrix.
get(2, 2);
2585 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetOrdNum());
2592 if(!rValue.hasValue())
2593 throw uno::RuntimeException();
2600 bool bIsFontwork =
false;
2603 rValue <<= bIsFontwork;
2614 css::awt::Rectangle aUnoRect(
2615 aTopLeft.X(), aTopLeft.Y(),
2617 rValue <<= aUnoRect;
2628 css::awt::Rectangle aUnoRect(
2629 aTopLeft.X(), aTopLeft.Y(),
2631 rValue <<= aUnoRect;
2647 sId = RID_UNODRAW_OLE2;
2651 sId = RID_UNODRAW_GRAPHICS;
2655 sId = RID_UNODRAW_OBJECTS;
2667 bool bMirror =
false;
2670 bMirror = pGrafObj->IsMirrored();
2687 switch(pProperty->
nWID)
2707 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2711 awt::Point aUnoPoint( aPoint.X(), aPoint.Y() );
2713 rValue <<= aUnoPoint;
2725 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2732 drawing::PolyPolygonBezierCoords aRetval;
2749 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2754 awt::Point aUnoPoint( aPoint.X(), aPoint.Y() );
2756 rValue <<= aUnoPoint;
2768 rValue <<= drawing::BitmapMode_REPEAT;
2772 rValue <<= drawing::BitmapMode_STRETCH;
2776 rValue <<= drawing::BitmapMode_NO_REPEAT;
2795 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetRotateAngle());
2799 rValue <<= static_cast<sal_Int32>(
GetSdrObject()->GetShearAngle());
2830 rValue <<= aDescription;
2852 sal_Int32 nPageNumber = pPage ? pPage->
GetPageNum() : 0;
2855 rValue <<= nPageNumber;
2885 bool bIsWMF =
false;
2889 if ( aLnk.
GetType() == GfxLinkType::NativeWmf )
2902 const uno::Sequence<sal_Int8>
aSeq(
2923 css::uno::Reference<css::text::XTextColumns> xCols(xIf, css::uno::UNO_QUERY_THROW);
2925 css::uno::Reference<css::beans::XPropertySet> xProp(xIf, css::uno::UNO_QUERY_THROW);
2926 xProp->setPropertyValue(
"AutomaticDistance",
2956 rState = beans::PropertyState_DIRECT_VALUE;
2960 rState = beans::PropertyState_AMBIGUOUS_VALUE;
2963 else if((( pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
2966 rState = beans::PropertyState_DIRECT_VALUE;
2985 else if((pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
2999 const sal_Int32
nCount = aPropertyName.getLength();
3000 uno::Sequence< beans::PropertyState > aRet(
nCount );
3002 std::transform(aPropertyName.begin(), aPropertyName.end(), aRet.getArray(),
3003 [
this](
const OUString& rName) -> beans::PropertyState { return getPropertyState(rName); });
3013 mpImpl->mpMaster->setPropertyToDefault( PropertyName );
3028 throw beans::UnknownPropertyException( PropertyName,
static_cast<cppu::OWeakObject*
>(
this));
3043 return mpImpl->mpMaster->getPropertyDefault( aPropertyName );
3058 throw beans::UnknownPropertyException( aPropertyName,
static_cast<cppu::OWeakObject*
>(
this));
3060 if(( pMap->
nWID >= OWN_ATTR_VALUE_START && pMap->
nWID <= OWN_ATTR_VALUE_END ) ||
3068 throw beans::UnknownPropertyException(
"No WhichID " + OUString::number(pMap->
nWID) +
" for " + aPropertyName,
static_cast<cppu::OWeakObject*
>(
this));
3071 aSet.
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
3083 throw lang::DisposedException();
3108 const uno::Sequence<OUString>& aPropertyNames )
3110 for (
const auto& rPropertyName : aPropertyNames )
3115 const uno::Sequence<OUString>& aPropertyNames )
3117 ::std::vector<uno::Any> ret;
3118 ret.reserve(aPropertyNames.getLength());
3119 std::transform(aPropertyNames.begin(), aPropertyNames.end(), std::back_inserter(ret),
3120 [
this](
const OUString& rName) ->
uno::Any { return getPropertyDefault(rName); });
3121 return uno::Sequence<uno::Any>( ret.data(), ret.size() );
3181 return mpImpl->mpMaster->getSupportedServiceNames();
3201 static const uno::Sequence<OUString> aSvxShape_GroupServices
3204 return aSvxShape_GroupServices;
3208 static const uno::Sequence<OUString> aSvxShape_CustomShapeServices
3224 return aSvxShape_CustomShapeServices;
3228 static const uno::Sequence<OUString> aSvxShape_LineServices
3246 return aSvxShape_LineServices;
3251 static const uno::Sequence<OUString> aSvxShape_RectServices
3268 return aSvxShape_RectServices;
3276 static const uno::Sequence<OUString> aSvxShape_CircServices
3294 return aSvxShape_CircServices;
3300 static const uno::Sequence<OUString> aSvxShape_PathServices
3319 return aSvxShape_PathServices;
3325 static const uno::Sequence<OUString> aSvxShape_PolyServices
3345 return aSvxShape_PolyServices;
3351 static const uno::Sequence<OUString> aSvxShape_FreeLineServices
3371 return aSvxShape_FreeLineServices;
3377 static const uno::Sequence<OUString> aSvxShape_FreeFillServices
3397 return aSvxShape_FreeFillServices;
3404 static const uno::Sequence<OUString> aSvxShape_TextServices
3422 return aSvxShape_TextServices;
3427 static const uno::Sequence<OUString> aSvxShape_GrafServices
3443 return aSvxShape_GrafServices;
3448 static const uno::Sequence<OUString> aSvxShape_Ole2Services
3464 return aSvxShape_Ole2Services;
3469 static const uno::Sequence<OUString> aSvxShape_CaptionServices
3487 return aSvxShape_CaptionServices;
3492 static const uno::Sequence<OUString> aSvxShape_PageServices
3495 return aSvxShape_PageServices;
3500 static const uno::Sequence<OUString> aSvxShape_MeasureServices
3520 return aSvxShape_MeasureServices;
3525 static const uno::Sequence<OUString> aSvxShape_FrameServices
3528 return aSvxShape_FrameServices;
3533 static const uno::Sequence<OUString> aSvxShape_UnoServices
3536 return aSvxShape_UnoServices;
3541 static const uno::Sequence<OUString> aSvxShape_EdgeServices
3560 return aSvxShape_EdgeServices;
3564 static const uno::Sequence<OUString> aSvxShape_MediaServices
3567 return aSvxShape_MediaServices;
3574#if OSL_DEBUG_LEVEL > 0
3576 OSL_ENSURE( nIdent ==
SdrObjKind::UNO,
"SvxShape::_getSupportedServiceNames: SdrInventor::FmForm, but no UNO object?" );
3578 static const uno::Sequence<OUString> aSvxShape_UnoServices
3581 return aSvxShape_UnoServices;
3583 OSL_FAIL(
"SvxShape::_getSupportedServiceNames: could not determine object type!" );
3584 uno::Sequence< OUString >
aSeq;
3597 uno::Reference< container::XIndexContainer > xGluePoints(
mxGluePoints );
3614 if(
nullptr != pSdrObject)
3618 if(
nullptr != pParentSdrObjList)
3628 if(
nullptr != pParentSdrObject)
3637 if(
nullptr != pParentSdrPage)
3648 OSL_FAIL(
"SvxShape::getParent( ): unexpected Parent SdrObjList" );
3653 return uno::Reference<uno::XInterface>();
3658 throw lang::NoSupportException();
3728 sal_Int16 nOldLocks =
static_cast<sal_Int16
>(
mnLockCount);
3742 switch(
mpImpl->mnObjId )
3786 DBG_ASSERT( (
nullptr == GetEditSource()) || (GetEditSource()->getRanges().
size()==1),
3787 "svx::SvxShapeText::~SvxShapeText(), text shape with living text ranges destroyed!");
3792 if( pNewObj && (
nullptr == GetEditSource()))
3819 return "SvxShapeText";
3843 const sal_Int64 nReturn = SvxShape::getSomething( rId );
3847 return SvxUnoTextBase::getSomething( rId );
3853 return css::uno::Sequence<sal_Int8>();
3862 pEditSource->
lock();
3878 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3880 ::GetSelection( maSelection, pForwarder );
3888 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3890 ::GetSelection( maSelection, pForwarder );
3897 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3899 ::GetSelection( maSelection, pForwarder );
3907 SvxTextForwarder* pForwarder = mpEditSource ? mpEditSource->GetTextForwarder() :
nullptr;
3909 ::GetSelection( maSelection, pForwarder );
3926 css::text::WritingMode
eMode;
3927 if( rValue >>=
eMode )
3943 rValue <<= css::text::WritingMode_TB_RL;
3945 rValue <<= css::text::WritingMode_LR_TB;
3991 uno::Reference< drawing::XShape > xShape( pObj->getUnoShape(), uno::UNO_QUERY );
3998 SvxShape* pSvxShape = comphelper::getFromUnoTunnel<SvxShape>( xInt );
3999 return pSvxShape ? pSvxShape->
GetSdrObject() :
nullptr;
4004 if(!pMap || !pMap->
nWID)
4014 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
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(sal_Int16 nMaxScale)
bool HasTextColumnsSpacing() const
sal_Int32 GetTextColumnsSpacing() const
void SetTextColumnsSpacing(sal_Int32 nSpacing)
virtual bool IsFontwork() const
virtual void SetVerticalWriting(bool bVertical)
void SetTextColumnsNumber(sal_Int16 nColumns)
sal_uInt16 GetFontScaleY() const
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
svx::PropertyChangeNotifier & getShapePropertyChangeNotifier()
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 _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
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
model::ThemeColor & GetThemeColor()
const XDash & GetDash() const
const XGradient & 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
mutable::osl::Mutex m_aMutex
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
std::vector< Transformation > const & getTransformations() const
ThemeColorType getType() 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 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_COLOR_THEME_REFERENCE
#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()
svx::PropertyChangeNotifier maPropertyNotifier
::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
::comphelper::OInterfaceContainerHelper3< css::lang::XEventListener > maDisposeListeners
SvxShapeImpl(SvxShape &_rAntiImpl, ::osl::Mutex &_rMutex)
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_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)