summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/drawview.cxx
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2006-11-14 14:56:10 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2006-11-14 14:56:10 +0000
commit52a3fa52b341748ec4b3c35205b776505fb90c02 (patch)
tree821b01b40875b77655063ce36b815771912be326 /sc/source/ui/view/drawview.cxx
parent3cbfd9bd048b33c908196b7e24f4cfe6a1706162 (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.cxx94
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);
}
}
}