Lines 77-82
const SfxItemPropertyMap* lcl_GetShapeMa
Link Here
|
77 |
{MAP_CHAR_LEN(SC_UNONAME_HORIPOS), 0, &getCppuType((sal_Int32*)0), 0, 0 }, |
77 |
{MAP_CHAR_LEN(SC_UNONAME_HORIPOS), 0, &getCppuType((sal_Int32*)0), 0, 0 }, |
78 |
{MAP_CHAR_LEN(SC_UNONAME_IMAGEMAP), 0, &getCppuType((uno::Reference<container::XIndexContainer>*)0), 0, 0 }, |
78 |
{MAP_CHAR_LEN(SC_UNONAME_IMAGEMAP), 0, &getCppuType((uno::Reference<container::XIndexContainer>*)0), 0, 0 }, |
79 |
{MAP_CHAR_LEN(SC_UNONAME_VERTPOS), 0, &getCppuType((sal_Int32*)0), 0, 0 }, |
79 |
{MAP_CHAR_LEN(SC_UNONAME_VERTPOS), 0, &getCppuType((sal_Int32*)0), 0, 0 }, |
|
|
80 |
// #i66550 HLINK_FOR_SHAPES |
81 |
{MAP_CHAR_LEN(SC_UNONAME_HYPERLINK), 0, &getCppuType((rtl::OUString*)0), 0, 0 }, |
80 |
{0,0,0,0,0,0} |
82 |
{0,0,0,0,0,0} |
81 |
}; |
83 |
}; |
82 |
return aShapeMap_Impl; |
84 |
return aShapeMap_Impl; |
Lines 91-96
const SvEventDescription* ScShapeObj::Ge
Link Here
|
91 |
}; |
93 |
}; |
92 |
return aMacroDescriptionsImpl; |
94 |
return aMacroDescriptionsImpl; |
93 |
} |
95 |
} |
|
|
96 |
// #i66550 HLINK_FOR_SHAPES |
97 |
ScMacroInfo* lcl_getShapeHyperMacroInfo( ScShapeObj* pShape, BOOL bCreate = FALSE ) |
98 |
{ |
99 |
if( pShape ) |
100 |
if( SdrObject* pObj = pShape->GetSdrObject() ) |
101 |
return ScDrawLayer::GetMacroInfo( pObj, bCreate ); |
102 |
return 0; |
103 |
} |
94 |
|
104 |
|
95 |
//------------------------------------------------------------------------ |
105 |
//------------------------------------------------------------------------ |
96 |
|
106 |
|
Lines 639-644
void SAL_CALL ScShapeObj::setPropertyVal
Link Here
|
639 |
} |
649 |
} |
640 |
} |
650 |
} |
641 |
} |
651 |
} |
|
|
652 |
else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) ) |
653 |
{ |
654 |
rtl::OUString sHlink; |
655 |
ScMacroInfo* pInfo = lcl_getShapeHyperMacroInfo(this, TRUE); |
656 |
if ( ( aValue >>= sHlink ) && pInfo ) |
657 |
pInfo->SetHlink( sHlink ); |
658 |
} |
642 |
else |
659 |
else |
643 |
{ |
660 |
{ |
644 |
GetShapePropertySet(); |
661 |
GetShapePropertySet(); |
Lines 820-825
uno::Any SAL_CALL ScShapeObj::getPropert
Link Here
|
820 |
} |
837 |
} |
821 |
} |
838 |
} |
822 |
} |
839 |
} |
|
|
840 |
else if ( aNameString.EqualsAscii( SC_UNONAME_HYPERLINK ) ) |
841 |
{ |
842 |
rtl::OUString sHlink; |
843 |
if ( ScMacroInfo* pInfo = lcl_getShapeHyperMacroInfo(this) ) |
844 |
sHlink = pInfo->GetHlink(); |
845 |
aAny <<= sHlink; |
846 |
} |
823 |
else |
847 |
else |
824 |
{ |
848 |
{ |
825 |
GetShapePropertySet(); |
849 |
GetShapePropertySet(); |
Lines 1332-1342
SdrObject* ScShapeObj::GetSdrObject() co
Link Here
|
1332 |
} |
1356 |
} |
1333 |
|
1357 |
|
1334 |
#define SC_EVENTACC_ONCLICK ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OnClick" ) ) |
1358 |
#define SC_EVENTACC_ONCLICK ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OnClick" ) ) |
1335 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1336 |
#define SC_EVENTACC_ONACTION ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "OnAction" ) ) |
1337 |
#define SC_EVENTACC_URL ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "URL" ) ) |
1338 |
#define SC_EVENTACC_ACTION ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Action" ) ) |
1339 |
#endif |
1340 |
#define SC_EVENTACC_SCRIPT ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Script" ) ) |
1359 |
#define SC_EVENTACC_SCRIPT ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Script" ) ) |
1341 |
#define SC_EVENTACC_EVENTTYPE ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EventType" ) ) |
1360 |
#define SC_EVENTACC_EVENTTYPE ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EventType" ) ) |
1342 |
|
1361 |
|
Lines 1348-1357
private:
Link Here
|
1348 |
|
1367 |
|
1349 |
ScMacroInfo* getInfo( BOOL bCreate = FALSE ) |
1368 |
ScMacroInfo* getInfo( BOOL bCreate = FALSE ) |
1350 |
{ |
1369 |
{ |
1351 |
if( mpShape ) |
1370 |
return lcl_getShapeHyperMacroInfo( mpShape, bCreate ); |
1352 |
if( SdrObject* pObj = mpShape->GetSdrObject() ) |
|
|
1353 |
return ScDrawLayer::GetMacroInfo( pObj, bCreate ); |
1354 |
return 0; |
1355 |
} |
1371 |
} |
1356 |
|
1372 |
|
1357 |
public: |
1373 |
public: |
Lines 1377-1387
public:
Link Here
|
1377 |
isEventType = true; |
1393 |
isEventType = true; |
1378 |
continue; |
1394 |
continue; |
1379 |
} |
1395 |
} |
1380 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1381 |
if ( isEventType && ((pProperties->Name == SC_EVENTACC_SCRIPT) || (pProperties->Name == SC_EVENTACC_URL)) ) |
1382 |
#else |
1383 |
if ( isEventType && (pProperties->Name == SC_EVENTACC_SCRIPT) ) |
1396 |
if ( isEventType && (pProperties->Name == SC_EVENTACC_SCRIPT) ) |
1384 |
#endif |
|
|
1385 |
{ |
1397 |
{ |
1386 |
rtl::OUString sValue; |
1398 |
rtl::OUString sValue; |
1387 |
if ( pProperties->Value >>= sValue ) |
1399 |
if ( pProperties->Value >>= sValue ) |
Lines 1392-1401
public:
Link Here
|
1392 |
break; |
1404 |
break; |
1393 |
if ( pProperties->Name == SC_EVENTACC_SCRIPT ) |
1405 |
if ( pProperties->Name == SC_EVENTACC_SCRIPT ) |
1394 |
pInfo->SetMacro( sValue ); |
1406 |
pInfo->SetMacro( sValue ); |
1395 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1396 |
else |
1407 |
else |
1397 |
pInfo->SetHlink( sValue ); |
1408 |
pInfo->SetHlink( sValue ); |
1398 |
#endif |
|
|
1399 |
} |
1409 |
} |
1400 |
} |
1410 |
} |
1401 |
} |
1411 |
} |
Lines 1418-1436
public:
Link Here
|
1418 |
aProperties[ 1 ].Value <<= pInfo->GetMacro(); |
1428 |
aProperties[ 1 ].Value <<= pInfo->GetMacro(); |
1419 |
} |
1429 |
} |
1420 |
} |
1430 |
} |
1421 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1422 |
else if( aName == SC_EVENTACC_ONACTION ) |
1423 |
{ |
1424 |
if ( pInfo && (pInfo->GetHlink().getLength() > 0) ) |
1425 |
{ |
1426 |
aProperties.realloc( 2 ); |
1427 |
aProperties[ 0 ].Name = SC_EVENTACC_EVENTTYPE; |
1428 |
aProperties[ 0 ].Value <<= SC_EVENTACC_ACTION; |
1429 |
aProperties[ 1 ].Name = SC_EVENTACC_URL; |
1430 |
aProperties[ 1 ].Value <<= pInfo->GetHlink(); |
1431 |
} |
1432 |
} |
1433 |
#endif |
1434 |
else |
1431 |
else |
1435 |
{ |
1432 |
{ |
1436 |
throw container::NoSuchElementException(); |
1433 |
throw container::NoSuchElementException(); |
Lines 1441-1465
public:
Link Here
|
1441 |
|
1438 |
|
1442 |
virtual uno::Sequence< rtl::OUString > SAL_CALL getElementNames() throw(uno::RuntimeException) |
1439 |
virtual uno::Sequence< rtl::OUString > SAL_CALL getElementNames() throw(uno::RuntimeException) |
1443 |
{ |
1440 |
{ |
1444 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1445 |
uno::Sequence< rtl::OUString > aSeq( 2 ); |
1446 |
#else |
1447 |
uno::Sequence< rtl::OUString > aSeq( 1 ); |
1441 |
uno::Sequence< rtl::OUString > aSeq( 1 ); |
1448 |
#endif |
|
|
1449 |
aSeq[ 0 ] = SC_EVENTACC_ONCLICK; |
1442 |
aSeq[ 0 ] = SC_EVENTACC_ONCLICK; |
1450 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1451 |
aSeq[ 1 ] = SC_EVENTACC_ONACTION; |
1452 |
#endif |
1453 |
return aSeq; |
1443 |
return aSeq; |
1454 |
} |
1444 |
} |
1455 |
|
1445 |
|
1456 |
virtual sal_Bool SAL_CALL hasByName( const rtl::OUString& aName ) throw(uno::RuntimeException) |
1446 |
virtual sal_Bool SAL_CALL hasByName( const rtl::OUString& aName ) throw(uno::RuntimeException) |
1457 |
{ |
1447 |
{ |
1458 |
#ifdef ISSUE66550_HLINK_FOR_SHAPES |
|
|
1459 |
return (aName == SC_EVENTACC_ONCLICK) || (aName == SC_EVENTACC_ONACTION); |
1460 |
#else |
1461 |
return aName == SC_EVENTACC_ONCLICK; |
1448 |
return aName == SC_EVENTACC_ONCLICK; |
1462 |
#endif |
|
|
1463 |
} |
1449 |
} |
1464 |
|
1450 |
|
1465 |
// XElementAccess |
1451 |
// XElementAccess |