diff options
-rw-r--r-- | sc/source/ui/inc/tabcont.hxx | 2 | ||||
-rw-r--r-- | sc/source/ui/inc/tabview.hxx | 1 | ||||
-rw-r--r-- | sc/source/ui/unoobj/docuno.cxx | 20 | ||||
-rw-r--r-- | sc/source/ui/view/tabview3.cxx | 5 |
4 files changed, 11 insertions, 17 deletions
diff --git a/sc/source/ui/inc/tabcont.hxx b/sc/source/ui/inc/tabcont.hxx index 246a7942a423..31503b49eaf3 100644 --- a/sc/source/ui/inc/tabcont.hxx +++ b/sc/source/ui/inc/tabcont.hxx @@ -44,7 +44,6 @@ private: DECL_LINK_TYPED(ShowPageList, const CommandEvent&, void); - void SwitchToPageId(sal_uInt16 nId); protected: virtual void Select() override; virtual void Command( const CommandEvent& rCEvt ) override; @@ -73,6 +72,7 @@ public: void UpdateStatus(); void SetSheetLayoutRTL( bool bSheetRTL ); + void SwitchToPageId( sal_uInt16 nId ); }; #endif diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx index 3b0c9093ca6f..23b97ed79392 100644 --- a/sc/source/ui/inc/tabview.hxx +++ b/sc/source/ui/inc/tabview.hxx @@ -386,6 +386,7 @@ public: SC_DLLPUBLIC void SetTabNo( SCTAB nTab, bool bNew = false, bool bExtendSelection = false, bool bSameTabButMoved = false ); void SelectNextTab( short nDir, bool bExtendSelection = false ); + void SelectTabPage( const sal_uInt16 nTab ); void ActivateView( bool bActivate, bool bFirst ); void ActivatePart( ScSplitPos eWhich ); diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 18fe18da6b64..ebcb87b715c7 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -495,22 +495,10 @@ void ScModelObj::paintTile( VirtualDevice& rDevice, void ScModelObj::setPart( int nPart ) { ScViewData* pViewData = ScDocShell::GetViewData(); - SfxUInt16Item aItem( SID_CURRENTTAB, nPart + 1 ); - SfxDispatcher& rDisp = pViewData->GetDispatcher(); - - rDisp.Execute( SID_CURRENTTAB, SfxCallMode::SLOT | SfxCallMode::RECORD, &aItem, nullptr ); - - SfxBindings& rBind = pViewData->GetBindings(); - rBind.Invalidate( FID_FILL_TAB ); - rBind.Invalidate( FID_TAB_DESELECTALL ); - rBind.Invalidate( FID_INS_TABLE ); - rBind.Invalidate( FID_TAB_APPEND ); - rBind.Invalidate( FID_TAB_MOVE ); - rBind.Invalidate( FID_TAB_RENAME ); - rBind.Invalidate( FID_DELETE_TABLE ); - rBind.Invalidate( FID_TABLE_SHOW ); - rBind.Invalidate( FID_TABLE_HIDE ); - rBind.Invalidate( FID_TAB_SET_TAB_BG_COLOR ); + ScTabView* pTabView = dynamic_cast< ScTabView* >( pViewData->GetView() ); + + if (pTabView) + pTabView->SelectTabPage(nPart + 1); } int ScModelObj::getParts() diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 7bdeeae35f62..10de038f6ee9 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -1514,6 +1514,11 @@ void ScTabView::SelectNextTab( short nDir, bool bExtendSelection ) PaintExtras(); } +void ScTabView::SelectTabPage( const sal_uInt16 nTab ) +{ + pTabControl->SwitchToPageId( nTab ); +} + // SetTabNo - set the displayed sheet void ScTabView::SetTabNo( SCTAB nTab, bool bNew, bool bExtendSelection, bool bSameTabButMoved ) |