26#include <com/sun/star/style/XStyle.hpp>
27#include <com/sun/star/presentation/ClickAction.hpp>
28#include <com/sun/star/beans/PropertyAttribute.hpp>
29#include <com/sun/star/beans/PropertyState.hpp>
30#include <rtl/ustrbuf.hxx>
40#include <sfx2/sfxsids.hrc>
62#include <unoprnms.hxx>
63#include <unomodel.hxx>
77using ::com::sun::star::uno::Any;
78using ::com::sun::star::drawing::XShape;
82#define WID_TEXTEFFECT 3
84#define WID_CLICKACTION 5
86#define WID_SOUNDFILE 7
88#define WID_BLUESCREEN 9
90#define WID_DIMCOLOR 11
93#define WID_PRESORDER 14
95#define WID_ANIMPATH 16
96#define WID_IMAGEMAP 17
97#define WID_ISANIMATION 18
99#define WID_ISEMPTYPRESOBJ 20
100#define WID_ISPRESOBJ 21
101#define WID_MASTERDEPEND 22
103#define WID_NAVORDER 23
104#define WID_PLACEHOLDERTEXT 24
105#define WID_LEGACYFRAGMENT 25
107#define IMPRESS_MAP_ENTRIES \
108 { u"" UNO_NAME_OBJ_LEGACYFRAGMENT,WID_LEGACYFRAGMENT, cppu::UnoType<drawing::XShape>::get(), 0, 0},\
109 { u"" UNO_NAME_OBJ_ANIMATIONPATH, WID_ANIMPATH, cppu::UnoType<drawing::XShape>::get(), 0, 0},\
110 { u"" UNO_NAME_OBJ_BOOKMARK, WID_BOOKMARK, cppu::UnoType<OUString>::get(), 0, 0},\
111 { u"" UNO_NAME_OBJ_DIMCOLOR, WID_DIMCOLOR, cppu::UnoType<sal_Int32>::get(), 0, 0},\
112 { u"" UNO_NAME_OBJ_DIMHIDE, WID_DIMHIDE, cppu::UnoType<bool>::get(), 0, 0},\
113 { u"" UNO_NAME_OBJ_DIMPREV, WID_DIMPREV, cppu::UnoType<bool>::get(), 0, 0},\
114 { u"" UNO_NAME_OBJ_EFFECT, WID_EFFECT, cppu::UnoType<presentation::AnimationEffect>::get(), 0, 0},\
115 { u"" UNO_NAME_OBJ_ISEMPTYPRESOBJ,WID_ISEMPTYPRESOBJ, cppu::UnoType<bool>::get(), 0, 0},\
116 { u"" UNO_NAME_OBJ_ISPRESOBJ, WID_ISPRESOBJ, cppu::UnoType<bool>::get(), css::beans::PropertyAttribute::READONLY, 0},\
117 { u"" UNO_NAME_OBJ_MASTERDEPENDENT,WID_MASTERDEPEND, cppu::UnoType<bool>::get(), 0, 0},\
118 { u"" UNO_NAME_OBJ_CLICKACTION, WID_CLICKACTION, cppu::UnoType<presentation::ClickAction>::get(), 0, 0},\
119 { u"" UNO_NAME_OBJ_PLAYFULL, WID_PLAYFULL, cppu::UnoType<bool>::get(), 0, 0},\
120 { u"" UNO_NAME_OBJ_PRESORDER, WID_PRESORDER, cppu::UnoType<sal_Int32>::get(), 0, 0},\
121 { u"" UNO_NAME_OBJ_STYLE, WID_STYLE, cppu::UnoType<style::XStyle>::get(), css::beans::PropertyAttribute::MAYBEVOID, 0},\
122 { u"" UNO_NAME_OBJ_SOUNDFILE, WID_SOUNDFILE, cppu::UnoType<OUString>::get(), 0, 0},\
123 { u"" UNO_NAME_OBJ_SOUNDON, WID_SOUNDON, cppu::UnoType<bool>::get(), 0, 0},\
124 { u"" UNO_NAME_OBJ_SPEED, WID_SPEED, cppu::UnoType<presentation::AnimationSpeed>::get(), 0, 0},\
125 { u"" UNO_NAME_OBJ_TEXTEFFECT, WID_TEXTEFFECT, cppu::UnoType<presentation::AnimationEffect>::get(), 0, 0},\
126 { u"" UNO_NAME_OBJ_BLUESCREEN, WID_BLUESCREEN, cppu::UnoType<sal_Int32>::get(), 0, 0},\
127 { u"" UNO_NAME_OBJ_VERB, WID_VERB, cppu::UnoType<sal_Int32>::get(), 0, 0},\
128 { u"IsAnimation", WID_ISANIMATION, cppu::UnoType<bool>::get(), 0, 0},\
129 { u"NavigationOrder", WID_NAVORDER, cppu::UnoType<sal_Int32>::get(), 0, 0},\
130 { u"PlaceholderText", WID_PLACEHOLDERTEXT, cppu::UnoType<OUString>::get(), 0, 0},\
139 return aImpress_SdXShapePropertyGraphicMap_Impl;
148 return aImpress_SdXShapePropertySimpleMap_Impl;
151 #define DRAW_MAP_ENTRIES\
152 { u"" UNO_NAME_OBJ_BOOKMARK, WID_BOOKMARK, cppu::UnoType<OUString>::get(), 0, 0},\
153 { u"" UNO_NAME_OBJ_CLICKACTION, WID_CLICKACTION, cppu::UnoType<presentation::ClickAction>::get(),0, 0},\
154 { u"" UNO_NAME_OBJ_STYLE, WID_STYLE, cppu::UnoType<style::XStyle>::get(), css::beans::PropertyAttribute::MAYBEVOID, 0},\
155 { u"NavigationOrder", WID_NAVORDER, cppu::UnoType<sal_Int32>::get(), 0, 0},\
163 return aDraw_SdXShapePropertyMap_Impl;
172 return aDraw_SdXShapePropertyGraphicMap_Impl;
202 pRet = &aImpress_SdXShapePropertyGraphicSet_Impl;
207 pRet = &aImpress_SdXShapePropertySet_Impl;
215 pRet = &aDraw_SdXShapePropertyGraphicSet_Impl;
220 pRet = &aDraw_SdXShapePropertySet_Impl;
233 return &aEmptyPropSet;
239 { SvMacroItemId::OnMouseOver,
"OnMouseOver" },
240 { SvMacroItemId::OnMouseOut,
"OnMouseOut" },
241 { SvMacroItemId::NONE,
nullptr }
244 return aMacroDescriptionsImpl;
273 return mpShape->queryInterface( rType );
292 aAny <<= uno::Reference< document::XEventsSupplier >(
this);
309 uno::Sequence< uno::Type >
aTypes;
311 SdTypesCache::iterator aIter( gImplTypesCache.find( nObjId ) );
312 if( aIter == gImplTypesCache.end() )
319 gImplTypesCache.insert(std::make_pair(nObjId,
aTypes));
337 return beans::PropertyState_DIRECT_VALUE;
343 return beans::PropertyState_DEFAULT_VALUE;
382 css::uno::Reference<css::beans::XPropertySetInfo> pInfo;
385 SD_MOD()->gImplImpressPropertySetInfoCache :
SD_MOD()->gImplDrawPropertySetInfoCache;
387 SdExtPropertySetInfoCache::iterator aIter( rCache.find( nObjId ) );
388 if( aIter == rCache.end() )
393 rCache.insert(std::make_pair(nObjId, pInfo));
398 pInfo = (*aIter).second;
419 sal_Int32 nNavOrder = 0;
420 if(!(aValue >>= nNavOrder))
421 throw lang::IllegalArgumentException();
431 AnimationEffect eEffect;
432 if(!(aValue >>= eEffect))
433 throw lang::IllegalArgumentException();
435 EffectMigration::SetAnimationEffect(
mpShape, eEffect );
440 AnimationEffect eEffect;
441 if(!(aValue >>= eEffect))
442 throw lang::IllegalArgumentException();
444 EffectMigration::SetTextAnimationEffect(
mpShape, eEffect );
449 AnimationSpeed eSpeed;
450 if(!(aValue>>=eSpeed))
451 throw lang::IllegalArgumentException();
453 EffectMigration::SetAnimationSpeed(
mpShape, eSpeed );
458 bool bIsAnimation(
false);
460 if(!(aValue >>= bIsAnimation))
462 throw lang::IllegalArgumentException();
473 EffectMigration::CreateAnimatedGroup(*pGroup, *pPage);
491 if(!(aValue >>= aString))
492 throw lang::IllegalArgumentException();
501 ::cppu::any2enum< presentation::ClickAction >( pInfo->
meClickAction, aValue);
508 if(!(aValue >>= aString))
509 throw lang::IllegalArgumentException();
512 EffectMigration::UpdateSoundEffect(
mpShape, pInfo );
520 throw lang::IllegalArgumentException();
521 EffectMigration::UpdateSoundEffect(
mpShape, pInfo );
527 if(!(aValue >>= nVerb))
528 throw lang::IllegalArgumentException();
531 pInfo->
mnVerb =
static_cast<sal_uInt16
>(nVerb);
536 sal_Int32 nColor = 0;
538 if( !(aValue >>= nColor) )
539 throw lang::IllegalArgumentException();
541 EffectMigration::SetDimColor(
mpShape, nColor );
546 bool bDimHide =
false;
547 if( !(aValue >>= bDimHide) )
548 throw lang::IllegalArgumentException();
550 EffectMigration::SetDimHide(
mpShape, bDimHide );
555 bool bDimPrevious =
false;
556 if( !(aValue >>= bDimPrevious) )
557 throw lang::IllegalArgumentException();
559 EffectMigration::SetDimPrevious(
mpShape, bDimPrevious );
564 sal_Int32 nNewPos = 0;
565 if( !(aValue >>= nNewPos) )
566 throw lang::IllegalArgumentException();
568 EffectMigration::SetPresentationOrder(
mpShape, nNewPos );
583 uno::Reference< io::XInputStream > xInputStream;
584 aValue >>= xInputStream;
585 if( xInputStream.is() )
596 uno::Reference< drawing::XShape > xShape( aValue, uno::UNO_QUERY );
599 if( pObj2 ==
nullptr )
600 throw lang::IllegalArgumentException();
602 EffectMigration::SetAnimationPath(
mpShape, pObj2 );
611 uno::Reference< uno::XInterface > xImageMap;
612 aValue >>= xImageMap;
615 throw lang::IllegalArgumentException();
660 aRet <<= nNavOrder == SAL_MAX_UINT32 ? static_cast<sal_Int32>(-1) :
static_cast< sal_Int32
>(nNavOrder);
664 aRet <<= EffectMigration::GetAnimationEffect(
mpShape );
667 aRet <<= EffectMigration::GetTextAnimationEffect(
mpShape );
679 aRet <<= EffectMigration::GetAnimationSpeed(
mpShape );
702 sal_Int32
nPos = aString.lastIndexOf(
'#' );
705 OUString
aURL( aString.copy( 0,
nPos+1 ) );
706 OUString
aName( aString.copy(
nPos+1 ) );
720 aRet <<= ( pInfo?pInfo->
meClickAction:presentation::ClickAction_NONE );
726 aRet <<= EffectMigration::GetSoundFile(
mpShape );
729 aRet <<= EffectMigration::GetSoundOn(
mpShape );
735 aRet <<= static_cast<sal_Int32>( pInfo?pInfo->
mnVerb:0 );
738 aRet <<= EffectMigration::GetDimColor(
mpShape );
741 aRet <<= EffectMigration::GetDimHide(
mpShape );
744 aRet <<= EffectMigration::GetDimPrevious(
mpShape );
747 aRet <<= EffectMigration::GetPresentationOrder(
mpShape );
754 uno::Reference< uno::XInterface > xImageMap;
772 aRet <<= uno::Reference< container::XIndexContainer >::query( xImageMap );
799 std::vector<std::u16string_view> aAdd{
u"com.sun.star.presentation.Shape",
800 u"com.sun.star.document.LinkTarget" };
808 case SdrObjKind::TitleText:
809 aAdd.emplace_back(
u"com.sun.star.presentation.TitleTextShape");
811 case SdrObjKind::OutlineText:
812 aAdd.emplace_back(
u"com.sun.star.presentation.OutlinerShape");
843 if( pTextObj ==
nullptr )
859 if( pObj ==
nullptr )
864 if( pPage ==
nullptr )
879 if( pObj ==
nullptr )
894 pTextObj->SetVerticalWriting(
true );
925 if( pOutliner ==
nullptr )
930 if( pPage ==
nullptr )
934 pOutliner->SetText( *pOutlinerParaObject );
935 const bool bVertical = pOutliner->IsVertical();
938 pOutliner->SetVertical( bVertical );
959 if( IsMasterDepend() == bDepend )
980 if( pObj ==
nullptr )
981 throw beans::UnknownPropertyException();
983 uno::Reference< style::XStyle > xStyle( rAny, uno::UNO_QUERY );
987 if( pOldStyleSheet == pStyleSheet )
990 if( pStyleSheet ==
nullptr || (pStyleSheet->
GetFamily() != SfxStyleFamily::Para && pStyleSheet->
GetFamily() != SfxStyleFamily::Page) )
991 throw lang::IllegalArgumentException();
1009 if( pObj ==
nullptr )
1010 throw beans::UnknownPropertyException();
1018 return Any( uno::Reference< style::XStyle >(
dynamic_cast< SfxUnoStyleSheet*
>( pStyleSheet ) ) );
1021class SdUnoEventsAccess :
public cppu::WeakImplHelper< css::container::XNameReplace, css::lang::XServiceInfo >
1030 virtual void SAL_CALL
replaceByName(
const OUString& aName,
const css::uno::Any& aElement )
override;
1033 virtual css::uno::Any SAL_CALL
getByName(
const OUString& aName )
override;
1034 virtual css::uno::Sequence< OUString > SAL_CALL
getElementNames( )
override;
1076enum class FoundFlags {
1078 ClickAction = 0x0001,
1111 throw container::NoSuchElementException();
1113 uno::Sequence< beans::PropertyValue >
aProperties;
1115 throw lang::IllegalArgumentException();
1117 FoundFlags nFound = FoundFlags::NONE;
1119 OUString aStrEventType;
1120 presentation::ClickAction eClickAction = presentation::ClickAction_NONE;
1121 presentation::AnimationEffect eEffect = presentation::AnimationEffect_NONE;
1122 presentation::AnimationSpeed eSpeed = presentation::AnimationSpeed_MEDIUM;
1123 OUString aStrSoundURL;
1124 bool bPlayFull =
false;
1125 sal_Int32 nVerb = 0;
1127 OUString aStrLibrary;
1128 OUString aStrBookmark;
1130 for(
const beans::PropertyValue& rProperty : std::as_const(
aProperties) )
1132 if( !( nFound & FoundFlags::EventType ) && rProperty.Name ==
gaStrEventType )
1134 if( rProperty.Value >>= aStrEventType )
1136 nFound |= FoundFlags::EventType;
1140 else if( !( nFound & FoundFlags::ClickAction ) && rProperty.Name ==
gaStrClickAction )
1142 if( rProperty.Value >>= eClickAction )
1144 nFound |= FoundFlags::ClickAction;
1150 if( rProperty.Value >>= aStrMacro )
1152 nFound |= FoundFlags::Macro;
1156 else if( !( nFound & FoundFlags::Library ) && rProperty.Name ==
gaStrLibrary )
1158 if( rProperty.Value >>= aStrLibrary )
1160 nFound |= FoundFlags::Library;
1164 else if( !( nFound & FoundFlags::Effect ) && rProperty.Name ==
gaStrEffect )
1166 if( rProperty.Value >>= eEffect )
1168 nFound |= FoundFlags::Effect;
1172 else if( !( nFound & FoundFlags::Bookmark ) && rProperty.Name ==
gaStrBookmark )
1174 if( rProperty.Value >>= aStrBookmark )
1176 nFound |= FoundFlags::Bookmark;
1180 else if( !( nFound & FoundFlags::Speed ) && rProperty.Name ==
gaStrSpeed )
1182 if( rProperty.Value >>= eSpeed )
1184 nFound |= FoundFlags::Speed;
1188 else if( !( nFound & FoundFlags::SoundUrl ) && rProperty.Name ==
gaStrSoundURL )
1190 if( rProperty.Value >>= aStrSoundURL )
1192 nFound |= FoundFlags::SoundUrl;
1196 else if( !( nFound & FoundFlags::PlayFull ) && rProperty.Name ==
gaStrPlayFull )
1198 if( rProperty.Value >>= bPlayFull )
1200 nFound |= FoundFlags::PlayFull;
1204 else if( !( nFound & FoundFlags::Verb ) && rProperty.Name ==
gaStrVerb )
1206 if( rProperty.Value >>= nVerb )
1208 nFound |= FoundFlags::Verb;
1213 throw lang::IllegalArgumentException();
1219 if( !( nFound & FoundFlags::EventType ) )
1224 if( !( nFound & FoundFlags::ClickAction ) )
1228 if( presentation::ClickAction_NONE == eClickAction &&
nullptr == pInfo )
1234 if(
nullptr == pInfo )
1237 DBG_ASSERT( pInfo,
"shape animation info could not be created!" );
1238 if(
nullptr == pInfo )
1244 switch( eClickAction )
1246 case presentation::ClickAction_NONE:
1247 case presentation::ClickAction_PREVPAGE:
1248 case presentation::ClickAction_NEXTPAGE:
1249 case presentation::ClickAction_FIRSTPAGE:
1250 case presentation::ClickAction_LASTPAGE:
1251 case presentation::ClickAction_INVISIBLE:
1252 case presentation::ClickAction_STOPPRESENTATION:
1258 case presentation::ClickAction_PROGRAM:
1259 case presentation::ClickAction_BOOKMARK:
1260 case presentation::ClickAction_DOCUMENT:
1261 if( nFound & FoundFlags::Bookmark )
1263 if( eClickAction == presentation::ClickAction_BOOKMARK )
1267 else if( eClickAction == presentation::ClickAction_DOCUMENT )
1269 sal_Int32
nPos = aStrBookmark.lastIndexOf(
'#' );
1272 OUString
aURL = aStrBookmark.subView( 0,
nPos+1 )
1274 aStrBookmark =
aURL;
1283 case presentation::ClickAction_MACRO:
1284 if( nFound & FoundFlags::Macro )
1291 case presentation::ClickAction_VERB:
1292 if( nFound & FoundFlags::Verb )
1294 pInfo->
mnVerb =
static_cast<sal_uInt16
>(nVerb);
1299 case presentation::ClickAction_VANISH:
1300 if( !( nFound & FoundFlags::Effect ) )
1304 pInfo->
meSecondSpeed = nFound & FoundFlags::Speed ? eSpeed : presentation::AnimationSpeed_MEDIUM;
1310 case presentation::ClickAction_SOUND:
1311 if( nFound & FoundFlags::SoundUrl )
1314 if( eClickAction != presentation::ClickAction_SOUND )
1329 DBG_ASSERT( pInfo,
"shape animation info could not be created!" );
1330 if(
nullptr == pInfo )
1342 sal_Int32 nIdx{ 0 };
1343 const std::u16string_view aLibName =
o3tl::getToken(aStrMacro, 0,
'.', nIdx);
1344 const std::u16string_view aModulName =
o3tl::getToken(aStrMacro, 0,
'.', nIdx);
1345 const std::u16string_view aMacroName =
o3tl::getToken(aStrMacro, 0,
'.', nIdx);
1347 OUStringBuffer sBuffer(
1348 OUString::Concat(aMacroName) + OUStringChar(
'.') + aModulName + OUStringChar(
'.') + aLibName + OUStringChar(
'.') );
1350 if ( aStrLibrary ==
"StarOffice" )
1352 sBuffer.append(
"BASIC" );
1356 sBuffer.append( aStrLibrary );
1359 pInfo->
SetBookmark( sBuffer.makeStringAndClear() );
1367 throw lang::IllegalArgumentException();
1374 throw container::NoSuchElementException();
1378 presentation::ClickAction eClickAction = presentation::ClickAction_NONE;
1382 sal_Int32 nPropertyCount = 2;
1383 switch( eClickAction )
1385 case presentation::ClickAction_NONE:
1386 case presentation::ClickAction_PREVPAGE:
1387 case presentation::ClickAction_NEXTPAGE:
1388 case presentation::ClickAction_FIRSTPAGE:
1389 case presentation::ClickAction_LASTPAGE:
1390 case presentation::ClickAction_INVISIBLE:
1391 case presentation::ClickAction_STOPPRESENTATION:
1393 case presentation::ClickAction_PROGRAM:
1394 case presentation::ClickAction_VERB:
1395 case presentation::ClickAction_BOOKMARK:
1396 case presentation::ClickAction_DOCUMENT:
1397 case presentation::ClickAction_MACRO:
1399 nPropertyCount += 1;
1402 case presentation::ClickAction_SOUND:
1403 nPropertyCount += 2;
1406 case presentation::ClickAction_VANISH:
1407 nPropertyCount += 4;
1413 uno::Sequence< beans::PropertyValue >
aProperties( nPropertyCount );
1414 beans::PropertyValue* pProperties =
aProperties.getArray();
1418 if( eClickAction == presentation::ClickAction_MACRO )
1425 pProperties->Handle = -1;
1426 pProperties->Value = aAny;
1427 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1432 pProperties->Handle = -1;
1433 pProperties->Value = aAny;
1434 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1442 pProperties->Handle = -1;
1443 pProperties->Value = aAny;
1444 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1452 sal_Int32 nIdx{ 0 };
1453 const std::u16string_view aMacroName =
o3tl::getToken(aMacro, 0,
'.', nIdx);
1454 const std::u16string_view aModulName =
o3tl::getToken(aMacro, 0,
'.', nIdx);
1455 const std::u16string_view aLibName =
o3tl::getToken(aMacro, 0,
'.', nIdx);
1457 OUString sBuffer = OUString::Concat(aLibName) +
1465 pProperties->Handle = -1;
1466 pProperties->Value = aAny;
1467 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1470 aAny <<= OUString(
"StarOffice" );
1472 pProperties->Handle = -1;
1473 pProperties->Value = aAny;
1474 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1481 pProperties->Handle = -1;
1482 pProperties->Value = aAny;
1483 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1486 aAny <<= eClickAction;
1488 pProperties->Handle = -1;
1489 pProperties->Value = aAny;
1490 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1493 switch( eClickAction )
1495 case presentation::ClickAction_NONE:
1496 case presentation::ClickAction_PREVPAGE:
1497 case presentation::ClickAction_NEXTPAGE:
1498 case presentation::ClickAction_FIRSTPAGE:
1499 case presentation::ClickAction_LASTPAGE:
1500 case presentation::ClickAction_INVISIBLE:
1501 case presentation::ClickAction_STOPPRESENTATION:
1503 case presentation::ClickAction_BOOKMARK:
1507 pProperties->Handle = -1;
1508 pProperties->Value <<= aStrBookmark;
1509 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1513 case presentation::ClickAction_DOCUMENT:
1514 case presentation::ClickAction_PROGRAM:
1517 sal_Int32
nPos = aString.lastIndexOf(
'#' );
1520 OUString
aURL = aString.subView( 0,
nPos+1 ) +
1525 pProperties->Handle = -1;
1526 pProperties->Value <<= aString;
1527 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1531 case presentation::ClickAction_VANISH:
1534 pProperties->Handle = -1;
1535 pProperties->Value = aAny;
1536 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1541 pProperties->Handle = -1;
1542 pProperties->Value = aAny;
1543 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1548 case presentation::ClickAction_SOUND:
1549 if( eClickAction == presentation::ClickAction_SOUND || pInfo->
mbSecondSoundOn )
1553 pProperties->Handle = -1;
1554 pProperties->Value = aAny;
1555 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1559 pProperties->Handle = -1;
1561 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1565 case presentation::ClickAction_VERB:
1566 aAny <<= static_cast<sal_Int32>(pInfo->
mnVerb);
1568 pProperties->Handle = -1;
1569 pProperties->Value = aAny;
1570 pProperties->State = beans::PropertyState_DIRECT_VALUE;
1605 return "SdUnoEventsAccess";
PropertiesInfo aProperties
AnimatableShapeSharedPtr mpShape
bool IsEffectivelyVertical() const
bool mbPlayFull
play sound completely.
void SetBookmark(const OUString &rBookmark)
css::presentation::ClickAction meClickAction
Action at mouse click.
bool mbIsMovie
if group object than it is a sequence of them.
Color maBlueScreen
identifies "background pixels"
sal_uInt16 mnVerb
for OLE object
css::presentation::AnimationEffect meSecondEffect
for object fading.
bool mbSecondSoundOn
for object fading.
OUString GetBookmark() const
OUString maSoundFile
Path to the sound file in MS DOS notation.
bool mbSoundOn
Sound on / off.
bool mbSecondPlayFull
for object fading.
css::presentation::AnimationSpeed meSecondSpeed
for object fading.
static SdAnimationInfo * GetShapeUserData(SdrObject &rObject, bool bCreate=false)
SdOutliner * GetInternalOutliner(bool bCreateOutliner=true)
SAL_DLLPRIVATE sal_uInt16 GetPageByName(std::u16string_view rPgName, bool &rbIsMasterPage) const
Return the first page that has the given name.
SAL_DLLPRIVATE::sd::DrawDocShell * GetDocSh() const
static OUString getPageApiNameFromUiName(const OUString &rUIName)
static OUString getUiNameFromPageApiName(const OUString &rApiName)
The main purpose of this class is searching and replacing as well as spelling of impress documents.
virtual rtl::Reference< SdrObject > NbcRemoveObject(size_t nObjNum) override
virtual SfxStyleSheet * GetTextStyleSheetForObject(SdrObject *pObj) const override
OUString GetPresObjText(PresObjKind eObjKind) const
PresObjKind GetPresObjKind(SdrObject *pObj) const
SdUnoEventsAccess(SdXShape *pShape) noexcept
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL replaceByName(const OUString &aName, const css::uno::Any &aElement) override
virtual css::uno::Type SAL_CALL getElementType() override
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual sal_Bool SAL_CALL hasElements() override
SdDrawDocument * GetDoc() const
void SetModified() noexcept
bool IsImpressDocument() const
bool IsMasterDepend() const noexcept
SdXShape(SvxShape *pShape, SdXImpressDocument *pModel)
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
o3tl::span< const SfxItemPropertyMapEntry > mpMap
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual bool queryAggregation(const css::uno::Type &rType, css::uno::Any &aAny) override
virtual css::uno::Reference< css::container::XNameReplace > SAL_CALL getEvents() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
const SvxItemPropertySet * mpPropSet
void SetStyleSheet(const css::uno::Any &rAny)
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
OUString GetPlaceholderText() const
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
void SetMasterDepend(bool bDepend) noexcept
virtual ~SdXShape() noexcept
friend class SdUnoEventsAccess
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
virtual void SAL_CALL acquire() noexcept override
void SetEmptyPresObj(bool bEmpty)
sets/reset the empty status of a presentation object
css::uno::Any GetStyleSheet() const
bool IsPresObj() const
checks if this is a presentation object
virtual void dispose() override
bool IsEmptyPresObj() const
checks if this presentation object is empty
SdAnimationInfo * GetAnimationInfo(bool bCreate=false) const
SdXImpressDocument * mpModel
virtual void SAL_CALL release() noexcept override
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
void SetGraphic(const Graphic &rGrf)
SfxStyleSheetBasePool * GetStyleSheetPool() const
virtual SdrObjList * GetSubList() const override
void SetObjectNavigationPosition(SdrObject &rObject, const sal_uInt32 nNewNavigationPosition)
size_t GetObjCount() const
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
SdrObjUserCall * GetUserCall() const
virtual void NbcSetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void AppendUserData(std::unique_ptr< SdrObjUserData > pData)
static SdrItemPool & GetGlobalDrawObjectItemPool()
void SetUserCall(SdrObjUserCall *pUser)
void SetEmptyPresObj(bool bEpt)
void SetStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
virtual SdrInventor GetObjInventor() const
virtual OutlinerParaObject * GetOutlinerParaObject() const
sal_uInt32 GetOrdNum() const
bool IsEmptyPresObj() const
SdrObjList * getParentSdrObjListFromSdrObject() const
SfxStyleSheet * GetStyleSheet() const
virtual SdrObjKind GetObjIdentifier() const
sal_uInt32 GetNavigationPosition() const
SdrPage * getSdrPageFromSdrObject() const
bool IsMasterPage() const
bool CanCreateEditOutlinerParaObject() const
static bool IsXScriptURL(const OUString &rScriptURL)
void Invalidate(sal_uInt16 nId)
SfxStyleFamily GetFamily() const
static SfxUnoStyleSheet * getUnoStyleSheet(const css::uno::Reference< css::style::XStyle > &xStyle)
SfxBindings & GetBindings()
void SetImageMap(const ImageMap &rIMap)
static SvxIMapInfo * GetIMapInfo(const SdrObject *pObject)
const ImageMap & GetImageMap() const
const SfxItemPropertyMapEntry * getPropertyMapEntry(std::u16string_view rName) const
static void ReadObjText(SvStream &rStream, SdrObject *pObj)
o3tl::span< const SfxItemPropertyMapEntry > getPropertyMapEntries() const
void _setPropertyToDefault(const OUString &PropertyName)
void setMaster(SvxShapeMaster *pMaster)
css::uno::Sequence< OUString > _getSupportedServiceNames()
css::uno::Sequence< css::uno::Type > const & _getTypes()
css::beans::PropertyState _getPropertyState(const OUString &PropertyName)
css::uno::Any _getPropertyDefault(const OUString &aPropertyName)
css::uno::Reference< css::beans::XPropertySetInfo > const & _getPropertySetInfo()
SdrObjKind getShapeKind() const
css::uno::Any _getPropertyValue(const OUString &PropertyName)
void _setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue)
SdrObject * GetSdrObject() const
css::uno::Type const & get()
sd::ViewShell * GetViewShell()
Base class of the stacked shell hierarchy.
SD_DLLPUBLIC SfxViewFrame * GetViewFrame() const
#define DBG_ASSERT(sCon, aError)
EmbeddedObjectRef * pObject
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
std::basic_string_view< charT, traits > getToken(std::basic_string_view< charT, traits > sv, charT delimiter, std::size_t &position)
std::map< SdrObjKind, css::uno::Sequence< css::uno::Type > > SdTypesCache
std::map< o3tl::span< SfxItemPropertyMapEntry const >, css::uno::Reference< css::beans::XPropertySetInfo >, SdExtPropertySetInfoCacheCompare > SdExtPropertySetInfoCache
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)
SVT_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvUnoImageMap_createInstance()
SVT_DLLPUBLIC bool SvUnoImageMap_fillImageMap(const css::uno::Reference< css::uno::XInterface > &xImageMap, ImageMap &rMap)
OUString getPageApiNameFromUiName(const OUString &rUIName)
constexpr OUStringLiteral gaStrScript(u"Script")
constexpr OUStringLiteral gaStrMacroName(u"MacroName")
#define IMPRESS_MAP_ENTRIES
constexpr OUStringLiteral gaStrPresentation(u"Presentation")
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetDraw_SdXShapePropertySimpleMap_Impl()
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetEmpty_SdXShapePropertyMap_Impl()
static const SvxItemPropertySet * lcl_GetEmpty_SdXShapePropertySet_Impl()
#define WID_PLACEHOLDERTEXT
constexpr OUStringLiteral gaStrStarBasic(u"StarBasic")
constexpr OUStringLiteral gaStrSoundURL(u"SoundURL")
constexpr OUStringLiteral gaStrVerb(u"Verb")
#define WID_LEGACYFRAGMENT
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetImpress_SdXShapePropertySimpleMap_Impl()
constexpr OUStringLiteral gaStrEffect(u"Effect")
static o3tl::span< const SfxItemPropertyMapEntry > lcl_ImplGetShapePropertyMap(bool bImpress, bool bGraphicObj)
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetDraw_SdXShapePropertyGraphicMap_Impl()
static const SvxItemPropertySet * lcl_ImplGetShapePropertySet(bool bImpress, bool bGraphicObj)
constexpr OUStringLiteral gaStrBookmark(u"Bookmark")
static void clearEventsInAnimationInfo(SdAnimationInfo *pInfo)
constexpr OUStringLiteral gaStrServiceName(u"com.sun.star.documents.Events")
const SvEventDescription * ImplGetSupportedMacroItems()
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetImpress_SdXShapePropertyGraphicMap_Impl()
constexpr OUStringLiteral gaStrClickAction(u"ClickAction")
constexpr OUStringLiteral gaStrPlayFull(u"PlayFull")
constexpr OUStringLiteral gaStrEventType(u"EventType")
constexpr OUStringLiteral gaStrSpeed(u"Speed")
constexpr OUStringLiteral gaStrLibrary(u"Library")
#define WID_ISEMPTYPRESOBJ
constexpr OUStringLiteral gaStrOnClick(u"OnClick")
OUString getUiNameFromPageApiNameImpl(const OUString &rApiName)