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>
94 #include <bitmaps.hlst>
96 using namespace ::
osl;
97 using namespace ::
cppu;
127 :mrAntiImpl( _rAntiImpl )
130 ,mbHasSdrObjectOwnership( false )
131 ,mbDisposing( false )
133 ,maDisposeListeners( _rMutex )
134 ,maPropertyNotifier( _rAntiImpl, _rMutex )
144 explicit ShapePositionProvider(
const SvxShapeImpl& _shapeImpl )
152 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getPosition();
160 explicit ShapeSizeProvider(
const SvxShapeImpl& _shapeImpl )
168 _out_rCurrentValue <<= static_cast< SvxShape& >(
getContext() ).getSize();
173 sal_Int16 GetTextFitToSizeScale(
SdrObject* pObject)
183 != drawing::TextFitToSizeType_AUTOFIT)
188 std::unique_ptr<SdrOutliner> pOutliner
194 pOutliner->GetGlobalCharStretching(nX, nY);
202 , mbIsMultiPropertyCall(false)
205 , mpSdrObjectWeakReference(pObject)
215 , mbIsMultiPropertyCall(false)
216 , mpPropSet(pPropertySet)
217 , maPropMapEntries(pEntries)
218 , mpSdrObjectWeakReference(pObject)
232 mpImpl->mpMaster->dispose();
242 mpImpl->mbHasSdrObjectOwnership =
false;
253 mpImpl->mbHasSdrObjectOwnership =
true;
272 if ( !
mpImpl->mbHasSdrObjectOwnership )
275 OSL_ENSURE(
HasSdrObject(),
"SvxShape::HasSdrObjectOwnership: have the ownership of an object which I don't know!" );
294 mpImpl->mpMaster = pMaster;
303 if(
mpImpl->mpMaster->queryAggregation( rType, aAny ) )
310 const css::uno::Sequence< sal_Int8 > & SvxShape::getUnoTunnelId() throw()
313 return theSvxShapeUnoTunnelId.
getSeq();
316 sal_Int64 SAL_CALL SvxShape::getSomething(
const css::uno::Sequence< sal_Int8 >& rId )
318 if( isUnoTunnelId<SvxShape>(rId) )
320 return sal::static_int_cast<sal_Int64>(
reinterpret_cast<sal_uIntPtr
>(
this));
331 return mpImpl->maPropertyNotifier;
338 std::make_shared<ShapePositionProvider>( *
mpImpl ) );
340 std::make_shared<ShapeSizeProvider>( *
mpImpl ) );
353 OSL_PRECOND(
HasSdrObject(),
"SvxShape::impl_initFromSdrObject: not to be called without SdrObject!" );
398 OSL_PRECOND( pNewObj,
"SvxShape::Create: invalid new object!" );
403 OSL_ENSURE( ( pCreatedObj ==
nullptr ) || ( pCreatedObj == pNewObj ),
404 "SvxShape::Create: the same shape used for two different objects?! Strange ..." );
407 if ( pCreatedObj == pNewObj )
411 mpImpl->mpCreatedObj = pNewObj;
457 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
458 if(eMapUnit == MapUnit::Map100thMM)
468 OSL_FAIL(
"AW: Missing unit translation to PoolMetric!");
478 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
479 if(eMapUnit == MapUnit::Map100thMM)
489 OSL_FAIL(
"Missing unit translation to PoolMetric!");
499 MapUnit eMapUnit(GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0));
500 if(eMapUnit == MapUnit::Map100thMM)
508 aDecomposedTransform.
getScale() * fConvert,
515 OSL_FAIL(
"Missing unit translation to PoolMetric!");
525 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
526 if(eMapUnit == MapUnit::Map100thMM)
536 OSL_FAIL(
"AW: Missing unit translation to 100th mm!");
546 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
547 if(eMapUnit == MapUnit::Map100thMM)
557 OSL_FAIL(
"Missing unit translation to 100th mm!");
567 MapUnit eMapUnit = GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetMetric(0);
568 if(eMapUnit == MapUnit::Map100thMM)
576 aDecomposedTransform.
getScale() * fConvert,
583 OSL_FAIL(
"Missing unit translation to 100th mm!");
597 const sal_uInt16 nWID = pSrcProp->nWID;
599 && (nWID < OWN_ATTR_VALUE_START || nWID > OWN_ATTR_VALUE_END)
616 if(pEntry->
nWID >= OWN_ATTR_VALUE_START && pEntry->
nWID <= OWN_ATTR_VALUE_END)
620 xSet->setPropertyValue( pSrcProp->aName, *pUsrAny);
674 if(
nullptr != pSdrGrafObj)
678 if(GraphicType::Bitmap == rGraphic.GetType())
680 Reference< awt::XBitmap > xBmp( rGraphic.GetXGraphic(), UNO_QUERY );
697 pVDev->SetMapMode(
MapMode(MapUnit::Map100thMM));
698 pVDev->EnableOutput(
false);
715 const uno::Sequence<sal_Int8>
aSeq(
716 static_cast< const sal_Int8* >(aDestStrm.
GetData()),
724 GetSdrObject()->GetViewContact().getViewIndependentPrimitive2DContainer());
726 if(!xPrimitives.empty())
732 if(!aRange.isEmpty())
736 if(MapUnit::Map100thMM != aSourceMapUnit)
745 MapMode(MapUnit::Map100thMM)));
758 aRange.transform(aMapTransform);
771 Reference< awt::XBitmap > xBmp( aGraph.
GetXGraphic(), UNO_QUERY );
784 return mpImpl->mpMaster->getTypes();
810 static uno::Sequence<uno::Type> aTypeSequence{
825 return aTypeSequence;
830 static uno::Sequence<uno::Type> aTypeSequence{
847 return aTypeSequence;
852 static uno::Sequence<uno::Type> aTypeSequence{
873 return aTypeSequence;
878 static uno::Sequence<uno::Type> aTypeSequence{
894 return aTypeSequence;
899 static uno::Sequence<uno::Type> aTypeSequence{
915 return aTypeSequence;
919 static uno::Sequence<uno::Type> aTypeSequence{
939 return aTypeSequence;
960 static uno::Sequence<uno::Type> aTypeSequence{
980 return aTypeSequence;
988 return css::uno::Sequence<sal_Int8>();
996 if (rHint.GetId() != SfxHintId::ThisIsAnSdrHint)
1005 if ( !pSdrObject || pSdrHint->
GetObject() != pSdrObject )
1008 uno::Reference< uno::XInterface > xSelf( pSdrObject->
getWeakUnoShape() );
1012 mpSdrObjectWeakReference.reset(
nullptr);
1016 bool bClearMe =
false;
1037 if(!HasSdrObjectOwnership())
1039 if(
nullptr != pSdrObject)
1045 mpSdrObjectWeakReference.reset(
nullptr);
1049 if(
nullptr != pSdrObject && !pSdrObject->
IsInserted())
1055 if(!mpImpl->mbDisposing)
1138 return css::awt::Point( aPt.X(), aPt.Y() );
1155 if(dynamic_cast<const E3dCompoundObject* >(
GetSdrObject()) ==
nullptr)
1158 Point aLocalPos( Position.X, Position.Y );
1162 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
1186 return css::awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
1203 const bool b3DConstruction(dynamic_cast< E3dObject* >(
GetSdrObject()) &&
GetSdrObject()->getSdrModelFromSdrObject().isLocked());
1208 Size aLocalSize( rSize.Width, rSize.Height );
1221 if ( !aLocalSize.
Width() )
1227 if ( !aLocalSize.
Height() )
1289 if(
mpImpl->mbDisposing )
1292 mpImpl->mbDisposing =
true;
1294 lang::EventObject aEvt;
1296 mpImpl->maDisposeListeners.disposeAndClear(aEvt);
1297 mpImpl->maPropertyNotifier.disposing();
1305 bool bFreeSdrObject =
false;
1316 for (
size_t nNum = 0; nNum < nCount; ++nNum )
1318 if ( pPage->
GetObj( nNum ) == pObject )
1321 bFreeSdrObject =
true;
1329 if ( bFreeSdrObject )
1333 mpImpl->mbHasSdrObjectOwnership =
false;
1341 mpImpl->maDisposeListeners.addInterface(xListener);
1347 mpImpl->maDisposeListeners.removeInterface(aListener);
1358 return mpImpl->mpMaster->getPropertySetInfo();
1375 ::osl::MutexGuard aGuard(
maMutex );
1376 mpImpl->maPropertyNotifier.addPropertyChangeListener( _propertyName, _listener );
1382 ::osl::MutexGuard aGuard(
maMutex );
1383 mpImpl->maPropertyNotifier.removePropertyChangeListener( _propertyName, _listener );
1389 OSL_FAIL(
"SvxShape::addVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1395 OSL_FAIL(
"SvxShape::removeVetoableChangeListener: don't have any vetoable properties, so why ...?" );
1435 if( !pBitmapList.is() )
1442 const XBitmapEntry* pEntry = pBitmapList->GetBitmap(nPos);
1451 if( !pGradientList.is() )
1460 rSet.
Put( aGrdItem );
1467 if( !pHatchList.is() )
1474 const XHatchEntry* pEntry = pHatchList->GetHatch( nPos );
1476 rSet.
Put( aHatchItem );
1484 if( !pLineEndList.is() )
1491 const XLineEndEntry* pEntry = pLineEndList->GetLineEnd(nPos);
1495 rSet.
Put( aLEItem );
1500 rSet.
Put( aLSItem );
1509 if( !pDashList.is() )
1516 const XDashEntry* pEntry = pDashList->GetDash(nPos);
1518 rSet.
Put( aDashItem );
1534 if (aName.isEmpty())
1564 if( pItem->
GetName() == aName )
1579 mpImpl->mpMaster->setPropertyValue( rPropertyName, rVal );
1599 if (pMap && pMap->
nWID)
1612 if (rPropertyName ==
"HandlePathObjScale")
1617 bool bHandleScale{};
1618 if (rVal >>= bHandleScale)
1629 SAL_WARN_IF(rPropertyName !=
"FromWordArt" && rPropertyName !=
"GraphicColorMode",
1630 "svx.uno",
"Unknown Property: " << rPropertyName);
1631 throw beans::UnknownPropertyException( rPropertyName, static_cast<cppu::OWeakObject*>(
this));
1634 if ((pMap->
nFlags & beans::PropertyAttribute::READONLY) != 0)
1635 throw beans::PropertyVetoException(
1636 "Readonly property can't be set: " + rPropertyName,
1637 uno::Reference<drawing::XShape>(
this));
1645 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1651 sal_Int32 nCornerRadius = 0;
1652 if( !(rVal >>= nCornerRadius) || (nCornerRadius < 0) || (nCornerRadius > 5000000))
1653 throw IllegalArgumentException();
1659 if(
mpImpl->mpItemSet ==
nullptr )
1667 pSet =
mpImpl->mpItemSet.get();
1692 pSet->
Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1724 return mpImpl->mpMaster->getPropertyValue( PropertyName );
1739 if(pMap ==
nullptr )
1740 throw beans::UnknownPropertyException( PropertyName, static_cast<cppu::OWeakObject*>(
this));
1745 DBG_ASSERT( pMap->
nWID < OWN_ATTR_VALUE_START || pMap->
nWID > OWN_ATTR_VALUE_END,
"Not item property not handled!" );
1766 aSet.Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
1778 if(pMap && pMap->
nWID)
1792 const sal_Int32
nCount = aPropertyNames.getLength();
1793 const OUString* pNames = aPropertyNames.getConstArray();
1805 for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++, pNames++, pValues++ )
1811 catch( beans::UnknownPropertyException& ) {}
1812 catch( uno::Exception& ) {}
1817 uno::Reference< beans::XPropertySet > xSet;
1820 for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++, pNames++, pValues++ )
1824 xSet->setPropertyValue( *pNames, *pValues );
1826 catch( beans::UnknownPropertyException& ) {}
1827 catch( uno::Exception& ) {}
1839 mpImpl->mpItemSet.reset();
1845 const sal_Int32
nCount = aPropertyNames.getLength();
1846 const OUString* pNames = aPropertyNames.getConstArray();
1848 uno::Sequence< uno::Any > aRet( nCount );
1849 uno::Any* pValue = aRet.getArray();
1853 for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++, pValue++, pNames++ )
1859 catch( uno::Exception& )
1861 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1867 uno::Reference< beans::XPropertySet > xSet;
1870 for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++, pValue++, pNames++ )
1874 *pValue = xSet->getPropertyValue( *pNames );
1876 catch( uno::Exception& )
1878 OSL_FAIL(
"SvxShape::getPropertyValues, unknown property asked" );
1912 aAny <<= nAngle.
get();
1923 aAny <<= nAngle.
get();
1932 drawing::CircleKind eKind;
1936 eKind = drawing::CircleKind_FULL;
1939 eKind = drawing::CircleKind_CUT;
1942 eKind = drawing::CircleKind_ARC;
1945 eKind = drawing::CircleKind_SECTION;
1959 if( pMap->
aType != aAny.getValueType() )
1966 aAny <<= static_cast<sal_Int16>(
nValue);
1970 OSL_FAIL(
"SvxShape::GetAnyForItem() Returnvalue has wrong Type!" );
1986 return mpImpl->mpMaster->getPropertyState( PropertyName );
2001 throw beans::UnknownPropertyException( PropertyName, static_cast<cppu::OWeakObject*>(
this));
2003 beans::PropertyState eState;
2010 case SfxItemState::READONLY:
2011 case SfxItemState::SET:
2012 eState = beans::PropertyState_DIRECT_VALUE;
2014 case SfxItemState::DEFAULT:
2015 eState = beans::PropertyState_DEFAULT_VALUE;
2018 eState = beans::PropertyState_AMBIGUOUS_VALUE;
2023 if( beans::PropertyState_DIRECT_VALUE == eState )
2025 switch( pMap->
nWID )
2036 if( ( pItem ==
nullptr ) || pItem->
GetName().isEmpty() )
2037 eState = beans::PropertyState_DEFAULT_VALUE;
2051 if ( pItem ==
nullptr )
2052 eState = beans::PropertyState_DEFAULT_VALUE;
2063 switch( pProperty->
nWID )
2068 if( rValue >>= aPnt )
2070 Point aVclPoint( aPnt.X, aPnt.Y );
2098 drawing::HomogenMatrix3 aMatrix;
2099 if(rValue >>= aMatrix)
2107 aNewHomogenMatrix.
set(0, 0, aMatrix.Line1.Column1);
2108 aNewHomogenMatrix.
set(0, 1, aMatrix.Line1.Column2);
2109 aNewHomogenMatrix.
set(0, 2, aMatrix.Line1.Column3);
2110 aNewHomogenMatrix.
set(1, 0, aMatrix.Line2.Column1);
2111 aNewHomogenMatrix.
set(1, 1, aMatrix.Line2.Column2);
2112 aNewHomogenMatrix.
set(1, 2, aMatrix.Line2.Column3);
2113 aNewHomogenMatrix.
set(2, 0, aMatrix.Line3.Column1);
2114 aNewHomogenMatrix.
set(2, 1, aMatrix.Line3.Column2);
2115 aNewHomogenMatrix.
set(2, 2, aMatrix.Line3.Column3);
2129 sal_Int32 nNewOrdNum = 0;
2130 if(rValue >>= nNewOrdNum)
2145 awt::Rectangle aUnoRect;
2146 if(rValue >>= aUnoRect)
2148 Point aTopLeft( aUnoRect.X, aUnoRect.Y );
2149 Size aObjSize( aUnoRect.Width, aUnoRect.Height );
2163 if(rValue >>= bMirror )
2183 switch(pProperty->
nWID)
2188 Reference< drawing::XShape > xShape;
2189 if( rValue >>= xShape )
2205 awt::Point aUnoPoint;
2206 if( rValue >>= aUnoPoint )
2208 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2214 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2227 if( rValue >>= nId )
2239 if(
auto s = o3tl::tryAccess<drawing::PointSequenceSequence>(rValue) )
2245 else if(
auto cs = o3tl::tryAccess<drawing::PolyPolygonBezierCoords>(rValue) )
2252 if(aNewPolyPolygon.
count())
2256 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2273 awt::Point aUnoPoint;
2274 if(pMeasureObj && ( rValue >>= aUnoPoint ) )
2276 Point aPoint( aUnoPoint.X, aUnoPoint.Y );
2280 if(
GetSdrObject()->getSdrModelFromSdrObject().IsWriter() )
2292 drawing::BitmapMode
eMode;
2293 if(!(rValue >>= eMode) )
2295 sal_Int32 nMode = 0;
2296 if(!(rValue >>= nMode))
2299 eMode =
static_cast<drawing::BitmapMode
>(nMode);
2308 sal_Int16 nLayerId = sal_Int16();
2309 if( rValue >>= nLayerId )
2323 OUString aLayerName;
2324 if( rValue >>= aLayerName )
2327 if( pLayer !=
nullptr )
2338 if( rValue >>= nTmp )
2358 if( rValue >>= nTmp )
2383 if( rValue >>= bMoveProtect )
2393 if( rValue >>= aName )
2403 sal_Int16 nMaxScale = 0;
2404 if (rValue >>= nMaxScale)
2418 if( rValue >>= aTitle )
2427 OUString aDescription;
2428 if( rValue >>= aDescription )
2439 if( rValue >>= bPrintable )
2449 if( rValue >>= bVisible )
2458 bool bResizeProtect;
2459 if( rValue >>= bResizeProtect )
2468 sal_Int32 nPageNum = 0;
2469 if( (rValue >>= nPageNum) && ( nPageNum >= 0 ) && ( nPageNum <= 0xffff ) )
2476 const sal_uInt16 nDestinationPageNum(static_cast<sal_uInt16>((nPageNum << 1) - 1));
2478 if(nDestinationPageNum < rModel.GetPageCount())
2480 pNewPage = rModel.GetPage(nDestinationPageNum);
2501 if( rValue >>= aApiName )
2519 OUString sExceptionMessage (
"IllegalArgumentException in SvxShape::setPropertyValueImpl."
2520 " Property Type: " + pProperty->
aType.getTypeName() +
" Property nWID: " + OUString::number(pProperty->
nWID)
2521 +
" Value Type: " + (rValue.hasValue() ? rValue.getValueTypeName() :
"void (no value)"));
2523 throw lang::IllegalArgumentException(sExceptionMessage,
nullptr, 1);
2529 switch( pProperty->
nWID )
2553 awt::Point aPnt( aVclPoint.X(), aVclPoint.Y() );
2563 drawing::HomogenMatrix3 aMatrix;
2569 aMatrix.Line1.Column1 = aNewHomogenMatrix.
get(0, 0);
2570 aMatrix.Line1.Column2 = aNewHomogenMatrix.
get(0, 1);
2571 aMatrix.Line1.Column3 = aNewHomogenMatrix.
get(0, 2);
2572 aMatrix.Line2.Column1 = aNewHomogenMatrix.
get(1, 0);
2573 aMatrix.Line2.Column2 = aNewHomogenMatrix.
get(1, 1);
2574 aMatrix.Line2.Column3 = aNewHomogenMatrix.
get(1, 2);
2575 aMatrix.Line3.Column1 = aNewHomogenMatrix.
get(2, 0);
2576 aMatrix.Line3.Column2 = aNewHomogenMatrix.
get(2, 1);
2577 aMatrix.Line3.Column3 = aNewHomogenMatrix.
get(2, 2);
2593 if(!rValue.hasValue())
2594 throw uno::RuntimeException();
2601 bool bIsFontwork =
false;
2604 rValue <<= bIsFontwork;
2615 css::awt::Rectangle aUnoRect(
2616 aTopLeft.X(), aTopLeft.Y(),
2617 aObjSize.getWidth(), aObjSize.getHeight() );
2618 rValue <<= aUnoRect;
2629 css::awt::Rectangle aUnoRect(
2630 aTopLeft.X(), aTopLeft.Y(),
2631 aObjSize.getWidth(), aObjSize.getHeight() );
2632 rValue <<= aUnoRect;
2648 sId = RID_UNODRAW_OLE2;
2652 sId = RID_UNODRAW_GRAPHICS;
2656 sId = RID_UNODRAW_OBJECTS;
2668 bool bMirror =
false;
2687 switch(pProperty->
nWID)
2711 awt::Point aUnoPoint( aPoint.X(), aPoint.Y() );
2713 rValue <<= aUnoPoint;
2732 drawing::PolyPolygonBezierCoords aRetval;
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;
2829 OUString aDescription(
GetSdrObject()->GetDescription() );
2830 rValue <<= aDescription;
2852 sal_Int32 nPageNumber = pPage ? pPage->
GetPageNum() : 0;
2855 rValue <<= nPageNumber;
2885 bool bIsWMF =
false;
2889 if ( aLnk.
GetType() == GfxLinkType::NativeWmf )
2892 uno::Sequence<sal_Int8>
aSeq(reinterpret_cast<sal_Int8 const *>(aLnk.
GetData()), static_cast<sal_Int32>(aLnk.
GetDataSize()));
2902 const uno::Sequence<sal_Int8>
aSeq(
2903 static_cast< const sal_Int8* >(aDestStrm.GetData()),
2904 aDestStrm.GetEndOfData());
2933 rState = beans::PropertyState_DIRECT_VALUE;
2937 rState = beans::PropertyState_AMBIGUOUS_VALUE;
2940 else if((( pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
2943 rState = beans::PropertyState_DIRECT_VALUE;
2962 else if((pProperty->
nWID >= OWN_ATTR_VALUE_START && pProperty->
nWID <= OWN_ATTR_VALUE_END ) ||
2976 const sal_Int32
nCount = aPropertyName.getLength();
2977 uno::Sequence< beans::PropertyState > aRet( nCount );
2979 std::transform(aPropertyName.begin(), aPropertyName.end(), aRet.begin(),
2980 [
this](
const OUString& rName) -> beans::PropertyState {
return getPropertyState(rName); });
2990 mpImpl->mpMaster->setPropertyToDefault( PropertyName );
3005 throw beans::UnknownPropertyException( PropertyName, static_cast<cppu::OWeakObject*>(
this));
3020 return mpImpl->mpMaster->getPropertyDefault( aPropertyName );
3035 throw beans::UnknownPropertyException( aPropertyName, static_cast<cppu::OWeakObject*>(
this));
3037 if(( pMap->
nWID >= OWN_ATTR_VALUE_START && pMap->
nWID <= OWN_ATTR_VALUE_END ) ||
3045 throw beans::UnknownPropertyException(
"No WhichID " + OUString::number(pMap->
nWID) +
" for " + aPropertyName, static_cast<cppu::OWeakObject*>(
this));
3048 aSet.Put(
GetSdrObject()->getSdrModelFromSdrObject().GetItemPool().GetDefaultItem(pMap->
nWID));
3059 throw lang::DisposedException();
3062 if(dynamic_cast<const SdrGrafObj*>(
GetSdrObject()) !=
nullptr)
3074 if( dynamic_cast<const E3dLatheObj* >(
GetSdrObject()) !=
nullptr|| dynamic_cast<const E3dExtrudeObj* >(
GetSdrObject()) !=
nullptr)
3083 const uno::Sequence<OUString>& aPropertyNames )
3085 for (
const auto& rPropertyName : aPropertyNames )
3090 const uno::Sequence<OUString>& aPropertyNames )
3092 ::std::vector<uno::Any> ret;
3093 ret.reserve(aPropertyNames.getLength());
3094 std::transform(aPropertyNames.begin(), aPropertyNames.end(), std::back_inserter(ret),
3096 return uno::Sequence<uno::Any>( ret.data(), ret.size() );
3156 return mpImpl->mpMaster->getSupportedServiceNames();
3176 static const uno::Sequence<OUString> aSvxShape_GroupServices
3178 sUNO_service_drawing_Shape };
3179 return aSvxShape_GroupServices;
3183 static const uno::Sequence<OUString> aSvxShape_CustomShapeServices
3198 sUNO_service_drawing_RotationDescriptor };
3199 return aSvxShape_CustomShapeServices;
3203 static const uno::Sequence<OUString> aSvxShape_LineServices
3220 sUNO_service_drawing_RotationDescriptor };
3221 return aSvxShape_LineServices;
3226 static const uno::Sequence<OUString> aSvxShape_RectServices
3242 sUNO_service_drawing_RotationDescriptor };
3243 return aSvxShape_RectServices;
3251 static const uno::Sequence<OUString> aSvxShape_CircServices
3268 sUNO_service_drawing_RotationDescriptor };
3269 return aSvxShape_CircServices;
3275 static const uno::Sequence<OUString> aSvxShape_PathServices
3293 sUNO_service_drawing_RotationDescriptor };
3294 return aSvxShape_PathServices;
3300 static const uno::Sequence<OUString> aSvxShape_PolyServices
3319 sUNO_service_drawing_RotationDescriptor };
3320 return aSvxShape_PolyServices;
3326 static const uno::Sequence<OUString> aSvxShape_FreeLineServices
3345 sUNO_service_drawing_RotationDescriptor };
3346 return aSvxShape_FreeLineServices;
3352 static const uno::Sequence<OUString> aSvxShape_FreeFillServices
3371 sUNO_service_drawing_RotationDescriptor };
3372 return aSvxShape_FreeFillServices;
3379 static const uno::Sequence<OUString> aSvxShape_TextServices
3396 sUNO_service_drawing_RotationDescriptor };
3397 return aSvxShape_TextServices;
3402 static const uno::Sequence<OUString> aSvxShape_GrafServices
3417 sUNO_service_drawing_RotationDescriptor};
3418 return aSvxShape_GrafServices;
3423 static const uno::Sequence<OUString> aSvxShape_Ole2Services
3438 sUNO_service_drawing_RotationDescriptor };
3439 return aSvxShape_Ole2Services;
3444 static const uno::Sequence<OUString> aSvxShape_CaptionServices
3461 sUNO_service_drawing_RotationDescriptor };
3462 return aSvxShape_CaptionServices;
3467 static const uno::Sequence<OUString> aSvxShape_PageServices
3469 sUNO_service_drawing_Shape };
3470 return aSvxShape_PageServices;
3475 static const uno::Sequence<OUString> aSvxShape_MeasureServices
3494 sUNO_service_drawing_RotationDescriptor };
3495 return aSvxShape_MeasureServices;
3500 static const uno::Sequence<OUString> aSvxShape_FrameServices
3502 sUNO_service_drawing_Shape };
3503 return aSvxShape_FrameServices;
3508 static const uno::Sequence<OUString> aSvxShape_UnoServices
3510 sUNO_service_drawing_Shape };
3511 return aSvxShape_UnoServices;
3516 static const uno::Sequence<OUString> aSvxShape_EdgeServices
3534 sUNO_service_drawing_RotationDescriptor };
3535 return aSvxShape_EdgeServices;
3539 static const uno::Sequence<OUString> aSvxShape_MediaServices
3541 sUNO_service_drawing_Shape };
3542 return aSvxShape_MediaServices;
3548 #if OSL_DEBUG_LEVEL > 0
3550 OSL_ENSURE( nIdent ==
OBJ_UNO,
"SvxShape::_getSupportedServiceNames: SdrInventor::FmForm, but no UNO object?" );
3552 static const uno::Sequence<OUString> aSvxShape_UnoServices
3554 sUNO_service_drawing_Shape };
3555 return aSvxShape_UnoServices;
3557 OSL_FAIL(
"SvxShape::_getSupportedServiceNames: could not determine object type!" );
3558 uno::Sequence< OUString >
aSeq;
3571 uno::Reference< container::XIndexContainer > xGluePoints(
mxGluePoints );
3588 if(
nullptr != pSdrObject)
3592 if(
nullptr != pParentSdrObjList)
3602 if(
nullptr != pParentSdrObject)
3611 if(
nullptr != pParentSdrPage)
3622 OSL_FAIL(
"SvxShape::getParent( ): unexpected Parent SdrObjList" );
3627 return uno::Reference<uno::XInterface>();
3632 throw lang::NoSupportException();
3702 sal_Int16 nOldLocks =
static_cast<sal_Int16
>(
mnLockCount);
3716 switch(
mpImpl->mnObjId )
3730 if( nId !=
mpImpl->mnObjId )
3760 "svx::SvxShapeText::~SvxShapeText(), text shape with living text ranges destroyed!");
3792 return "SvxShapeText";
3816 const sal_Int64 nReturn = SvxShape::getSomething( rId );
3820 return SvxUnoTextBase::getSomething( rId );
3826 return css::uno::Sequence<sal_Int8>();
3835 pEditSource->
lock();
3899 css::text::WritingMode
eMode;
3900 if( rValue >>= eMode )
3916 rValue <<= css::text::WritingMode_TB_RL;
3918 rValue <<= css::text::WritingMode_LR_TB;
3964 uno::Reference< drawing::XShape > xShape( pObj->getUnoShape(), uno::UNO_QUERY );
3971 SvxShape* pShape = comphelper::getUnoTunnelImplementation<SvxShape>( xShape );
3978 SvxShape* pSvxShape = comphelper::getUnoTunnelImplementation<SvxShape>( xInt );
3979 return pSvxShape ? pSvxShape->
GetSdrObject() :
nullptr;
3984 if(!pMap || !pMap->
nWID)
3994 if(!pMap || !pMap->
nWID)
void TakeNotPersistAttr(SfxItemSet &rAttr) const
css::uno::Any getPropertyValue(const SfxItemPropertyMapEntry *pMap) const
virtual void Shear(const Point &rRef, Degree100 nAngle, double tn, bool bVShear)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
constexpr OUStringLiteral sUNO_service_drawing_PolyLineShape
virtual void SAL_CALL removePropertiesChangeListener(const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual bool getPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, css::uno::Any &rValue) override
constexpr OUStringLiteral sUNO_service_drawing_CaptionShape
const css::uno::WeakReference< css::uno::XInterface > & getWeakUnoShape() const
uno::Any SvxItemPropertySet_getPropertyValue(const SfxItemPropertyMapEntry *pMap, const SfxItemSet &rSet)
virtual void unlock()
called from the XActionLockable interface methods on final unlock
#define OWN_ATTR_EDGE_START_OBJ
constexpr OUStringLiteral sUNO_service_drawing_OLE2Shape
default implementation of an IPropertyValueProvider
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &aType) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
virtual css::uno::Reference< css::container::XIndexContainer > SAL_CALL getGluePoints() override
virtual void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
uno::Reference< drawing::XShape > GetXShapeForSdrObject(SdrObject *pObj)
returns a StarOffice API wrapper for the given SdrObject
void SetMaxScale(sal_Int16 nMaxScale)
#define OWN_ATTR_BOUNDRECT
constexpr TypedWhichId< XLineEndItem > XATTR_LINEEND(XATTR_LINE_FIRST+5)
constexpr OUStringLiteral sUNO_service_drawing_LineProperties
css::uno::Any _getPropertyDefault(const OUString &aPropertyName)
SdrHintKind GetKind() const
virtual const tools::Rectangle & GetCurrentBoundRect() const
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyDefaults(const css::uno::Sequence< OUString > &aPropertyNames) override
SvxShapeRect(SdrObject *pObj)
constexpr OUStringLiteral sUNO_service_drawing_LineShape
Polygon/PolyPolygon represented by SdrPathObj.
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
constexpr TypedWhichId< XLineStartItem > XATTR_LINESTART(XATTR_LINE_FIRST+4)
void updateShapeKind()
since polygon shapes can change their kind during editing, we have to recheck it here.
#define OWN_ATTR_METAFILE
void SetResizeProtect(bool bProt)
#define OWN_ATTR_CAPTION_POINT
void SetupOutlinerFormatting(SdrOutliner &rOutl, tools::Rectangle &rPaintRect) const
Setup given Outliner equivalently to SdrTextObj::Paint()
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
css::awt::Point maPosition
::cppu::OWeakObject & getContext() const
#define OWN_ATTR_GLUEID_TAIL
const MapMode & GetPrefMapMode() const
Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
void SetName(const OUString &rStr, const bool bSetChanged=true)
#define OWN_ATTR_MIRRORED
abstract object (SdrObject)
constexpr OUStringLiteral sUNO_service_drawing_MeasureProperties
rectangle (round corners optional)
virtual bool getPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, css::uno::Any &rValue)
void _setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue)
virtual void lock()
called from the XActionLockable interface methods on initial locking
constexpr OUStringLiteral sUNO_service_style_ParagraphProperties
constexpr TypedWhichId< SfxMetricItem > XATTR_FILLBMP_SIZEX(XATTR_FILL_FIRST+9)
void SetMirrored(bool _bMirrored)
virtual bool getPropertyStateImpl(const SfxItemPropertyMapEntry *pProperty, css::beans::PropertyState &rState) override
constexpr TypedWhichId< SdrObjPrintableItem > SDRATTR_OBJPRINTABLE(SDRATTR_NOTPERSIST_FIRST+2)
void SetPrefMapMode(const MapMode &rPrefMapMode)
#define OWN_ATTR_EDGE_START_POS
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
#define OWN_ATTR_FRAMERECT
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
bool ConvertGDIMetaFileToWMF(const GDIMetaFile &rMTF, SvStream &rTargetStream, FilterConfigItem const *pConfigItem, bool bPlaceable)
#define OWN_ATTR_TRANSFORMATION
static bool svx_needLogicRectHack(SdrObject const *pObj)
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
virtual void SAL_CALL setActionLocks(sal_Int16 nLock) override
virtual OUString SAL_CALL getName() override
void setUnoShape(const css::uno::Reference< css::uno::XInterface > &_rxUnoShape)
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
#define OWN_ATTR_MISC_OBJ_DESCRIPTION
XDashListRef GetDashList() const
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
std::unique_ptr< SvxShapeImpl > mpImpl
these members are used to optimize XMultiProperty calls
void SetHandleScale(bool bHandleScale)
Scaling is ignored from the transform matrix by default, to not break compatibility.
virtual OUString TakeObjNameSingul() const
constexpr TypedWhichId< SdrYesNoItem > SDRATTR_OBJMOVEPROTECT(SDRATTR_NOTPERSIST_FIRST+0)
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
B2DPolyPolygon UnoPointSequenceSequenceToB2DPolyPolygon(const css::drawing::PointSequenceSequence &rPointSequenceSequenceSource)
virtual void SAL_CALL setString(const OUString &aString) override
bool AreThereOwnUsrAnys() const
constexpr OUStringLiteral sUNO_service_drawing_CustomShapeProperties
constexpr TypedWhichId< XLineDashItem > XATTR_LINEDASH(XATTR_LINE_FIRST+1)
constexpr TypedWhichId< XFillHatchItem > XATTR_FILLHATCH(XATTR_FILL_FIRST+3)
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
static void Free(SdrObject *&_rpObject)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
SVX_DLLPRIVATE void impl_construct()
CTOR-Impl.
virtual SdrObjKind GetObjIdentifier() const
constexpr OUStringLiteral sUNO_service_style_CharacterProperties
virtual ~SvxShape() override
virtual void Create(SdrObject *pNewOpj, SvxDrawPage *pNewPage) override
#define OWN_ATTR_FILLBMP_MODE
virtual css::awt::Size SAL_CALL getSize() override
const sal_uInt8 * GetData() const
#define OWN_ATTR_UINAME_SINGULAR
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
SvxShapeImpl(SvxShape &_rAntiImpl,::osl::Mutex &_rMutex)
css::uno::WeakReference< css::container::XIndexContainer > mxGluePoints
void ConnectToNode(bool bTail1, SdrObject *pObj) override
void SetGrabBagItem(const css::uno::Any &rVal)
const SfxItemPropertyMapEntry * getByName(std::u16string_view rName) const
double get(sal_uInt16 nRow, sal_uInt16 nColumn) const
constexpr TypedWhichId< SdrCircKindItem > SDRATTR_CIRCKIND(SDRATTR_CIRC_FIRST+0)
#define OWN_ATTR_UINAME_PLURAL
virtual const tools::Rectangle & GetSnapRect() const
virtual css::uno::Any SAL_CALL queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
#define OWN_ATTR_ISFONTWORK
virtual bool setPropertyToDefaultImpl(const SfxItemPropertyMapEntry *pProperty) override
constexpr tools::Long Width() const
std::size_t GetEndOfData() const
sal_uInt32 getShapeKind() const
constexpr OUStringLiteral sUNO_service_drawing_TextProperties
basegfx::B2DPolyPolygon GetEdgeTrackPath() const
void ClearMergedItem(const sal_uInt16 nWhich=0)
constexpr TypedWhichId< SdrAngleItem > SDRATTR_CIRCENDANGLE(SDRATTR_CIRC_FIRST+2)
void ForceMetricToItemPoolMetric(Pair &rPoint) const
const XGradient & GetGradient() const
const B2DVector & getTranslate() const
UNOTOOLS_DLLPUBLIC bool GetTitle(OUString const &url, OUString *title)
virtual css::uno::Reference< css::uno::XInterface > getUnoShape()
css::uno::Any * GetUsrAnyForID(SfxItemPropertyMapEntry const &entry) const
SdrPage * getSdrPageFromSdrObject() const
constexpr sal_uInt16 SDRATTR_NOTPERSIST_LAST(SDRATTR_OBJVISIBLE)
virtual void Create(SdrObject *pNewOpj, SvxDrawPage *pNewPage)
#define OWN_ATTR_INTEROPGRABBAG
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
static tools::Rectangle svx_getLogicRectHack(SdrObject const *pObj)
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
#define OWN_ATTR_MISC_OBJ_TITLE
B2DHomMatrix createScaleB2DHomMatrix(double fScaleX, double fScaleY)
constexpr OUStringLiteral sUNO_service_drawing_RectangleShape
B2DHomMatrix createScaleShearXRotateTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonBezierDescriptor
#define SVXMAP_SHAPE
Sorter.
const Size & GetPrefSize() const
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...
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
virtual void SAL_CALL setName(const OUString &aName) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType)
#define OWN_ATTR_EDGE_END_POS
virtual OUString SAL_CALL getImplementationName() override
const GDIMetaFile & GetGDIMetaFile() const
XLineEndListRef GetLineEndList() const
virtual sal_Int16 SAL_CALL resetActionLocks() override
void setGluePointIndex(bool bTail, sal_Int32 nId=-1)
this method is used by the api to set a glue point for a connection nId == -1 : The best default poin...
const XDash & GetDash() const
constexpr TypedWhichId< SdrAngleItem > SDRATTR_ROTATEANGLE(SDRATTR_NOTPERSIST_FIRST+16)
std::unique_ptr< SdrOutliner > createOutliner(OutlinerMode nOutlinerMode)
void SetMoveProtect(bool bProt)
constexpr OUStringLiteral sUNO_service_drawing_PageShape
constexpr OUStringLiteral sUNO_service_drawing_FrameShape
virtual void SetChanged(bool bFlg=true)
o3tl::strong_int< sal_uInt8, struct SdrLayerIDTag > SdrLayerID
virtual void SAL_CALL dispose() override
B2IRange fround(const B2DRange &rRange)
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType) override
const GraphicObject & GetGraphicObject() const
SdrLayer * GetLayer(sal_uInt16 i)
bool HasSdrObject() const
constexpr auto convert(N n, sal_Int64 mul, sal_Int64 div)
SdrObject * GetConnectedNode(bool bTail1) const override
virtual ~SvxShapeRect() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
uno::Reference< uno::XInterface > SvxUnoGluePointAccess_createInstance(SdrObject *pObject)
Create a SvxUnoGluePointAccess.
css::uno::Sequence< css::uno::Type > const & _getTypes()
constexpr OUStringLiteral sUNO_service_drawing_MediaShape
static css::uno::Reference< css::awt::XBitmap > CreateBitmap(const BitmapEx &rBitmap)
bool mbHasSdrObjectOwnership
Polyline represented by SdrPathObj.
virtual OUString SAL_CALL getImplementationName() override
virtual void getCurrentValue(css::uno::Any &_out_rValue) const override
returns the current value of the property which the provider is responsible for
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
constexpr OUStringLiteral sUNO_service_drawing_OpenBezierShape
virtual void SAL_CALL addActionLock() override
constexpr TypedWhichId< SvxWritingModeItem > SDRATTR_TEXTDIRECTION(SDRATTR_NOTPERSIST_FIRST+34)
virtual void SetLayer(SdrLayerID nLayer)
constexpr TypedWhichId< SdrTextFitToSizeTypeItem > SDRATTR_TEXT_FITTOSIZE(SDRATTR_MISC_FIRST+3)
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames) override
virtual void SAL_CALL addPropertiesChangeListener(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
UNDERLYING_TYPE get() const
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonShape
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
constexpr OUStringLiteral sUNO_service_drawing_Shape
constexpr OUStringLiteral sUNO_service_drawing_ShadowProperties
constexpr TypedWhichId< XFillGradientItem > XATTR_FILLGRADIENT(XATTR_FILL_FIRST+2)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
#define DBG_ASSERT(sCon, aError)
constexpr OUStringLiteral sUNO_service_style_CharacterPropertiesAsian
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL setPosition(const css::awt::Point &aPosition) override
#define OWN_ATTR_TEXTFITTOSIZESCALE
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
Point GetTailPoint(bool bTail) const
void SingleObjectPainter(OutputDevice &rOut) const
void TakeSdrObjectOwnership()
takes the ownership of the SdrObject.
const Graphic & GetGraphic() const
constexpr OUStringLiteral sUNO_service_drawing_GroupShape
constexpr TypedWhichId< SdrLayerNameItem > SDRATTR_LAYERNAME(SDRATTR_NOTPERSIST_FIRST+4)
virtual void TRSetBaseGeometry(const basegfx::B2DHomMatrix &rMatrix, const basegfx::B2DPolyPolygon &rPolyPolygon)
B2DPolyPolygon UnoPolyPolygonBezierCoordsToB2DPolyPolygon(const css::drawing::PolyPolygonBezierCoords &rPolyPolygonBezierCoordsSource)
void ForceMetricTo100th_mm(Pair &rPoint) const
css::uno::Any GetAnyForItem(SfxItemSet const &aSet, const SfxItemPropertyMapEntry *pMap) const
void BroadcastObjectChange() const
constexpr sal_uInt16 SDRATTR_NOTPERSIST_FIRST(SDRATTR_CIRC_LAST+1)
static OUString getNameFromId(sal_uInt32 nId)
virtual void SAL_CALL setSize(const css::awt::Size &aSize) override
virtual Degree100 GetShearAngle(bool bVertical=false) const
const SfxItemPropertyMapEntry * getPropertyMapEntry(std::u16string_view rName) const
virtual Point GetPoint(sal_uInt32 i) const override
OutlineText, special text object for StarDraw.
#define OWN_ATTR_GLUEID_HEAD
constexpr TypedWhichId< SdrObjVisibleItem > SDRATTR_OBJVISIBLE(SDRATTR_NOTPERSIST_FIRST+35)
const OUString & GetName() const
void SetMergedItemSetAndBroadcast(const SfxItemSet &rSet, bool bClearAllItems=false)
XGradientListRef GetGradientList() const
SdrModel & getSdrModelFromSdrObject() const
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
void transform(const basegfx::B2DHomMatrix &rMatrix)
virtual void SAL_CALL setString(const OUString &aString) override
sal_uInt32 GetOrdNum() const
The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below a...
SdrLayer * GetLayerPerID(SdrLayerID nID)
constexpr OUStringLiteral sUNO_service_drawing_ConnectorShape
bool mbIsMultiPropertyCall
void SetVisible(bool bVisible)
virtual void SetLogicRect(const tools::Rectangle &rRect)
virtual void Move(const Size &rSiz)
css::uno::Type const & get()
void SetMergedItem(const SfxPoolItem &rItem)
std::unique_ptr< SfxItemSet > mpItemSet
constexpr OUStringLiteral sUNO_service_drawing_Text
void SetTailPoint(bool bTail, const Point &rPt)
bool IsResizeProtect() const
void StartListening(SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
virtual void SAL_CALL setAllPropertiesToDefault() override
void SetUserCall(SdrObjUserCall *pUser)
constexpr TypedWhichId< SdrShearAngleItem > SDRATTR_SHEARANGLE(SDRATTR_NOTPERSIST_FIRST+17)
void _setPropertyToDefault(const OUString &PropertyName)
const B2DVector & getScale() const
This class represents an embedded or linked bitmap graphic object.
constexpr TypedWhichId< SdrLayerIdItem > SDRATTR_LAYERID(SDRATTR_NOTPERSIST_FIRST+3)
GfxLink GetGfxLink() const
#define OWN_ATTR_PAGE_NUMBER
constexpr OUStringLiteral sUNO_service_drawing_PolyPolygonDescriptor
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
void ObtainSettingsFromPropertySet(const SvxItemPropertySet &rPropSet)
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
SfxItemPool * GetPool() const
virtual SdrObject * RemoveObject(size_t nObjNum)
constexpr OUStringLiteral sUNO_service_drawing_TextShape
virtual SdrInventor GetObjInventor() const
constexpr TypedWhichId< SdrYesNoItem > SDRATTR_OBJSIZEPROTECT(SDRATTR_NOTPERSIST_FIRST+1)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
css::uno::Any GetBitmap(bool bMetaFile=false) const
void setPropertyValue(const SfxItemPropertyMapEntry *pMap, const css::uno::Any &rVal) const
void endSetPropertyValues()
virtual ~SvxShapeText() override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
constexpr OUStringLiteral sUNO_service_drawing_MeasureShape
virtual bool getPropertyStateImpl(const SfxItemPropertyMapEntry *pProperty, css::beans::PropertyState &rState)
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
natural cubic Spline (ni)
constexpr OUStringLiteral sUNO_service_drawing_GraphicObjectShape
const basegfx::B2DPolyPolygon & GetLineEnd() const
constexpr OUStringLiteral sUNO_service_drawing_ConnectorProperties
#define E3D_INVENTOR_FLAG
Globals.
const PropertyValue * pValues
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
virtual void SAL_CALL removeActionLock() override
css::uno::Reference< css::graphic::XPrimitive2D > Primitive2DReference
virtual bool setPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, const css::uno::Any &rValue) override
void SetReferencedPage(SdrPage *pNewPage)
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType) override
const XHatch & GetHatch() const
virtual bool IsVerticalWriting() const
constexpr TypedWhichId< XFillFloatTransparenceItem > XATTR_FILLFLOATTRANSPARENCE(XATTR_FILL_FIRST+11)
const SvxItemPropertySet * mpPropSet
void setMaster(SvxShapeMaster *pMaster)
XHatchListRef GetHatchList() const
virtual css::awt::Point SAL_CALL getPosition() override
#define OWN_ATTR_EDGE_END_OBJ
constexpr OUStringLiteral sUNO_service_drawing_FillProperties
svx::PropertyChangeNotifier maPropertyNotifier
oslInterlockedCount m_refCount
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
bool isSuppressGetBitmap() const
void GetGrabBagItem(css::uno::Any &rVal) const
SVX_DLLPRIVATE void impl_initFromSdrObject()
initializes SdrObj-dependent members.
SdrPage * GetReferencedPage() const
#define SAL_WARN_IF(condition, area, stream)
virtual OUString SAL_CALL getString() override
constexpr tools::Long Height() const
css::uno::Any _getPropertyValue(const OUString &PropertyName)
static void svx_setLogicRectHack(SdrObject *pObj, const tools::Rectangle &rRect)
constexpr OUStringLiteral sUNO_service_drawing_RotationDescriptor
constexpr o3tl::Length MapToO3tlLength(MapUnit eU, o3tl::Length ePixelValue=o3tl::Length::px)
constexpr TypedWhichId< XFillBmpStretchItem > XATTR_FILLBMP_STRETCH(XATTR_FILL_FIRST+16)
::tools::WeakReference< SdrObject > mpSdrObjectWeakReference
object that represents a SdrPage
css::uno::Reference< css::uno::XInterface > const & getUnoPage()
constexpr OUStringLiteral sUNO_service_style_ParagraphPropertiesAsian
GfxLinkType GetType() const
virtual void SAL_CALL firePropertiesChangeEvent(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Sequence< css::uno::Any > &aValues) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
const SfxItemSet & GetMergedItemSet() const
Item2Range GetItemSurrogates(sal_uInt16 nWhich) const
void EndListening(SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
SdrObject * GetSdrObject() const
void SetDescription(const OUString &rStr)
const o3tl::sorted_vector< const SfxItemPropertyMapEntry *, SfxItemPropertyMapCompare > & getPropertyEntries() const
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual SdrPage * getSdrPageFromSdrObjList() const
constexpr TypedWhichId< XFillBmpTileItem > XATTR_FILLBMP_TILE(XATTR_FILL_FIRST+7)
::tools::WeakReference< SdrObject > mpCreatedObj
CL, OD 2005-07-19 #i52126# - this is initially 0 and set when a SvxShape::Create() call is executed...
virtual void SAL_CALL setPropertiesToDefault(const css::uno::Sequence< OUString > &aPropertyNames) override
Sequence< sal_Int8 > aSeq
static void SvxItemPropertySet_ObtainSettingsFromPropertySet(const SvxItemPropertySet &rPropSet, SfxItemSet &rSet, const uno::Reference< beans::XPropertySet > &xSet, const SfxItemPropertyMap *pMap)
void SetPrefSize(const Size &rPrefSize)
void SvxItemPropertySet_setPropertyValue(const SfxItemPropertyMapEntry *pMap, const uno::Any &rVal, SfxItemSet &rSet)
const Point & GetAnchorPos() const
virtual OUString TakeObjNamePlural() const
constexpr OUStringLiteral sUNO_service_drawing_ClosedBezierShape
virtual void Rotate(const Point &rRef, Degree100 nAngle, double sn, double cs)
Universal Network Object packed into SvDraw object.
#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER
XBitmapListRef GetBitmapList() const
css::uno::Sequence< OUString > _getSupportedServiceNames()
virtual void SetSnapRect(const tools::Rectangle &rRect)
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
constexpr OUStringLiteral sUNO_service_drawing_CustomShape
void SetEdgeTrackPath(const basegfx::B2DPolyPolygon &rPoly)
sal_uInt32 GetDataSize() const
OUString const & GetName() const
sal_Int32 getGluePointIndex(bool bTail)
this method is used by the api to return a glue point id for a connection.
void B2DPolyPolygonToUnoPolyPolygonBezierCoords(const B2DPolyPolygon &rPolyPolygon, css::drawing::PolyPolygonBezierCoords &rPolyPolygonBezierCoordsRetval)
BitmapEx convertPrimitive2DSequenceToBitmapEx(const std::deque< css::uno::Reference< css::graphic::XPrimitive2D > > &rSequence, const basegfx::B2DRange &rTargetRange, const sal_uInt32 nMaximumQuadraticPixels)
virtual bool setPropertyToDefaultImpl(const SfxItemPropertyMapEntry *pProperty)
virtual void NbcSetPoint(const Point &rPnt, sal_uInt32 i) override
#define OWN_ATTR_LDBITMAP
basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D &aViewInformation) const
virtual Degree100 GetRotateAngle() const
virtual SdrObject * SetObjectOrdNum(size_t nOldObjNum, size_t nNewObjNum)
Modify ZOrder of an SdrObject.
#define DBG_TESTSOLARMUTEX()
virtual const tools::Rectangle & GetLogicRect() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
SvxShape(SdrObject *pObj)
this abstract class is the interface for an instance that likes to enhance the functionality of compo...
const SfxItemPropertyMap & getPropertyMap() const
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
virtual OUString SAL_CALL getShapeType() override
continuously activated OLE (PlugIn-Frame or similar)
bool SetFillAttribute(sal_uInt16 nWID, const OUString &rName)
const SvxItemPropertySet * ImplGetSvxUnoOutlinerTextCursorSvxPropertySet()
SdrObjList * getParentSdrObjListFromSdrObject() const
void InvalidateSdrObject()
css::beans::PropertyState _getPropertyState(const OUString &PropertyName)
virtual bool TRGetBaseGeometry(basegfx::B2DHomMatrix &rMatrix, basegfx::B2DPolyPolygon &rPolyPolygon) const
B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY)
SdrObject * GetSdrObjectFromXShape(const uno::Reference< drawing::XShape > &xShape)
returns the SdrObject from the given StarOffice API wrapper
const SdrLayerAdmin & GetLayerAdmin() const
helper class for notifying XPropertyChangeListeners
virtual void SetChanged()
SvxUnoPropertyMapProvider & getSvxMapProvider()
::comphelper::OInterfaceContainerHelper2 maDisposeListeners
#define OWN_ATTR_MEASURE_START_POS
TitleText, special text object for StarDraw.
sal_uInt16 mnLockCount
used from the XActionLockable interface
constexpr OUStringLiteral sUNO_service_drawing_EllipseShape
constexpr TypedWhichId< SdrMetricItem > SDRATTR_ECKENRADIUS(SDRATTR_MISC_FIRST+0)
sal_uInt16 GetPageNum() const
const css::uno::Sequence< sal_Int8 > & getSeq() const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
void SetPrintable(bool bPrn)
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
periodic cubic Spline (ni)
void setShapeKind(sal_uInt32 nKind)
constexpr TypedWhichId< XFillBmpSizeYItem > XATTR_FILLBMP_SIZEY(XATTR_FILL_FIRST+10)
constexpr TypedWhichId< SvXMLAttrContainerItem > SDRATTR_XMLATTRIBUTES(SDRATTR_MISC_FIRST+22)
bool HasSdrObjectOwnership() const
foreign graphic (StarView Graphic)
SdrObjUserCall * GetUserCall() const
virtual SdrObject * getSdrObjectFromSdrObjList() const
void SetTitle(const OUString &rStr)
#define OWN_ATTR_MEASURE_END_POS
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void lock() override
called from the XActionLockable interface methods on initial locking
virtual void SetVerticalWriting(bool bVertical)
virtual OUString SAL_CALL getString() override
void ApplyNotPersistAttr(const SfxItemSet &rAttr)
svx::PropertyChangeNotifier & getShapePropertyChangeNotifier()
virtual void unlock() override
called from the XActionLockable interface methods on final unlock
constexpr TypedWhichId< SfxStringItem > SDRATTR_OBJECTNAME(SDRATTR_NOTPERSIST_FIRST+5)
SvxShapeText(SdrObject *pObj)
static bool IsWhich(sal_uInt16 nId)
constexpr TypedWhichId< SdrAngleItem > SDRATTR_CIRCSTARTANGLE(SDRATTR_CIRC_FIRST+1)
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
bool IsMoveProtect() const
virtual bool IsFontwork() const
SvxShapeMaster * mpMaster
virtual sal_Bool SAL_CALL isActionLocked() override
const Graphic * GetGraphic() const
::basegfx::B2IVector maSize
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual bool setPropertyValueImpl(const OUString &rName, const SfxItemPropertyMapEntry *pProperty, const css::uno::Any &rValue)
Utility class SdrEdgeObj.
constexpr OUStringLiteral sUNO_service_style_CharacterPropertiesComplex
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...
constexpr OUStringLiteral sUNO_service_style_ParagraphPropertiesComplex
const SdrObject * GetObject() const
constexpr OUStringLiteral sUNO_service_drawing_ControlShape