summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/tabview5.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/view/tabview5.cxx')
-rw-r--r--sc/source/ui/view/tabview5.cxx33
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