Lines 1470-1507
void ScPosWnd::FillRangeNames()
Link Here
|
1470 |
// per Hand sortieren, weil Funktionen nicht sortiert werden: |
1470 |
// per Hand sortieren, weil Funktionen nicht sortiert werden: |
1471 |
|
1471 |
|
1472 |
ScRangeName* pRangeNames = pDoc->GetRangeName(); |
1472 |
ScRangeName* pRangeNames = pDoc->GetRangeName(); |
1473 |
sal_uInt16 nCount = pRangeNames->GetCount(); |
1473 |
::boost::shared_ptr<std::vector<String> > pSortedRanges ( |
1474 |
if ( nCount > 0 ) |
1474 |
pDoc->GetRangeName()->GetSortedRangeDisplayNames()); |
1475 |
{ |
1475 |
if (pSortedRanges) |
1476 |
sal_uInt16 nValidCount = 0; |
1476 |
{ |
1477 |
ScRange aDummy; |
1477 |
for (::std::vector<String>::const_iterator iName(pSortedRanges->begin()),iEnd(pSortedRanges->end()); |
1478 |
sal_uInt16 i; |
1478 |
iName!=iEnd; |
1479 |
for ( i=0; i<nCount; i++ ) |
1479 |
++iName) |
1480 |
{ |
1480 |
{ |
1481 |
ScRangeData* pData = (*pRangeNames)[i]; |
1481 |
InsertEntry(*iName); |
1482 |
if (pData->IsValidReference(aDummy)) |
|
|
1483 |
nValidCount++; |
1484 |
} |
1485 |
if ( nValidCount ) |
1486 |
{ |
1487 |
ScRangeData** ppSortArray = new ScRangeData* [ nValidCount ]; |
1488 |
sal_uInt16 j; |
1489 |
for ( i=0, j=0; i<nCount; i++ ) |
1490 |
{ |
1491 |
ScRangeData* pData = (*pRangeNames)[i]; |
1492 |
if (pData->IsValidReference(aDummy)) |
1493 |
ppSortArray[j++] = pData; |
1494 |
} |
1495 |
#ifndef ICC |
1496 |
qsort( (void*)ppSortArray, nValidCount, sizeof(ScRangeData*), |
1497 |
&ScRangeData_QsortNameCompare ); |
1498 |
#else |
1499 |
qsort( (void*)ppSortArray, nValidCount, sizeof(ScRangeData*), |
1500 |
ICCQsortNameCompare ); |
1501 |
#endif |
1502 |
for ( j=0; j<nValidCount; j++ ) |
1503 |
InsertEntry( ppSortArray[j]->GetName() ); |
1504 |
delete [] ppSortArray; |
1505 |
} |
1482 |
} |
1506 |
} |
1483 |
} |
1507 |
} |
1484 |
} |
Lines 1595-1605
ScNameInputType lcl_GetInputType( const String& rText )
Link Here
|
1595 |
SCTAB nNameTab; |
1572 |
SCTAB nNameTab; |
1596 |
sal_Int32 nNumeric; |
1573 |
sal_Int32 nNumeric; |
1597 |
|
1574 |
|
|
|
1575 |
String sRangeName; |
1576 |
SCTAB nSheet; |
1577 |
ScRangeData::ParseScopedDisplayName(rText, sRangeName, nSheet); |
1578 |
const String sScopedInternalName (ScRangeData::GetScopedInternalName(sRangeName, nSheet)); |
1579 |
|
1598 |
if ( aRange.Parse( rText, pDoc, eConv ) & SCA_VALID ) |
1580 |
if ( aRange.Parse( rText, pDoc, eConv ) & SCA_VALID ) |
1599 |
eRet = SC_NAME_INPUT_NAMEDRANGE; |
1581 |
eRet = SC_NAME_INPUT_NAMEDRANGE; |
1600 |
else if ( aAddress.Parse( rText, pDoc, eConv ) & SCA_VALID ) |
1582 |
else if ( aAddress.Parse( rText, pDoc, eConv ) & SCA_VALID ) |
1601 |
eRet = SC_NAME_INPUT_CELL; |
1583 |
eRet = SC_NAME_INPUT_CELL; |
1602 |
else if ( aRangeUtil.MakeRangeFromName( rText, pDoc, nTab, aRange, RUTL_NAMES, eConv ) ) |
1584 |
else if ( aRangeUtil.MakeRangeFromName( sScopedInternalName, pDoc, nTab, aRange, RUTL_NAMES, eConv ) ) |
1603 |
eRet = SC_NAME_INPUT_NAMEDRANGE; |
1585 |
eRet = SC_NAME_INPUT_NAMEDRANGE; |
1604 |
else if ( aRangeUtil.MakeRangeFromName( rText, pDoc, nTab, aRange, RUTL_DBASE, eConv ) ) |
1586 |
else if ( aRangeUtil.MakeRangeFromName( rText, pDoc, nTab, aRange, RUTL_DBASE, eConv ) ) |
1605 |
eRet = SC_NAME_INPUT_DATABASE; |
1587 |
eRet = SC_NAME_INPUT_DATABASE; |
Lines 1761-1767
void ScPosWnd::DoEnter()
Link Here
|
1761 |
{ |
1743 |
{ |
1762 |
// for all selection types, excecute the SID_CURRENTCELL slot |
1744 |
// for all selection types, excecute the SID_CURRENTCELL slot |
1763 |
|
1745 |
|
1764 |
SfxStringItem aPosItem( SID_CURRENTCELL, aText ); |
1746 |
String sName (aText); |
|
|
1747 |
if (eType == SC_NAME_INPUT_NAMEDRANGE) |
1748 |
{ |
1749 |
// Convert display name of range to internal |
1750 |
// name. |
1751 |
String sRangeName; |
1752 |
SCTAB nSheet; |
1753 |
ScRangeData::ParseScopedDisplayName(sName, sRangeName, nSheet); |
1754 |
sName = ScRangeData::GetScopedInternalName(sRangeName, nSheet); |
1755 |
} |
1756 |
SfxStringItem aPosItem( SID_CURRENTCELL, sName); |
1765 |
SfxBoolItem aUnmarkItem( FN_PARAM_1, sal_True ); // remove existing selection |
1757 |
SfxBoolItem aUnmarkItem( FN_PARAM_1, sal_True ); // remove existing selection |
1766 |
|
1758 |
|
1767 |
pViewSh->GetViewData()->GetDispatcher().Execute( SID_CURRENTCELL, |
1759 |
pViewSh->GetViewData()->GetDispatcher().Execute( SID_CURRENTCELL, |