User: rt Date: 2008-01-29 13:52:35+0000 Modified: dba/reportdesign/source/ui/report/dlgedfunc.cxx
Log: INTEGRATION: CWS reportdesign02 (1.5.36); FILE MERGED 2007/11/28 15:19:29 lla 1.5.36.2: #i80260# with pressed ctrl key it isn't possible to move the object out of the section. 2007/11/26 06:24:44 lla 1.5.36.1: #i80260# drag n drop, lines over all sections, no ctrl key need to move obj in different section File Changes: Directory: /dba/reportdesign/source/ui/report/ ============================================== File [changed]: dlgedfunc.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/dlgedfunc.cxx?r1=1.5&r2=1.6 Delta lines: +157 -127 ----------------------- --- dlgedfunc.cxx 2007-08-06 10:49:22+0000 1.5 +++ dlgedfunc.cxx 2008-01-29 13:52:33+0000 1.6 @@ -108,7 +108,7 @@ IMPL_LINK( DlgEdFunc, ScrollTimeout, Timer *, ) { - ForceScroll( pParent->PixelToLogic( pParent->GetPointerPosPixel() ) ); + ForceScroll( m_pParent->PixelToLogic( m_pParent->GetPointerPosPixel() ) ); return 0; } @@ -118,15 +118,15 @@ { aScrollTimer.Stop(); - OReportWindow* pReportWindow = pParent->getViewsWindow()->getView(); + OReportWindow* pReportWindow = m_pParent->getViewsWindow()->getView(); OScrollWindowHelper* pScrollWindow = pReportWindow->getScrollWindow(); Size aOut = pReportWindow->GetOutputSizePixel(); aOut.Width() -= REPORT_STARTMARKER_WIDTH; Rectangle aOutRect( pScrollWindow->getScrollOffset(), aOut ); - aOutRect = pParent->PixelToLogic( aOutRect ); - //Rectangle aWorkArea = pParent->getView()->GetWorkArea(); + aOutRect = m_pParent->PixelToLogic( aOutRect ); + //Rectangle aWorkArea = m_pParent->getView()->GetWorkArea(); Point aGcc3WorkaroundTemporary; Rectangle aWorkArea(aGcc3WorkaroundTemporary,pScrollWindow->getTotalSize()); aWorkArea.Right() -= REPORT_STARTMARKER_WIDTH; @@ -156,15 +156,15 @@ //---------------------------------------------------------------------------- DlgEdFunc::DlgEdFunc( OReportSection* _pParent ) -:pParent(_pParent), - pView(_pParent->getView()), +:m_pParent(_pParent), + m_pView(_pParent->getView()), m_xOverlappingObj(NULL), m_pOverlappingObj(NULL), m_bSelectionMode(false) { - // pParent = _pParent; + // m_pParent = _pParent; aScrollTimer.SetTimeoutHdl( LINK( this, DlgEdFunc, ScrollTimeout ) ); - pView->SetActualWin( pParent); + m_pView->SetActualWin( m_pParent); aScrollTimer.SetTimeout( SELENG_AUTOREPEAT_INTERVAL ); } @@ -217,24 +217,24 @@ BOOL DlgEdFunc::MouseButtonDown( const MouseEvent& rMEvt ) { - m_aMDPos = pParent->PixelToLogic( rMEvt.GetPosPixel() ); - pParent->GrabFocus(); + m_aMDPos = m_pParent->PixelToLogic( rMEvt.GetPosPixel() ); + m_pParent->GrabFocus(); BOOL bHandled = FALSE; if ( rMEvt.IsLeft() ) { if ( rMEvt.GetClicks() > 1 ) { // show property browser - if ( pParent->GetMode() != RPTUI_READONLY ) + if ( m_pParent->GetMode() != RPTUI_READONLY ) { uno::Sequence<beans::PropertyValue> aArgs(1); aArgs[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ShowProperties")); aArgs[0].Value <<= sal_True; - pParent->getViewsWindow()->getView()->getReportView()->getController()->executeUnChecked(SID_SHOW_PROPERTYBROWSER,aArgs); - pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(pParent->getView()); + m_pParent->getViewsWindow()->getView()->getReportView()->getController()->executeUnChecked(SID_SHOW_PROPERTYBROWSER,aArgs); + m_pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(m_pParent->getView()); // TODO character in shapes // SdrViewEvent aVEvt; - // pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); + // m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); // if ( aVEvt.pRootObj && aVEvt.pRootObj->ISA(SdrTextObj) ) // SetInEditMode(static_cast<SdrTextObj *>(aVEvt.pRootObj),rMEvt, FALSE); bHandled = TRUE; @@ -242,35 +242,35 @@ } else { - SdrHdl* pHdl = pView->PickHandle(m_aMDPos); - //pParent->getViewsWindow()->unmarkAllObjects(pView); + SdrHdl* pHdl = m_pView->PickHandle(m_aMDPos); + //m_pParent->getViewsWindow()->unmarkAllObjects(m_pView); // if selected object was hit, drag object - if ( pHdl!=NULL || pView->IsMarkedHit(m_aMDPos) ) + if ( pHdl!=NULL || m_pView->IsMarkedHit(m_aMDPos) ) { bHandled = TRUE; - pParent->CaptureMouse(); - pParent->getViewsWindow()->BegDragObj(m_aMDPos, pHdl,pView); + m_pParent->CaptureMouse(); + m_pParent->getViewsWindow()->BegDragObj(m_aMDPos, pHdl,m_pView); } } } else if ( rMEvt.IsRight() && !rMEvt.IsLeft() && rMEvt.GetClicks() == 1 ) // mark object when context menu was selected { - SdrPageView* pPV = pView->GetSdrPageView(); + SdrPageView* pPV = m_pView->GetSdrPageView(); SdrViewEvent aVEvt; - if ( pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt) != SDRHIT_MARKEDOBJECT && !rMEvt.IsShift() ) - pParent->getViewsWindow()->unmarkAllObjects(NULL); + if ( m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt) != SDRHIT_MARKEDOBJECT && !rMEvt.IsShift() ) + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); if ( aVEvt.pRootObj ) - pView->MarkObj(aVEvt.pRootObj, pPV); + m_pView->MarkObj(aVEvt.pRootObj, pPV); else - pParent->getViewsWindow()->unmarkAllObjects(NULL); + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); bHandled = TRUE; } else if( !rMEvt.IsLeft() ) bHandled = TRUE; if ( !bHandled ) - pParent->CaptureMouse(); + m_pParent->CaptureMouse(); return bHandled; } @@ -279,7 +279,7 @@ BOOL DlgEdFunc::MouseButtonUp( const MouseEvent& /*rMEvt*/ ) { BOOL bHandled = FALSE; - pParent->getViewsWindow()->stopScrollTimer(); + m_pParent->getViewsWindow()->stopScrollTimer(); return bHandled; } // ----------------------------------------------------------------------------- @@ -287,8 +287,8 @@ { unColorizeOverlappedObj(); aScrollTimer.Stop(); - if ( pParent->IsMouseCaptured() ) - pParent->ReleaseMouse(); + if ( m_pParent->IsMouseCaptured() ) + m_pParent->ReleaseMouse(); } //---------------------------------------------------------------------------- @@ -308,20 +308,20 @@ { case KEY_ESCAPE: { - if ( pParent->getViewsWindow()->IsAction() ) + if ( m_pParent->getViewsWindow()->IsAction() ) { - pParent->getViewsWindow()->BrkAction(); + m_pParent->getViewsWindow()->BrkAction(); bReturn = TRUE; } - else if ( pView->AreObjectsMarked() ) + else if ( m_pView->AreObjectsMarked() ) { - const SdrHdlList& rHdlList = pView->GetHdlList(); + const SdrHdlList& rHdlList = m_pView->GetHdlList(); SdrHdl* pHdl = rHdlList.GetFocusHdl(); if ( pHdl ) ((SdrHdlList&)rHdlList).ResetFocusHdl(); else - pParent->getViewsWindow()->unmarkAllObjects(NULL); - //pView->UnmarkAll(); + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); + //m_pView->UnmarkAll(); bReturn = FALSE; } @@ -332,22 +332,22 @@ if ( !rCode.IsMod1() && !rCode.IsMod2() ) { // mark next object - if ( !pView->MarkNextObj( !rCode.IsShift() ) ) + if ( !m_pView->MarkNextObj( !rCode.IsShift() ) ) { // if no next object, mark first/last - pView->UnmarkAllObj(); - pView->MarkNextObj( !rCode.IsShift() ); + m_pView->UnmarkAllObj(); + m_pView->MarkNextObj( !rCode.IsShift() ); } - if ( pView->AreObjectsMarked() ) - pView->MakeVisible( pView->GetAllMarkedRect(), *pParent); + if ( m_pView->AreObjectsMarked() ) + m_pView->MakeVisible( m_pView->GetAllMarkedRect(), *m_pParent); bReturn = TRUE; } else if ( rCode.IsMod1() && rCode.IsMod2()) { // selected handle - const SdrHdlList& rHdlList = pView->GetHdlList(); + const SdrHdlList& rHdlList = m_pView->GetHdlList(); ((SdrHdlList&)rHdlList).TravelFocusHdl( !rCode.IsShift() ); // guarantee visibility of focused handle @@ -356,7 +356,7 @@ { Point aHdlPosition( pHdl->GetPos() ); Rectangle aVisRect( aHdlPosition - Point( DEFAUL_MOVE_SIZE, DEFAUL_MOVE_SIZE ), Size( 200, 200 ) ); - pView->MakeVisible( aVisRect, *pParent); + m_pView->MakeVisible( aVisRect, *m_pParent); } bReturn = TRUE; @@ -368,19 +368,19 @@ case KEY_LEFT: case KEY_RIGHT: { - pParent->getViewsWindow()->handleKey(rCode); + m_pParent->getViewsWindow()->handleKey(rCode); bReturn = TRUE; } break; default: { - bReturn = pView->KeyInput(_rEvent, pParent); + bReturn = m_pView->KeyInput(_rEvent, m_pParent); } break; } - if ( bReturn && pParent->IsMouseCaptured() ) - pParent->ReleaseMouse(); + if ( bReturn && m_pParent->IsMouseCaptured() ) + m_pParent->ReleaseMouse(); return bReturn; } @@ -430,7 +430,7 @@ { bool bOverlapping = false; SdrViewEvent aVEvt; - bOverlapping = pView->PickAnything(rMEvt, SDRMOUSEBUTTONUP, aVEvt) != SDRHIT_NONE; + bOverlapping = m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONUP, aVEvt) != SDRHIT_NONE; if (bOverlapping && aVEvt.pObj) { colorizeOverlappedObject(aVEvt.pObj); @@ -445,24 +445,37 @@ // ----------------------------------------------------------------------------- void DlgEdFunc::checkMovementAllowed(const MouseEvent& rMEvt) { - if ( pParent->getViewsWindow()->IsDragObj() ) + if ( m_pParent->getViewsWindow()->IsDragObj() ) { if ( isRectangleHit(rMEvt) ) - pParent->getViewsWindow()->BrkAction(); + m_pParent->getViewsWindow()->BrkAction(); // object was dragged - const Point aPnt( pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); - pParent->getViewsWindow()->EndDragObj( rMEvt.IsMod1() , pView,aPnt ); - pParent->getViewsWindow()->ForceMarkedToAnotherPage(); - pParent->Invalidate(INVALIDATE_CHILDREN); + Point aPnt( m_pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); + if (m_bSelectionMode) + { + m_pParent->getViewsWindow()->EndAction(); + } + else + { + bool bControlKeyPressed = rMEvt.IsMod1(); + // Don't allow points smaller 0 + if (bControlKeyPressed && (aPnt.Y() < 0)) + { + aPnt.Y() = 0; + } + m_pParent->getViewsWindow()->EndDragObj( bControlKeyPressed, m_pView, aPnt ); + } + m_pParent->getViewsWindow()->ForceMarkedToAnotherPage(); + m_pParent->Invalidate(INVALIDATE_CHILDREN); } else - pParent->getViewsWindow()->EndAction(); + m_pParent->getViewsWindow()->EndAction(); } // ----------------------------------------------------------------------------- bool DlgEdFunc::isOnlyCustomShapeMarked() { bool bReturn = true; - const SdrMarkList& rMarkList = pView->GetMarkedObjectList(); + const SdrMarkList& rMarkList = m_pView->GetMarkedObjectList(); for (sal_uInt32 i = 0; i < rMarkList.GetMarkCount();++i ) { SdrMark* pMark = rMarkList.GetMark(i); @@ -486,21 +499,21 @@ } SdrViewEvent aVEvt; - const SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEMOVE, aVEvt); + const SdrHitKind eHit = m_pView->PickAnything(rMEvt, SDRMOUSEMOVE, aVEvt); bool bIsSetPoint = (eHit == SDRHIT_UNMARKEDOBJECT); if ( !bIsSetPoint ) { // no drag rect, we have to check every single select rect - //const Rectangle& rRect = pView->GetDragStat().GetActionRect(); - const SdrDragStat& rDragStat = pView->GetDragStat(); + //const Rectangle& rRect = m_pView->GetDragStat().GetActionRect(); + const SdrDragStat& rDragStat = m_pView->GetDragStat(); if (rDragStat.GetDragMethod() != NULL) { - SdrObjListIter aIter(*pParent->getPage(),IM_DEEPNOGROUPS); + SdrObjListIter aIter(*m_pParent->getPage(),IM_DEEPNOGROUPS); SdrObject* pObjIter = NULL; // loop through all marked objects and check if there new rect overlapps an old one. while( (pObjIter = aIter.Next()) != NULL && !bIsSetPoint) { - if ( pView->IsObjMarked(pObjIter) + if ( m_pView->IsObjMarked(pObjIter) && dynamic_cast<OUnoObject*>(pObjIter) != NULL ) { Rectangle aNewRect = pObjIter->GetLastBoundRect(); @@ -518,7 +531,7 @@ ::ResizeRect(aNewRect,rDragStat.GetRef1(),rDragStat.GetXFact(),rDragStat.GetYFact()); - SdrObject* pObjOverlapped = isOver(aNewRect,*pParent->getPage(),*pView,false,pObjIter); + SdrObject* pObjOverlapped = isOver(aNewRect,*m_pParent->getPage(),*m_pView,false,pObjIter); bIsSetPoint = pObjOverlapped ? true : false; if (pObjOverlapped && !m_bSelectionMode) { @@ -539,8 +552,17 @@ { bool bIsSetPoint = isRectangleHit(rMEvt); if ( bIsSetPoint ) - pParent->SetPointer( Pointer(POINTER_NOTALLOWED)); - + m_pParent->SetPointer( Pointer(POINTER_NOTALLOWED)); + else + { + bool bCtrlKey = rMEvt.IsMod1(); + (void)bCtrlKey; + if (bCtrlKey) + { + m_pParent->SetPointer( Pointer(POINTER_MOVEDATALINK )); + bIsSetPoint = true; + } + } return bIsSetPoint; } //---------------------------------------------------------------------------- @@ -548,14 +570,14 @@ DlgEdFuncInsert::DlgEdFuncInsert( OReportSection* _pParent ) : DlgEdFunc( _pParent ) { - pParent->getView()->SetCreateMode( TRUE ); + m_pParent->getView()->SetCreateMode( TRUE ); } //---------------------------------------------------------------------------- DlgEdFuncInsert::~DlgEdFuncInsert() { - pParent->getView()->SetEditMode( TRUE ); + m_pParent->getView()->SetEditMode( TRUE ); } //---------------------------------------------------------------------------- @@ -566,25 +588,25 @@ return TRUE; SdrViewEvent aVEvt; - const SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); + const SdrHitKind eHit = m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); if( eHit != SDRHIT_UNMARKEDOBJECT ) { // if no action, create object - if ( !pParent->getViewsWindow()->IsAction() ) + if ( !m_pParent->getViewsWindow()->IsAction() ) { - if ( pParent->getViewsWindow()->HasSelection() ) - pParent->getViewsWindow()->unmarkAllObjects(pView); - pView->BegCreateObj(m_aMDPos); - pParent->getViewsWindow()->createDefault(); + if ( m_pParent->getViewsWindow()->HasSelection() ) + m_pParent->getViewsWindow()->unmarkAllObjects(m_pView); + m_pView->BegCreateObj(m_aMDPos); + m_pParent->getViewsWindow()->createDefault(); } } else { if( !rMEvt.IsShift() ) - pParent->getViewsWindow()->unmarkAllObjects(NULL); + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); - pParent->getViewsWindow()->BegMarkObj( m_aMDPos,pView ); + m_pParent->getViewsWindow()->BegMarkObj( m_aMDPos,m_pView ); } return TRUE; @@ -596,44 +618,44 @@ if ( DlgEdFunc::MouseButtonUp( rMEvt ) ) return TRUE; - const Point aPos( pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); - const USHORT nHitLog = USHORT ( pParent->PixelToLogic(Size(3,0)).Width() ); + const Point aPos( m_pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); + const USHORT nHitLog = USHORT ( m_pParent->PixelToLogic(Size(3,0)).Width() ); BOOL bReturn = TRUE; // object creation active? - if ( pView->IsCreateObj() ) + if ( m_pView->IsCreateObj() ) { - if ( isOver(pView->GetCreateObj(),*pParent->getPage(),*pView) ) + if ( isOver(m_pView->GetCreateObj(),*m_pParent->getPage(),*m_pView) ) { - pParent->getViewsWindow()->BrkAction(); + m_pParent->getViewsWindow()->BrkAction(); // BrkAction disables the create mode - pView->SetCreateMode( TRUE ); + m_pView->SetCreateMode( TRUE ); return TRUE; } - pView->EndCreateObj(SDRCREATE_FORCEEND); + m_pView->EndCreateObj(SDRCREATE_FORCEEND); - if ( !pView->AreObjectsMarked() ) + if ( !m_pView->AreObjectsMarked() ) { - pView->MarkObj(aPos, nHitLog); + m_pView->MarkObj(aPos, nHitLog); } - bReturn = pView->AreObjectsMarked(); + bReturn = m_pView->AreObjectsMarked(); } else checkMovementAllowed(rMEvt); - if ( pView && !pView->AreObjectsMarked() && + if ( m_pView && !m_pView->AreObjectsMarked() && Abs(m_aMDPos.X() - aPos.X()) < nHitLog && Abs(m_aMDPos.Y() - aPos.Y()) < nHitLog && !rMEvt.IsShift() && !rMEvt.IsMod2() ) { - SdrPageView* pPV = pView->GetSdrPageView(); + SdrPageView* pPV = m_pView->GetSdrPageView(); SdrViewEvent aVEvt; - pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); - pView->MarkObj(aVEvt.pRootObj, pPV); + m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); + m_pView->MarkObj(aVEvt.pRootObj, pPV); } - pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(pView); + m_pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(m_pView); return bReturn; } @@ -643,27 +665,27 @@ { if ( DlgEdFunc::MouseMove(rMEvt ) ) return TRUE; - const Point aPos( pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); + const Point aPos( m_pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); - if ( pView->IsCreateObj() ) + if ( m_pView->IsCreateObj() ) { - pView->SetOrtho(SdrObjCustomShape::doConstructOrthogonal(pView->getSectionWindow()->getViewsWindow()->getShapeType()) ? !rMEvt.IsShift() : rMEvt.IsShift()); - pView->SetAngleSnapEnabled(rMEvt.IsShift()); + m_pView->SetOrtho(SdrObjCustomShape::doConstructOrthogonal(m_pView->getSectionWindow()->getViewsWindow()->getShapeType()) ? !rMEvt.IsShift() : rMEvt.IsShift()); + m_pView->SetAngleSnapEnabled(rMEvt.IsShift()); } bool bIsSetPoint = false; - if ( pView->IsAction() ) + if ( m_pView->IsAction() ) { bIsSetPoint = setMovementPointer(rMEvt); ForceScroll(aPos); - pParent->getViewsWindow()->MovAction(aPos,pView,pView->GetDragMethod() == NULL); + m_pParent->getViewsWindow()->MovAction(aPos,m_pView, m_pView->GetDragMethod() == NULL, false); } - //if ( isOver(pView->GetCreateObj(),*pParent->getPage(),*pView) ) - // pParent->SetPointer( Pointer(POINTER_NOTALLOWED)); + //if ( isOver(m_pView->GetCreateObj(),*m_pParent->getPage(),*m_pView) ) + // m_pParent->SetPointer( Pointer(POINTER_NOTALLOWED)); //else if ( !bIsSetPoint ) - pParent->SetPointer( pView->GetPreferedPointer( aPos, pParent) ); + m_pParent->SetPointer( m_pView->GetPreferedPointer( aPos, m_pParent) ); return TRUE; } @@ -690,37 +712,37 @@ return TRUE; SdrViewEvent aVEvt; - const SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); + const SdrHitKind eHit = m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); if( eHit == SDRHIT_UNMARKEDOBJECT ) { // if not multi selection, unmark all if ( !rMEvt.IsShift() ) - pParent->getViewsWindow()->unmarkAllObjects(NULL); + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); - if ( pView->MarkObj(m_aMDPos) && rMEvt.IsLeft() ) + if ( m_pView->MarkObj(m_aMDPos) && rMEvt.IsLeft() ) { // drag object - pParent->getViewsWindow()->BegDragObj(m_aMDPos, pView->PickHandle(m_aMDPos), pView); + m_pParent->getViewsWindow()->BegDragObj(m_aMDPos, m_pView->PickHandle(m_aMDPos), m_pView); } else { // select object - pParent->getViewsWindow()->BegMarkObj(m_aMDPos,pView); + m_pParent->getViewsWindow()->BegMarkObj(m_aMDPos,m_pView); } } else { if( !rMEvt.IsShift() ) - pParent->getViewsWindow()->unmarkAllObjects(NULL); - //pView->UnmarkAll(); + m_pParent->getViewsWindow()->unmarkAllObjects(NULL); + //m_pView->UnmarkAll(); if ( rMEvt.GetClicks() == 1 ) { m_bSelectionMode = true; - pParent->getViewsWindow()->BegMarkObj( m_aMDPos ,pView); + m_pParent->getViewsWindow()->BegMarkObj( m_aMDPos ,m_pView); } else - pView->SdrBeginTextEdit( aVEvt.pRootObj,pView->GetSdrPageView(),pParent,sal_False ); + m_pView->SdrBeginTextEdit( aVEvt.pRootObj,m_pView->GetSdrPageView(),m_pParent,sal_False ); } return TRUE; @@ -734,15 +756,15 @@ return TRUE; // get view from parent - const Point aPnt( pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); + const Point aPnt( m_pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); - if ( rMEvt.IsLeft() ) + if ( rMEvt.IsLeft() ) // left mousebutton pressed checkMovementAllowed(rMEvt); - pParent->getViewsWindow()->EndAction(); - pParent->SetPointer( pView->GetPreferedPointer( aPnt, pParent) ); + m_pParent->getViewsWindow()->EndAction(); + m_pParent->SetPointer( m_pView->GetPreferedPointer( aPnt, m_pParent) ); - pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(pView); + m_pParent->getViewsWindow()->getView()->getReportView()->UpdatePropertyBrowserDelayed(m_pView); m_bSelectionMode = false; return TRUE; } @@ -754,19 +776,27 @@ if ( DlgEdFunc::MouseMove(rMEvt ) ) return TRUE; - const Point aPnt( pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); + const Point aPnt( m_pParent->PixelToLogic( rMEvt.GetPosPixel() ) ); bool bIsSetPoint = false; - if ( pView->IsAction() ) + if ( m_pView->IsAction() ) // Drag Mode { bIsSetPoint = setMovementPointer(rMEvt); ForceScroll(aPnt); - pParent->getViewsWindow()->MovAction(aPnt,pView,pView->GetDragMethod() == NULL); + if (m_pView->GetDragMethod()==NULL) + { + m_pParent->getViewsWindow()->MovAction(aPnt, m_pView, true, false); + } + else + { + bool bControlKey = rMEvt.IsMod1(); + m_pParent->getViewsWindow()->MovAction(aPnt, m_pView, false, bControlKey); + } } if ( !bIsSetPoint ) { - pParent->SetPointer( pView->GetPreferedPointer( aPnt, pParent) ); + m_pParent->SetPointer( m_pView->GetPreferedPointer( aPnt, m_pParent) ); // restore color unColorizeOverlappedObj(); @@ -778,17 +808,17 @@ //void DlgEdFuncSelect::SetInEditMode(SdrTextObj* _pTextObj,const MouseEvent& rMEvt, BOOL bQuickDrag) //{ // -// SdrPageView* pPV = pView->GetSdrPageView(); +// SdrPageView* pPV = m_pView->GetSdrPageView(); // if( _pTextObj && _pTextObj->GetPage() == pPV->GetPage() ) // { -// pView->SetCurrentObj(OBJ_TEXT); -// pView->SetEditMode(SDREDITMODE_EDIT); +// m_pView->SetCurrentObj(OBJ_TEXT); +// m_pView->SetEditMode(SDREDITMODE_EDIT); // // BOOL bEmptyOutliner = FALSE; // -// if (!_pTextObj->GetOutlinerParaObject() && pView->GetTextEditOutliner()) +// if (!_pTextObj->GetOutlinerParaObject() && m_pView->GetTextEditOutliner()) // { -// ::SdrOutliner* pOutl = pView->GetTextEditOutliner(); +// ::SdrOutliner* pOutl = m_pView->GetTextEditOutliner(); // ULONG nParaAnz = pOutl->GetParagraphCount(); // Paragraph* p1stPara = pOutl->GetParagraph( 0 ); // @@ -802,7 +832,7 @@ // } // } // -// if (_pTextObj != pView->GetTextEditObject() || bEmptyOutliner) +// if (_pTextObj != m_pView->GetTextEditObject() || bEmptyOutliner) // { // UINT32 nInv = _pTextObj->GetObjInventor(); // UINT16 nSdrObjKind = _pTextObj->GetObjIdentifier(); @@ -853,7 +883,7 @@ // // if (bEmptyOutliner) // { -// pView->SdrEndTextEdit(sal_True); +// m_pView->SdrEndTextEdit(sal_True); // } // // if( _pTextObj ) @@ -865,17 +895,17 @@ // pOutl->SetVertical( TRUE ); // // -// if (pView->SdrBeginTextEdit(_pTextObj, pPV, pParent, sal_True, pOutl) && _pTextObj->GetObjInventor() == SdrInventor) +// if (m_pView->SdrBeginTextEdit(_pTextObj, pPV, pParent, sal_True, pOutl) && _pTextObj->GetObjInventor() == SdrInventor) // { // //bFirstObjCreated = TRUE; // //DeleteDefaultText(); // -// OutlinerView* pOLV = pView->GetTextEditOutlinerView(); +// OutlinerView* pOLV = m_pView->GetTextEditOutlinerView(); // // nSdrObjKind = _pTextObj->GetObjIdentifier(); // // SdrViewEvent aVEvt; -// SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); +// SdrHitKind eHit = m_pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); // // if (eHit == SDRHIT_TEXTEDIT) // { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
