diff options
author | Pranam Lashkari <lpranam@collabora.com> | 2021-01-05 20:43:57 +0530 |
---|---|---|
committer | Pranam Lashkari <lpranam@collabora.com> | 2021-01-22 07:51:53 +0100 |
commit | 820984cdd2bc8f1bd8675606ec92eb42e01fff75 (patch) | |
tree | adad4caaa87f7636fef8e1008b46d21fd80307c9 /sc/source/ui/view/cellsh1.cxx | |
parent | 5bb263f945abda08dc1a54748e9ca70c81cff7cc (diff) |
Added uno command for formula range selection
Change-Id: I01cd06ed51197ffe21102fb1fd0fcdce88ab333b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108810
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
(cherry picked from commit e8a9157878f156e599e66349d7fb60ca39e62514)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109746
Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
Diffstat (limited to 'sc/source/ui/view/cellsh1.cxx')
-rw-r--r-- | sc/source/ui/view/cellsh1.cxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 07e6ad15a44e..ccd17f217fa1 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -2704,6 +2704,40 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) } break; + case SID_CURRENT_FORMULA_RANGE: + { + const SfxInt32Item* param1 = rReq.GetArg<SfxInt32Item>(FN_PARAM_1); + SCCOL colStart = param1 ? param1->GetValue() : 0; + + const SfxInt32Item* param2 = rReq.GetArg<SfxInt32Item>(FN_PARAM_2); + SCROW rowStart = param2 ? param2->GetValue() : 0; + + const SfxInt32Item* param3 = rReq.GetArg<SfxInt32Item>(FN_PARAM_3); + SCCOL colEnd = param3 ? param3->GetValue() : 0; + + const SfxInt32Item* param4 = rReq.GetArg<SfxInt32Item>(FN_PARAM_4); + SCROW rowEnd = param4 ? param4->GetValue() : 0; + + const SfxInt32Item* param5 = rReq.GetArg<SfxInt32Item>(FN_PARAM_5); + SCROW table = param5 ? param5->GetValue() : 0; + + ScInputHandler* pInputHdl = SC_MOD()->GetInputHdl(); + + if(param3 && param4 && pInputHdl && pTabViewShell) + { + ScViewData& rViewData = pTabViewShell->GetViewData(); + ScTabView* pTabView = dynamic_cast< ScTabView* >( rViewData.GetView() ); + + if (param1 && param2) + rViewData.SetRefStart(colStart, rowStart, table); + + pTabView->UpdateRef( colEnd, rowEnd, table ); // setup the end & refresh formula + + pInputHdl->UpdateLokReferenceMarks(); + } + } + break; + default: OSL_FAIL("incorrect slot in ExecuteEdit"); break; |