diff options
Diffstat (limited to 'sc/source/ui/view/tabview5.cxx')
-rw-r--r-- | sc/source/ui/view/tabview5.cxx | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx index 6d293ea3f0d5..f435ca1d550e 100644 --- a/sc/source/ui/view/tabview5.cxx +++ b/sc/source/ui/view/tabview5.cxx @@ -91,14 +91,14 @@ void ScTabView::Init() for (i=0; i<2; i++) pColOutline[i] = pRowOutline[i] = nullptr; - pHSplitter = VclPtr<ScTabSplitter>::Create( pFrameWin, WinBits( WB_HSCROLL ), &aViewData ); - pVSplitter = VclPtr<ScTabSplitter>::Create( pFrameWin, WinBits( WB_VSCROLL ), &aViewData ); + pHSplitter = VclPtr<ScTabSplitter>::Create( pFrameWin, WinBits( WB_HSCROLL ), aViewData ); + pVSplitter = VclPtr<ScTabSplitter>::Create( pFrameWin, WinBits( WB_VSCROLL ), aViewData ); // SSA: override default keyboard step size to allow snap to row/column pHSplitter->SetKeyboardStepSize( 1 ); pVSplitter->SetKeyboardStepSize( 1 ); - pTabControl = VclPtr<ScTabControl>::Create(pFrameWin, &aViewData); + pTabControl = VclPtr<ScTabControl>::Create(pFrameWin, aViewData); if (mbInlineWithScrollbar) pTabControl->SetStyle(pTabControl->GetStyle() | WB_SIZEABLE); @@ -234,7 +234,7 @@ void ScTabView::MakeDrawView( TriState nForceDesignMode ) OSL_ENSURE(pLayer, "Where is the Draw Layer ??"); sal_uInt16 i; - pDrawView.reset( new ScDrawView( pGridWin[SC_SPLIT_BOTTOMLEFT]->GetOutDev(), &aViewData ) ); + pDrawView.reset( new ScDrawView( pGridWin[SC_SPLIT_BOTTOMLEFT]->GetOutDev(), aViewData ) ); for (i=0; i<4; i++) if (pGridWin[i]) { @@ -441,10 +441,10 @@ void ScTabView::SetZoom( const Fraction& rNewX, const Fraction& rNewY, bool bAll ZoomChanged(); } -void ScTabView::RefreshZoom() +void ScTabView::RefreshZoom(bool bRecalcScale) { aViewData.RefreshZoom(); - if (pDrawView) + if (bRecalcScale && pDrawView) pDrawView->RecalcScale(); ZoomChanged(); } @@ -463,6 +463,27 @@ void ScTabView::ResetDrawDragMode() pDrawView->SetDragMode( SdrDragMode::Move ); } +void ScTabView::SwitchRotateMode() +{ + if (pDrawView) + { + SfxBindings& rBindings = aViewData.GetBindings(); + SdrDragMode eMode; + if (pDrawView->GetDragMode() == SdrDragMode::Rotate) + eMode = SdrDragMode::Move; + else + eMode = SdrDragMode::Rotate; + pDrawView->SetDragMode( eMode ); + rBindings.Invalidate( SID_OBJECT_ROTATE ); + rBindings.Invalidate( SID_OBJECT_MIRROR ); + if (eMode == SdrDragMode::Rotate && !pDrawView->IsFrameDragSingles()) + { + pDrawView->SetFrameDragSingles(); + rBindings.Invalidate( SID_BEZIER_EDIT ); + } + } +} + void ScTabView::ViewOptionsHasChanged( bool bHScrollChanged, bool bGraphicsChanged ) { // create DrawView when grid should be displayed |