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 diff is collapsed.
...@@ -263,13 +263,40 @@ CDocumentControllerBase.prototype.EditChart = function(Chart){}; ...@@ -263,13 +263,40 @@ CDocumentControllerBase.prototype.EditChart = function(Chart){};
* @param nRows * @param nRows
*/ */
CDocumentControllerBase.prototype.AddInlineTable = function(nCols, 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} AddToSelect Добавлять ли к селекту смещение
* @param {boolean} Word Осуществлять ли переход по целому слову * @param {boolean} Word Осуществлять ли переход по целому слову
* @returns {boolean} Получилось ли перемещение, или мы достигли предела. * @returns {boolean} Получилось ли перемещение, или мы достигли предела.
*/ */
CDocumentControllerBase.prototype.Cursor_MoveLeft = function(AddToSelect, Word){return false;}; CDocumentControllerBase.prototype.MoveCursorLeft = function(AddToSelect, Word){return false;};
/** /**
* Смещаем курсор вправо * Смещаем курсор вправо
* @param {boolean} AddToSelect Добавлять ли к селекту смещение * @param {boolean} AddToSelect Добавлять ли к селекту смещение
...@@ -277,7 +304,7 @@ CDocumentControllerBase.prototype.Cursor_MoveLeft = function(AddToSelect, Word){ ...@@ -277,7 +304,7 @@ CDocumentControllerBase.prototype.Cursor_MoveLeft = function(AddToSelect, Word){
* @param {boolean} FromPaste Пришла ли данная комнда после "вставки" * @param {boolean} FromPaste Пришла ли данная комнда после "вставки"
* @returns {boolean} Получилось ли перемещение, или мы достигли предела. * @returns {boolean} Получилось ли перемещение, или мы достигли предела.
*/ */
CDocumentControllerBase.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste){return false;}; CDocumentControllerBase.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste){return false;};
/** /**
* Добавляем элемент в параграф. * Добавляем элемент в параграф.
* @param oItem * @param oItem
......
...@@ -60,11 +60,49 @@ CDrawingsController.prototype.AddInlineTable = function(Cols, Rows) ...@@ -60,11 +60,49 @@ CDrawingsController.prototype.AddInlineTable = function(Cols, Rows)
{ {
this.DrawingObjects.addInlineTable(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); 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); return this.DrawingObjects.cursorMoveRight(AddToSelect, Word, FromPaste);
}; };
......
...@@ -356,7 +356,53 @@ CFootnotesController.prototype.AddInlineTable = function(Cols, Rows) ...@@ -356,7 +356,53 @@ CFootnotesController.prototype.AddInlineTable = function(Cols, Rows)
this.CurFootnote.Add_InlineTable(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; var bRetValue = false;
...@@ -373,7 +419,7 @@ CFootnotesController.prototype.Cursor_MoveLeft = function(AddToSelect, Word) ...@@ -373,7 +419,7 @@ CFootnotesController.prototype.Cursor_MoveLeft = function(AddToSelect, Word)
return bRetValue; return bRetValue;
}; };
CFootnotesController.prototype.Cursor_MoveRight = function(AddToSelect, Word, FromPaste) CFootnotesController.prototype.MoveCursorRight = function(AddToSelect, Word, FromPaste)
{ {
var bRetValue = false; var bRetValue = false;
......
...@@ -63,11 +63,39 @@ CHdrFtrController.prototype.AddInlineTable = function(Cols, Rows) ...@@ -63,11 +63,39 @@ CHdrFtrController.prototype.AddInlineTable = function(Cols, Rows)
{ {
this.HdrFtr.Add_InlineTable(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); 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); return this.HdrFtr.Cursor_MoveRight(AddToSelect, Word, FromPaste);
}; };
......
...@@ -53,13 +53,33 @@ CLogicDocumentController.prototype.AddInlineTable = function(nCols, nRows) ...@@ -53,13 +53,33 @@ CLogicDocumentController.prototype.AddInlineTable = function(nCols, nRows)
{ {
this.LogicDocument.controller_AddInlineTable(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) 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