[Libreoffice-commits] online.git: loleaflet/src
Henry Castro
hcastro at collabora.com
Tue Aug 9 19:14:51 UTC 2016
loleaflet/src/control/Control.ColumnHeader.js | 30 ++++++++++++++++++++------
loleaflet/src/control/Control.Header.js | 12 +++-------
loleaflet/src/control/Control.RowHeader.js | 30 ++++++++++++++++++++------
3 files changed, 52 insertions(+), 20 deletions(-)
New commits:
commit 5c75f31305319070b059cccd1a4d65a6ba1fba2b
Author: Henry Castro <hcastro at collabora.com>
Date: Tue Aug 9 15:13:51 2016 -0400
loleaflet: add Vertical/Horizontal line when dragging Column/Row
diff --git a/loleaflet/src/control/Control.ColumnHeader.js b/loleaflet/src/control/Control.ColumnHeader.js
index cd0460f..525d881 100644
--- a/loleaflet/src/control/Control.ColumnHeader.js
+++ b/loleaflet/src/control/Control.ColumnHeader.js
@@ -170,15 +170,33 @@ L.Control.ColumnHeader = L.Control.Header.extend({
this._map.sendUnoCommand('.uno:SelectAll');
},
- onDragStart: function (item, start, end) {
- // add vertical line
+ _getVertLatLng: function (e) {
+ var drag = this._map.mouseEventToContainerPoint(e);
+ return [
+ this._map.containerPointToLatLng(new L.Point(drag.x, 0)),
+ this._map.containerPointToLatLng(new L.Point(drag.x, this._map.getSize().y))
+ ];
},
- onDragMove: function (item, start, end) {
- // move vertical line
+ onDragStart: function (item, start, e) {
+ if (!this._vertLine) {
+ this._vertLine = L.polyline(this._getVertLatLng(e), {color: 'darkblue', weight: 1});
+ }
+ else {
+ this._vertLine.setLatLngs(this._getVertLatLng(e));
+ }
+
+ this._map.addLayer(this._vertLine);
+ },
+
+ onDragMove: function (item, start, e) {
+ if (this._vertLine) {
+ this._vertLine.setLatLngs(this._getVertLatLng(e));
+ }
},
- onDragEnd: function (item, start, end) {
+ onDragEnd: function (item, start, e) {
+ var end = new L.Point(e.clientX, e.clientY);
var distance = this._map._docLayer._pixelsToTwips(end.subtract(start));
if (distance.x > 0 && item.width != distance.x) {
@@ -196,7 +214,7 @@ L.Control.ColumnHeader = L.Control.Header.extend({
this._map.sendUnoCommand('.uno:ColumnWidth', command);
}
- // remove vertical line
+ this._map.removeLayer(this._vertLine);
},
_onUpdatePermission: function (e) {
diff --git a/loleaflet/src/control/Control.Header.js b/loleaflet/src/control/Control.Header.js
index 58856f5..753fc52 100644
--- a/loleaflet/src/control/Control.Header.js
+++ b/loleaflet/src/control/Control.Header.js
@@ -28,13 +28,11 @@ L.Control.Header = L.Control.extend({
var rectangle = target.parentNode.getBoundingClientRect();
this._item = target;
this._start = new L.Point(rectangle.left, rectangle.top);
- this._end = new L.Point(e.clientX, e.clientY);
- this.onDragStart(this.item, this._start, this._end);
+ this.onDragStart(this.item, this._start, e);
},
_onMouseMove: function (e) {
- this._end = new L.Point(e.clientX, e.clientY);
this._dragging = true;
var target = e.target || e.srcElement;
@@ -48,12 +46,10 @@ L.Control.Header = L.Control.extend({
L.DomEvent.preventDefault(e);
- this.onDragMove(this._item, this._start, this._end);
+ this.onDragMove(this._item, this._start, e);
},
_onMouseUp: function (e) {
- this._end = new L.Point(e.clientX, e.clientY);
-
if (this._target) {
this._target.style.cursor = this._oldCursor;
}
@@ -64,8 +60,8 @@ L.Control.Header = L.Control.extend({
L.DomUtil.enableImageDrag();
L.DomUtil.enableTextSelection();
- this.onDragEnd(this._item, this._start, this._end);
- this._target = this._cursor = this._item = this._start = this._end = null;
+ this.onDragEnd(this._item, this._start, e);
+ this._target = this._cursor = this._item = this._start = null;
this._dragging = false;
},
diff --git a/loleaflet/src/control/Control.RowHeader.js b/loleaflet/src/control/Control.RowHeader.js
index cef7482..2e9d4a4 100644
--- a/loleaflet/src/control/Control.RowHeader.js
+++ b/loleaflet/src/control/Control.RowHeader.js
@@ -151,15 +151,33 @@ L.Control.RowHeader = L.Control.Header.extend({
this._selectRow(row, modifier);
},
- onDragStart: function (item, start, end) {
- // add horizontal line
+ _getHorzLatLng: function (e) {
+ var drag = this._map.mouseEventToContainerPoint(e);
+ return [
+ this._map.containerPointToLatLng(new L.Point(0, drag.y)),
+ this._map.containerPointToLatLng(new L.Point(this._map.getSize().x, drag.y))
+ ];
},
- onDragMove: function (item, start, end) {
- // move horizontal line
+ onDragStart: function (item, start, e) {
+ if (!this._horzLine) {
+ this._horzLine = L.polyline(this._getHorzLatLng(e), {color: 'darkblue', weight: 1});
+ }
+ else {
+ this._horzLine.setLatLngs(this._getHorzLatLng(e));
+ }
+
+ this._map.addLayer(this._horzLine);
+ },
+
+ onDragMove: function (item, start, e) {
+ if (this._horzLine) {
+ this._horzLine.setLatLngs(this._getHorzLatLng(e));
+ }
},
- onDragEnd: function (item, start, end) {
+ onDragEnd: function (item, start, e) {
+ var end = new L.Point(e.clientX, e.clientY);
var distance = this._map._docLayer._pixelsToTwips(end.subtract(start));
if (distance.y > 0 && item.height != distance.y) {
@@ -177,7 +195,7 @@ L.Control.RowHeader = L.Control.Header.extend({
this._map.sendUnoCommand('.uno:RowHeight', command);
}
- // remove horizontal line
+ this._map.removeLayer(this._horzLine);
},
_onUpdatePermission: function (e) {
More information about the Libreoffice-commits
mailing list