diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2006-11-14 14:56:10 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2006-11-14 14:56:10 +0000 |
commit | 52a3fa52b341748ec4b3c35205b776505fb90c02 (patch) | |
tree | 821b01b40875b77655063ce36b815771912be326 /sc/source/ui/view/drawview.cxx | |
parent | 3cbfd9bd048b33c908196b7e24f4cfe6a1706162 (diff) |
INTEGRATION: CWS aw024 (1.37.36); FILE MERGED
2006/11/10 06:43:54 aw 1.37.36.8: RESYNC: (1.41-1.42); FILE MERGED
2006/08/03 19:28:08 aw 1.37.36.7: RESYNC: (1.39-1.41); FILE MERGED
2006/05/13 00:08:06 aw 1.37.36.6: RESYNC: (1.38-1.39); FILE MERGED
2005/09/20 03:43:43 aw 1.37.36.5: RESYNC: (1.37-1.38); FILE MERGED
2005/07/26 11:51:55 aw 1.37.36.4: #114176#
2005/05/26 11:16:13 aw 1.37.36.3: #i39531#
2005/05/19 12:08:13 aw 1.37.36.2: #i39529#
2005/05/12 16:44:07 aw 1.37.36.1: #i39529#
Diffstat (limited to 'sc/source/ui/view/drawview.cxx')
-rw-r--r-- | sc/source/ui/view/drawview.cxx | 94 |
1 files changed, 50 insertions, 44 deletions
diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx index 36cd9d89b3ca..e9c38bd1a868 100644 --- a/sc/source/ui/view/drawview.cxx +++ b/sc/source/ui/view/drawview.cxx @@ -4,9 +4,9 @@ * * $RCSfile: drawview.cxx,v $ * - * $Revision: 1.42 $ + * $Revision: 1.43 $ * - * last change: $Author: vg $ $Date: 2006-11-01 18:22:48 $ + * last change: $Author: ihi $ $Date: 2006-11-14 15:56:10 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -52,7 +52,6 @@ #include <svx/svdouno.hxx> #include <svx/svdpage.hxx> #include <svx/svdundo.hxx> -#include <svx/svdvmark.hxx> #include <svx/svdocapt.hxx> #include <svx/outlobj.hxx> #include <svx/xoutx.hxx> @@ -79,6 +78,10 @@ #include "sc.hrc" +#ifndef _SDRPAINTWINDOW_HXX +#include <svx/sdrpaintwindow.hxx> +#endif + using namespace com::sun::star; // ----------------------------------------------------------------------- @@ -88,7 +91,6 @@ using namespace com::sun::star; // ----------------------------------------------------------------------- - #ifdef WNT #pragma optimize ( "", off ) #endif @@ -109,7 +111,7 @@ void ScDrawView::Construct() if (pViewData) { SCTAB nTab = pViewData->GetTabNo(); - ShowPagePgNum( static_cast<sal_uInt16>(nTab), Point() ); + ShowSdrPage(GetModel()->GetPage(nTab)); BOOL bEx = pViewData->GetViewShell()->IsDrawSelMode(); BOOL bProt = pDoc->IsTabProtected( nTab ) || @@ -142,7 +144,9 @@ void ScDrawView::Construct() SetSwapAsynchron(TRUE); } else - ShowPagePgNum( static_cast<sal_uInt16>(nTab), Point() ); + { + ShowSdrPage(GetModel()->GetPage(nTab)); + } UpdateUserViewOptions(); RecalcScale(); @@ -151,9 +155,18 @@ void ScDrawView::Construct() bInConstruct = FALSE; } +void ScDrawView::ImplClearCalcDropMarker() +{ + if(pDropMarker) + { + delete pDropMarker; + pDropMarker = 0L; + } +} + __EXPORT ScDrawView::~ScDrawView() { - delete pDropMarker; + ImplClearCalcDropMarker(); } void ScDrawView::AddCustomHdl() @@ -249,20 +262,19 @@ void ScDrawView::InvalidateDrawTextAttrs() rBindings.Invalidate( SID_ALIGN_ANY_JUSTIFIED ); } -void ScDrawView::DrawMarks( OutputDevice* pOut ) const -{ -// if (IsMarkHdlShown()) -// DrawMarkHdl(pOut,FALSE); - - USHORT nWinNum = ((ScDrawView*)this)->FindWin(pOut); //! DrawMarks nicht-const - if (nWinNum!=SDRVIEWWIN_NOTFOUND) - { - // ((ScDrawView*)this)->AfterInitRedraw(nWinNum); //! DrawMarks nicht-const - - if (IsShownXorVisibleWinNum(nWinNum)) - ((ScDrawView*)this)->ToggleShownXor(pOut,NULL); //! DrawMarks nicht-const - } -} +//void ScDrawView::DrawMarks( OutputDevice* pOut ) const +//{ +// DBG_ASSERT(pOut, "ScDrawView::DrawMarks: No OutputDevice (!)"); +// SdrPaintWindow* pPaintWindow = FindPaintWindow(*pOut); +// +// if(pPaintWindow) +// { +// if(pPaintWindow->isXorVisible()) +// { +// ToggleShownXor(pOut, 0L); +// } +// } +//} void ScDrawView::SetMarkedToLayer( BYTE nLayerNo ) { @@ -577,12 +589,15 @@ void __EXPORT ScDrawView::MarkListHasChanged() InvalidateAttribs(); // nach dem IMap-Editor Update InvalidateDrawTextAttrs(); - USHORT nWinCount = GetWinCount(); - for (USHORT i=0; i<nWinCount; i++) + for(sal_uInt32 a(0L); a < PaintWindowCount(); a++) { - OutputDevice* pDev = GetWin(i); - if (pDev->GetOutDevType() == OUTDEV_WINDOW) - ((Window*)pDev)->Update(); + SdrPaintWindow* pPaintWindow = GetPaintWindow(a); + OutputDevice& rOutDev = pPaintWindow->GetOutputDevice(); + + if(OUTDEV_WINDOW == rOutDev.GetOutDevType()) + { + ((Window&)rOutDev).Update(); + } } // uno object for view returns drawing objects as selection, @@ -714,7 +729,7 @@ BOOL ScDrawView::SelectObject( const String& rName ) SetLayerLocked( pLayer->GetName(), FALSE ); } - SdrPageView* pPV = GetPageViewPvNum(0); + SdrPageView* pPV = GetSdrPageView(); MarkObj( pFound, pPV ); } @@ -750,7 +765,7 @@ FASTBOOL ScDrawView::InsertObjectSafe(SdrObject* pObj, SdrPageView& rPV, ULONG n nOptions |= SDRINSERT_DONTMARK; } - return InsertObject( pObj, rPV, nOptions ); + return InsertObjectAtView( pObj, rPV, nOptions ); } void __EXPORT ScDrawView::MakeVisible( const Rectangle& rRect, Window& rWin ) @@ -765,7 +780,7 @@ void __EXPORT ScDrawView::MakeVisible( const Rectangle& rRect, Window& rWin ) SdrEndTextEditKind ScDrawView::ScEndTextEdit() { BOOL bIsTextEdit = IsTextEdit(); - SdrEndTextEditKind eKind = EndTextEdit(); + SdrEndTextEditKind eKind = SdrEndTextEdit(); if ( bIsTextEdit && pViewData ) pViewData->GetViewShell()->SetDrawTextUndo(NULL); // "normaler" Undo-Manager @@ -775,23 +790,14 @@ SdrEndTextEditKind ScDrawView::ScEndTextEdit() void ScDrawView::MarkDropObj( SdrObject* pObj ) { - if ( pObj ) - { - if ( !pDropMarker ) - pDropMarker = new SdrViewUserMarker(this); - if ( pDropMarkObj != pObj ) - { - pDropMarkObj = pObj; - pDropMarker->SetXPolyPolygon(pDropMarkObj, GetPageViewPvNum(0)); - pDropMarker->Show(); - } - } - else // Markierung aufheben + if ( pDropMarkObj != pObj ) { - if (pDropMarker) + pDropMarkObj = pObj; + ImplClearCalcDropMarker(); + + if(pDropMarkObj) { - pDropMarker->Hide(); - pDropMarkObj = NULL; + pDropMarker = new SdrDropMarkerOverlay(*this, *pDropMarkObj); } } } |