summaryrefslogtreecommitdiff
path: root/sc/source/ui/namedlg
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-01-05 18:26:25 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-01-05 18:40:19 +0100
commitcb76b35b60b3194e45627edc293e3ce7a652941f (patch)
treef7e6c9110ab564c39ced946c57d433446aa0b45d /sc/source/ui/namedlg
parentf8c361927f9ae05887c1a8f337a9df88abb19474 (diff)
handle relative refs in name dialogs correctly
Diffstat (limited to 'sc/source/ui/namedlg')
-rw-r--r--sc/source/ui/namedlg/namedlg.cxx2
-rw-r--r--sc/source/ui/namedlg/namemgrtable.cxx7
-rw-r--r--sc/source/ui/namedlg/namepast.cxx5
3 files changed, 9 insertions, 5 deletions
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index a4859865617f..56c50e8d4b5f 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -144,7 +144,7 @@ void ScNameDlg::Init()
//init UI
maFtInfo.SetStyle(WB_VCENTER);
- mpRangeManagerTable = new ScRangeManagerTable(&maNameMgrCtrl, maRangeMap);
+ mpRangeManagerTable = new ScRangeManagerTable(&maNameMgrCtrl, maRangeMap, maCursorPos);
mpRangeManagerTable->SetSelectHdl( LINK( this, ScNameDlg, SelectionChangedHdl_Impl ) );
mpRangeManagerTable->SetDeselectHdl( LINK( this, ScNameDlg, SelectionChangedHdl_Impl ) );
diff --git a/sc/source/ui/namedlg/namemgrtable.cxx b/sc/source/ui/namedlg/namemgrtable.cxx
index 7f8eb6bf3e06..b9164d36b8c5 100644
--- a/sc/source/ui/namedlg/namemgrtable.cxx
+++ b/sc/source/ui/namedlg/namemgrtable.cxx
@@ -57,11 +57,12 @@ String createEntryString(const ScRangeNameLine& rLine)
return aRet;
}
-ScRangeManagerTable::ScRangeManagerTable( Window* pWindow, boost::ptr_map<rtl::OUString, ScRangeName>& rRangeMap ):
+ScRangeManagerTable::ScRangeManagerTable( Window* pWindow, boost::ptr_map<rtl::OUString, ScRangeName>& rRangeMap, const ScAddress& rPos ):
SvTabListBox( pWindow, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ),
maHeaderBar( pWindow, WB_BUTTONSTYLE | WB_BOTTOMBORDER ),
maGlobalString( ScGlobal::GetRscString(STR_GLOBAL_SCOPE)),
- mrRangeMap( rRangeMap )
+ mrRangeMap( rRangeMap ),
+ maPos( rPos )
{
Size aBoxSize( pWindow->GetOutputSizePixel() );
@@ -172,7 +173,7 @@ void ScRangeManagerTable::CheckForFormulaString()
GetLine( aLine, pEntry);
const ScRangeData* pData = findRangeData( aLine );
rtl::OUString aFormulaString;
- pData->GetSymbol(aFormulaString);
+ pData->GetSymbol(aFormulaString, maPos);
SetEntryText(aFormulaString, pEntry, 1);
maCalculatedFormulaEntries.insert( std::pair<SvLBoxEntry*, bool>(pEntry, true) );
}
diff --git a/sc/source/ui/namedlg/namepast.cxx b/sc/source/ui/namedlg/namepast.cxx
index 41939554843c..68a406f69fb2 100644
--- a/sc/source/ui/namedlg/namepast.cxx
+++ b/sc/source/ui/namedlg/namepast.cxx
@@ -38,6 +38,7 @@
#include "docsh.hxx"
#include "miscdlgs.hrc"
#include "rangenam.hxx"
+#include "viewdata.hxx"
//==================================================================
@@ -62,7 +63,9 @@ ScNamePasteDlg::ScNamePasteDlg( Window * pParent, ScDocShell* pShell, bool )
aRangeMap.insert(aTemp, new ScRangeName(*itr->second));
}
- mpTable = new ScRangeManagerTable(&maCtrl, aRangeMap);
+ ScViewData* pViewData = pShell->GetViewData();
+ ScAddress aPos(pViewData->GetCurX(), pViewData->GetCurY(), pViewData->GetTabNo());
+ mpTable = new ScRangeManagerTable(&maCtrl, aRangeMap, aPos);
maBtnPaste.SetClickHdl( LINK( this, ScNamePasteDlg, ButtonHdl) );
maBtnPasteAll.SetClickHdl( LINK( this, ScNamePasteDlg, ButtonHdl));