Commit 1e5e02b7 authored by Ilya Kirillov's avatar Ilya Kirillov

Рефакторинг функций Paragraph_ClearFormatting, Remove, Cursor_GetPos,...

Рефакторинг функций Paragraph_ClearFormatting, Remove, Cursor_GetPos, Cursor_MoveToStartPos, Cursor_MoveToEndPos. Для этих функций сделаны первичные реализации для сносок.
parent ef5200f8
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -263,13 +263,40 @@ CDocumentControllerBase.prototype.EditChart = function(Chart){};
* @param nRows
*/
CDocumentControllerBase.prototype.AddInlineTable = function(nCols, nRows){};
/**
* Очищаем настройки параграфа.
*/
CDocumentControllerBase.prototype.ClearParagraphFormatting = function(){};
/**
* Производим удаление выделенной части документа или исходя из позиции курсора.
* @param {number} nDirection направление удаления
* @param {boolean} bOnlyText - удаляем только текст
* @param {boolean} bRemoveOnlySelection - удаляем только по селекту
* @param {boolean} bOnAddText - удаление происходит во время добавления текста (особый тип удаления)
* @returns {boolean} Выполнилось ли удаление.
*/
CDocumentControllerBase.prototype.Remove = function(nDirection, bOnlyText, bRemoveOnlySelection, bOnAddText){return true;};
/**
* Получаем физическую позицию курсора на странице.
*/
CDocumentControllerBase.prototype.GetCursorPosXY = function(){return {X : 0, Y : 0};};
/**
* Перемещаем курсор в начало.
* @param {boolean} AddToSelect - добавляем ли все промежуточное к селекту
*/
CDocumentControllerBase.prototype.MoveCursorToStartPos = function(AddToSelect){};
/**
* Перемещаем курсор в конец.
* @param {boolean} AddToSelect - добавляем ли все промежуточное к селекту
*/
CDocumentControllerBase.prototype.MoveCursorToEndPos = function(AddToSelect){};
/**
* Смещаем курсор влево
* @param {boolean} AddToSelect Добавлять ли к селекту смещение
* @param {boolean} Word Осуществлять ли переход по целому слову
* @returns {boolean} Получилось ли перемещение, или мы достигли предела.
*/
CDocumentControllerBase.prototype.Cursor_MoveLeft = function(AddToSelect, Word){return false;};
CDocumentControllerBase.prototype.MoveCursorLeft = function(AddToSelect, Word){return false;};
/**
* Смещаем курсор вправо
* @param {boolean} AddToSelect Добавлять ли к селекту смещение
......@@ -277,7 +304,7 @@ CDocumentControllerBase.prototype.Cursor_MoveLeft = function(AddToSelect, Word){
* @param {boolean} FromPaste Пришла ли данная комнда после "вставки"
* @returns {boolean} Получилось ли перемещение, или мы достигли предела.
*/
CDocumentControllerBase.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste){return false;};
CDocumentControllerBase.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste){return false;};
/**
* Добавляем элемент в параграф.
* @param oItem
......
......@@ -60,11 +60,49 @@ CDrawingsController.prototype.AddInlineTable = function(Cols, Rows)
{
this.DrawingObjects.addInlineTable(Cols, Rows);
};
CDrawingsController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
CDrawingsController.prototype.ClearParagraphFormatting = function()
{
this.DrawingObjects.paragraphClearFormatting();
};
CDrawingsController.prototype.Remove = function(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd)
{
return this.DrawingObjects.remove(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd);
};
CDrawingsController.prototype.GetCursorPosXY = function()
{
return this.DrawingObjects.cursorGetPos();
};
CDrawingsController.prototype.MoveCursorToStartPos = function(AddToSelect)
{
if (true === AddToSelect)
{
// TODO: Пока ничего не делаем, в дальнейшем надо будет делать в зависимости от селекта внутри
// автофигуры: если селект текста внутри, то делать для текста внутри, а если выделена
// сама автофигура, тогда мы перемещаем курсор влево от нее в контенте параграфа и выделяем все до конца
}
else
{
this.LogicDocument.controller_MoveCursorToStartPos(false);
}
};
CDrawingsController.prototype.MoveCursorToEndPos = function(AddToSelect)
{
if (true === AddToSelect)
{
// TODO: Пока ничего не делаем, в дальнейшем надо будет делать в зависимости от селекта внутри
// автофигуры: если селект текста внутри, то делать для текста внутри, а если выделена
// сама автофигура, тогда мы перемещаем курсор влево от нее в контенте параграфа и выделяем все до конца
}
else
{
this.LogicDocument.controller_MoveCursorToEndPos(false);
}
};
CDrawingsController.prototype.MoveCursorLeft = function(AddToSelect, Word)
{
return this.DrawingObjects.cursorMoveLeft(AddToSelect, Word);
};
CDrawingsController.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste)
CDrawingsController.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste)
{
return this.DrawingObjects.cursorMoveRight(AddToSelect, Word, FromPaste);
};
......
......@@ -356,7 +356,53 @@ CFootnotesController.prototype.AddInlineTable = function(Cols, Rows)
this.CurFootnote.Add_InlineTable(Cols, Rows);
}
};
CFootnotesController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
CFootnotesController.prototype.ClearParagraphFormatting = function()
{
// TODO: Доделать селект и курсор
if (true === this.Selection.Use)
{
}
else
{
if (null !== this.CurFootnote)
this.CurFootnote.Paragraph_ClearFormatting();
}
};
CFootnotesController.prototype.Remove = function(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd)
{
// TODO: Доделать селект и курсор
if (true === this.Selection.Use)
{
}
else
{
if (null !== this.CurFootnote)
this.CurFootnote.Remove(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd);
}
};
CFootnotesController.prototype.GetCursorPosXY = function()
{
// TODO: Доделать селект и курсор
if (true === this.Selection.Use)
{
}
else
{
if (null !== this.CurFootnote)
return this.CurFootnote.Cursor_GetPos();
}
return {X : 0, Y : 0}
};
CFootnotesController.prototype.MoveCursorToStartPos = function(AddToSelect)
{
// TODO: Реализовать
};
CFootnotesController.prototype.MoveCursorToEndPos = function(AddToSelect)
{
// TODO: Реализовать
};
CFootnotesController.prototype.MoveCursorLeft = function(AddToSelect, Word)
{
var bRetValue = false;
......@@ -373,7 +419,7 @@ CFootnotesController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
return bRetValue;
};
CFootnotesController.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste)
CFootnotesController.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste)
{
var bRetValue = false;
......
......@@ -63,11 +63,39 @@ CHdrFtrController.prototype.AddInlineTable = function(Cols, Rows)
{
this.HdrFtr.Add_InlineTable(Cols, Rows);
};
CHdrFtrController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
CHdrFtrController.prototype.ClearParagraphFormatting = function()
{
this.HdrFtr.Paragraph_ClearFormatting();
};
CHdrFtrController.prototype.Remove = function(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd)
{
var nResult = this.HdrFtr.Remove(Count, bOnlyText, bRemoveOnlySelection, bOnTextAdd);
if (null !== this.HdrFtr.CurHdtr && docpostype_DrawingObjects !== this.HdrFtr.CurHdrFtr.Content.CurPos.Type)
{
this.Selection_Remove();
this.Selection.Use = false;
}
return nResult;
};
CHdrFtrController.prototype.GetCursorPosXY = function()
{
return this.HdrFtr.Cursor_GetPos();
};
CHdrFtrController.prototype.MoveCursorToStartPos = function(AddToSelect)
{
this.HdrFtr.Cursor_MoveToStartPos(AddToSelect);
};
CHdrFtrController.prototype.MoveCursorToEndPos = function(AddToSelect)
{
this.HdrFtr.Cursor_MoveToEndPos(AddToSelect);
};
CHdrFtrController.prototype.MoveCursorLeft = function(AddToSelect, Word)
{
return this.HdrFtr.Cursor_MoveLeft(AddToSelect, Word);
};
CHdrFtrController.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste)
CHdrFtrController.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste)
{
return this.HdrFtr.Cursor_MoveRight(AddToSelect, Word, FromPaste);
};
......
......@@ -53,13 +53,33 @@ CLogicDocumentController.prototype.AddInlineTable = function(nCols, nRows)
{
this.LogicDocument.controller_AddInlineTable(nCols, nRows);
};
CLogicDocumentController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
CLogicDocumentController.prototype.ClearParagraphFormatting = function()
{
return this.LogicDocument.controller_CursorMoveLeft(AddToSelect, Word);
this.LogicDocument.controller_ClearParagraphFormatting();
};
CLogicDocumentController.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste)
CLogicDocumentController.prototype.Remove = function(nDirection, bOnlyText, bRemoveOnlySelection, bOnAddText)
{
return this.LogicDocument.controller_CursorMoveRight(AddToSelect, Word, FromPaste);
return this.LogicDocument.controller_Remove(nDirection, bOnlyText, bRemoveOnlySelection, bOnAddText);
};
CLogicDocumentController.prototype.GetCursorPosXY = function()
{
return this.LogicDocument.controller_GetCursorPosXY();
};
CLogicDocumentController.prototype.MoveCursorToStartPos = function(bAddToSelect)
{
this.LogicDocument.controller_MoveCursorToStartPos(bAddToSelect);
};
CLogicDocumentController.prototype.MoveCursorToEndPos = function(AddToSelect)
{
this.LogicDocument.controller_MoveCursorToEndPos(AddToSelect);
};
CLogicDocumentController.prototype.MoveCursorLeft = function(AddToSelect, Word)
{
return this.LogicDocument.controller_MoveCursorLeft(AddToSelect, Word);
};
CLogicDocumentController.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste)
{
return this.LogicDocument.controller_MoveCursorRight(AddToSelect, Word, FromPaste);
};
CLogicDocumentController.prototype.AddToParagraph = function(oItem)
{
......
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