[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 4 commits - sc/source svx/README
Jan Holesovsky
kendy at collabora.com
Fri Apr 3 08:16:45 PDT 2015
sc/source/ui/unoobj/docuno.cxx | 4 +-
sc/source/ui/view/gridwin.cxx | 1
svx/README | 57 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 60 insertions(+), 2 deletions(-)
New commits:
commit edb2d3388c40c8afd168561e7d388c40bb8a2254
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Apr 3 17:12:42 2015 +0200
sc tiled editing: This correction is not needed, pass the exact values.
Change-Id: Ie73569bf3faefdc9aa6a309423d8048a49dda272
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 3ee089a..7c3bb1b 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -685,13 +685,13 @@ void ScModelObj::setGraphicSelection(int nType, int nX, int nY)
{
MouseEvent aClickEvent(Point(nPixelX, nPixelY), 1, MouseEventModifiers::SIMPLECLICK, MOUSE_LEFT);
pGridWindow->MouseButtonDown(aClickEvent);
- MouseEvent aMoveEvent(Point(nPixelX + 1, nPixelY), 0, MouseEventModifiers::SIMPLEMOVE, MOUSE_LEFT);
+ MouseEvent aMoveEvent(Point(nPixelX, nPixelY), 0, MouseEventModifiers::SIMPLEMOVE, MOUSE_LEFT);
pGridWindow->MouseMove(aMoveEvent);
}
break;
case LOK_SETGRAPHICSELECTION_END:
{
- MouseEvent aMoveEvent(Point(nPixelX - 1, nPixelY), 0, MouseEventModifiers::SIMPLEMOVE, MOUSE_LEFT);
+ MouseEvent aMoveEvent(Point(nPixelX, nPixelY), 0, MouseEventModifiers::SIMPLEMOVE, MOUSE_LEFT);
pGridWindow->MouseMove(aMoveEvent);
MouseEvent aClickEvent(Point(nPixelX, nPixelY), 1, MouseEventModifiers::SIMPLECLICK, MOUSE_LEFT);
pGridWindow->MouseButtonUp(aClickEvent);
commit af9246cf8935d43cc3ca783e8c1da53b773783c2
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Apr 3 17:12:17 2015 +0200
sc tiled editing: Don't show cell selection when dragging shapes.
Change-Id: I367c53e245df8aa720463319a61835c65ff93875
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index a04bac9..518e2a5 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5775,6 +5775,7 @@ void ScGridWindow::UpdateCursorOverlay()
(pViewData->GetMarkData().IsMarked() || pViewData->GetMarkData().IsMultiMarked() ||
pViewData->GetViewShell()->GetScDrawView()->IsMarking() ||
pViewData->GetViewShell()->GetScDrawView()->IsTextEdit() ||
+ pViewData->GetViewShell()->GetScDrawView()->GetDragStat().IsShown() ||
pViewData->HasEditView(eWhich)))
{
return;
commit 2b3009cc183b90c6dba85493a679c141a71d0178
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Apr 3 15:31:01 2015 +0200
More additions about SdrView / SdrModel.
Change-Id: I2178d61af1f49c971ccec817852260020ec8f0aa
diff --git a/svx/README b/svx/README
index 9224fde..022f112 100644
--- a/svx/README
+++ b/svx/README
@@ -32,8 +32,24 @@ SdrObject <- SdrAttrObj <- E3dObject <- E3dCompoundObject <- E3dCubeObj
The above is incomplete of course.
-Associated are the SdrPaintView's - they have quite a deep chain of
-inheritance, where each new class adds a bit of functionality:
+== SdrModel / SdrView ==
+
+Copied from svdview.hxx:
+
+ First of all the app creates a SdrModel.
+ Then it opens a Win and creates a SdrView.
+ ShowSdrPage() announces a page at SdrView.
+ It's possible to show SdrView in any Wins at once.
+
+ SdrView can show as many Wins as it wants at once. Pages are announced
+ or checked out with the help of ShowSdrPage()/HideSdrPage(). For every announced
+ page there is a SdrPageView instance in container aPages. If more than one page
+ is showed, you have to pay attention that the offset parameter of ShowSdrPage()
+ is conformed to the size of the page (to prevent overlapping of two pages).
+
+SdrView itself is inherited from many objects in a chain of inheritance (all
+that starts with SdrPaintView - that is itself inherited from few classes
+too):
SdrPaintView <- SdrSnapView <- SdrMarkView <- SdrEditView <- SdrPolyEditView
^
commit ae54df263f3d7c7cc1f9e773f0487fd3877ccbb0
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Apr 3 15:15:40 2015 +0200
Added some ascii art for the SdrObject and SdrView.
Change-Id: If7e1e25315e282432a344b60b4602b1a51971399
diff --git a/svx/README b/svx/README
index a3574dd..9224fde 100644
--- a/svx/README
+++ b/svx/README
@@ -6,6 +6,47 @@ this is where a lot of wht work would happen to move to the canvas. (what does t
svdraw
transparent gradient stuff.
+== SdrObject ==
+
+The shapes you can see in LibreOffice (like rectangle, etc.) are SdrObjects.
+They are declared as a hierarchy:
+
+SdrObject <- SdrAttrObj <- E3dObject <- E3dCompoundObject <- E3dCubeObj
+ ^ ^ ^ ^ ^ | | ^ ^
+ | | | | | | | | +--- E3dExtrudeObj
+ | | | | | | | +----- E3dLatheObj
+ | | | | | | +------- E3dPolygonObj
+ | | | | | +--------- E3dSphereObj
+ | | | | +--- E3dScene...
+ | | | |
+ | | | +--- SdrTextObj <- SdrObjCustomShape...
+ | | | ^ ^ ^ ^ ^
+ | | | | | | | +--- SdrEdgeObj...
+ | | | | | | +----- SdrMeasureObj...
+ | | | | | +------- SdrPathObj...
+ | | | | +--------- SdrRectObj...
+ | | | +----------- SdrTableObj...
+ | | +--- SdrObjGroup...
+ | + ---- SdrPageObj...
+ +------- SdrVirtObj...
+
+The above is incomplete of course.
+
+Associated are the SdrPaintView's - they have quite a deep chain of
+inheritance, where each new class adds a bit of functionality:
+
+SdrPaintView <- SdrSnapView <- SdrMarkView <- SdrEditView <- SdrPolyEditView
+ ^
+ +----------------------------------------------------------------+
+ |
+ SdrGlueEditView <- SdrObjEditView <- SdrExchangeView <- SdrDragView
+ ^
+ +----------------------------------------------------------------+
+ |
+ SdrCreateView <- SdrView
+
+From SdrView on, it is not flat, but a real hierarchy again.
+
== Drawing Layer / SdrObject(s) ==
See drawinglayer/README for general information about drawinglayer.
More information about the Libreoffice-commits
mailing list