Commit 0e065cbd authored by Dmitry.Vikulov's avatar Dmitry.Vikulov

- Работа с уровнями

- Смещение объектов при ресайзе колонок/строк
- Переход на id graphicObject
- Обработка событий клавы: приоритет у объектов
- Поправлен Undo/Redo

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@48372 954022d7-b5bf-4e40-9824-e11837661b57
parent ba6dec98
......@@ -2277,22 +2277,6 @@ DrawingObjects.prototype = {
Undo: function(type, data) {
switch (type) {
case historyitem_DrawingObject_Add:
this.deleteDrawingObject(data);
break;
case historyitem_DrawingObject_Remove:
this.addDrawingObject(data);
break;
case historyitem_DrawingObject_Edit:
if ((data.flags.transactionState == c_oAscTransactionState.No) || (data.flags.transactionState == c_oAscTransactionState.Start)) {
this.deleteDrawingObject(data);
this.addDrawingObject(data);
}
break;
case historyitem_DrawingLayer:
if ( data.aLayerBefore.length && data.aLayerAfter.length ) {
var aStorage = [];
......@@ -2311,22 +2295,6 @@ DrawingObjects.prototype = {
Redo: function(type, data) {
switch (type) {
case historyitem_DrawingObject_Add:
this.addDrawingObject(data);
break;
case historyitem_DrawingObject_Remove:
this.deleteDrawingObject(data);
break;
case historyitem_DrawingObject_Edit:
if ((data.flags.transactionState == c_oAscTransactionState.No) || (data.flags.transactionState == c_oAscTransactionState.Stop)) {
this.deleteDrawingObject(data);
this.addDrawingObject(data);
}
break;
case historyitem_DrawingLayer:
if ( data.aLayerBefore.length && data.aLayerAfter.length ) {
var aStorage = [];
......@@ -3254,36 +3222,10 @@ function DrawingObjects() {
overlayCtx.clearRect( 0, 0, worksheet.getCellLeft(0, 1), overlayCtx.getHeight() );
}
//-----------------------------------------------------------------------------------
// Common operation for Undo/Redo
//-----------------------------------------------------------------------------------
_this.changeObjectStorage = function(storage) {
aObjects = storage;
}
_this.addDrawingObject = function(object) {
if (object) {
var urObj = _this.cloneDrawingObject(object);
aObjects.push(urObj);
}
}
_this.deleteDrawingObject = function(object) {
var bResult = false;
for (var i = 0; i < _this.countDrawingObjects(); i++) {
if (aObjects[i].id == object.id) {
aObjects.splice(i, 1);
_this.unselectDrawingObjects();
bResult = true;
break;
}
}
return bResult;
}
//-----------------------------------------------------------------------------------
// For object type
//-----------------------------------------------------------------------------------
......@@ -4399,7 +4341,7 @@ function DrawingObjects() {
_this.getDrawingObject = function(id) {
for (var i = 0; i < _this.countDrawingObjects(); i++) {
if (aObjects[i].id == id)
if (aObjects[i].graphicObject.Id == id)
return aObjects[i];
}
return null;
......@@ -4562,7 +4504,7 @@ function DrawingObjects() {
var undoRedoLayer = new DrawingLayer();
for (var i = 0; i < _this.countDrawingObjects(); i++) {
undoRedoLayer.aLayerBefore[i] = aObjects[i].id;
undoRedoLayer.aLayerBefore[i] = aObjects[i].graphicObject.Id;
}
switch (layerType) {
......@@ -4597,7 +4539,7 @@ function DrawingObjects() {
}
for (var i = 0; i < _this.countDrawingObjects(); i++) {
undoRedoLayer.aLayerAfter[i] = aObjects[i].id;
undoRedoLayer.aLayerAfter[i] = aObjects[i].graphicObject.Id;
}
History.Create_NewPoint();
......@@ -4642,6 +4584,12 @@ function DrawingObjects() {
}
obj.to.row = foundRow.row;
obj.to.rowOff = pxToMm(top + obj.size.height - worksheet.getCellTop(obj.to.row, 0));
// Update graphic object
obj.graphicObject.setPosition( pxToMm(obj.getRealLeftOffset(true)), pxToMm(obj.getRealTopOffset(true)) );
//obj.graphicObject.setExtents( pxToMm(obj.getWidthFromTo()), pxToMm(obj.getHeightFromTo()) );
obj.graphicObject.recalculateTransform();
obj.graphicObject.calculateTransformTextMatrix();
}
}
......
......@@ -73,10 +73,7 @@ var historyitem_Cell_SetQuotePrefix = 20;
var historyitem_Cell_Angle = 21;
var historyitem_Cell_Style = 22;
var historyitem_DrawingObject_Add = 1;
var historyitem_DrawingObject_Remove = 2;
var historyitem_DrawingObject_Edit = 3;
var historyitem_DrawingLayer = 4;
var historyitem_DrawingLayer = 1;
var historyitem_AutoShapes_Offset = 1;
var historyitem_AutoShapes_Extents = 2;
......
......@@ -3068,11 +3068,10 @@ UndoRedoDrawingLayer.prototype = {
return;
var ws = api.wb.getWorksheetById(nSheetId);
var objectRender = ws.objectRender;
if (bUndo == true)
objectRender.Undo(Type, Data);
if ( bUndo == true )
ws.objectRender.Undo(Type, Data);
else
objectRender.Redo(Type, Data);
ws.objectRender.Redo(Type, Data);
}
};
......
......@@ -588,7 +588,7 @@
t.__retval = true;
//for Mac OS
if(event.metaKey)
if ( event.metaKey )
event.ctrlKey = true;
function stop(immediate) {
......@@ -603,6 +603,12 @@
if (event.which === 18) {
t.lastKeyCode = event.which;
}
var graphicObjects = t.handlers.trigger("getSelectedGraphicObjects");
if ( graphicObjects.length ) {
t.handlers.trigger("graphicObjectWindowKeyDown", event);
return true;
}
// Двигаемся ли мы в выделенной области
var selectionActivePointChanged = false;
......@@ -849,12 +855,6 @@
} // end of switch
if ((dc !== 0 || dr !== 0) && false === t.handlers.trigger("isGlobalLockEditCell")) {
var graphicObjects = t.handlers.trigger("getSelectedGraphicObjects");
if ( graphicObjects.length ) {
t.handlers.trigger("graphicObjectWindowKeyDown", event);
return true;
}
// Проверка на движение в выделенной области
if (selectionActivePointChanged) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment