Commit 449d1400 authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

В класс настроек ячейки добавлено поле для изменения направления текста,...

В класс настроек ячейки добавлено поле для изменения направления текста, добавлены соответствующие функции для работы с историей.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@68205 954022d7-b5bf-4e40-9824-e11837661b57
parent 4fe06fb2
...@@ -1082,6 +1082,7 @@ var historyitem_TableCell_Border_Bottom = 8; // Изменяем нижнюю ...@@ -1082,6 +1082,7 @@ var historyitem_TableCell_Border_Bottom = 8; // Изменяем нижнюю
var historyitem_TableCell_VAlign = 9; // Изменяем вертикальное выравнивание ячейки var historyitem_TableCell_VAlign = 9; // Изменяем вертикальное выравнивание ячейки
var historyitem_TableCell_W = 10; // Изменяем ширину ячейки var historyitem_TableCell_W = 10; // Изменяем ширину ячейки
var historyitem_TableCell_Pr = 11; // Изменяем настройки целиком var historyitem_TableCell_Pr = 11; // Изменяем настройки целиком
var historyitem_TableCell_TextDirection = 12; // Изменяем направление текста
// Типы изменений в классе CDocumentContent // Типы изменений в классе CDocumentContent
var historyitem_DocumentContent_AddItem = 1; // Добавляем элемент в документ var historyitem_DocumentContent_AddItem = 1; // Добавляем элемент в документ
......
...@@ -59,6 +59,13 @@ var styletype_Numbering = 0x02; ...@@ -59,6 +59,13 @@ var styletype_Numbering = 0x02;
var styletype_Table = 0x03; var styletype_Table = 0x03;
var styletype_Character = 0x04; var styletype_Character = 0x04;
var textdirection_LRTB = 0x00;
var textdirection_TBRL = 0x01;
var textdirection_BTLR = 0x02;
var textdirection_LRTBV = 0x03;
var textdirection_TBRLV = 0x04;
var textdirection_TBLRV = 0x05;
function IsEqualStyleObjects(Object1, Object2) function IsEqualStyleObjects(Object1, Object2)
{ {
if (undefined === Object1 && undefined === Object2) if (undefined === Object1 && undefined === Object2)
...@@ -6435,6 +6442,7 @@ function CTableCellPr() ...@@ -6435,6 +6442,7 @@ function CTableCellPr()
this.TableCellW = undefined; this.TableCellW = undefined;
this.VAlign = undefined; this.VAlign = undefined;
this.VMerge = undefined; this.VMerge = undefined;
this.TextDirection = undefined;
} }
CTableCellPr.prototype = CTableCellPr.prototype =
...@@ -6566,6 +6574,7 @@ CTableCellPr.prototype = ...@@ -6566,6 +6574,7 @@ CTableCellPr.prototype =
this.TableCellW = new CTableMeasurement(tblwidth_Auto, 0); this.TableCellW = new CTableMeasurement(tblwidth_Auto, 0);
this.VAlign = vertalignjc_Top; this.VAlign = vertalignjc_Top;
this.VMerge = vmerge_Restart; this.VMerge = vmerge_Restart;
this.TextDirection = textdirection_LRTB;
}, },
Set_FromObject : function(CellPr) Set_FromObject : function(CellPr)
...@@ -6781,6 +6790,12 @@ CTableCellPr.prototype = ...@@ -6781,6 +6790,12 @@ CTableCellPr.prototype =
Flags |= 16384; Flags |= 16384;
} }
if (undefined !== this.TextDirection)
{
Writer.WriteLong( this.TextDirection );
Flags |= 32768;
}
var EndPos = Writer.GetCurPosition(); var EndPos = Writer.GetCurPosition();
Writer.Seek( StartPos ); Writer.Seek( StartPos );
Writer.WriteLong( Flags ); Writer.WriteLong( Flags );
...@@ -6865,6 +6880,9 @@ CTableCellPr.prototype = ...@@ -6865,6 +6880,9 @@ CTableCellPr.prototype =
if ( 16384 & Flags ) if ( 16384 & Flags )
this.VMerge = Reader.GetLong(); this.VMerge = Reader.GetLong();
if (32768 & Flags)
this.TextDirection = Reader.GetLong();
} }
}; };
......
...@@ -635,7 +635,20 @@ CTableCell.prototype = ...@@ -635,7 +635,20 @@ CTableCell.prototype =
Content_Draw : function(PageIndex, pGraphics) Content_Draw : function(PageIndex, pGraphics)
{ {
//pGraphics.SaveGrState();
//
//var PageBounds = this.Content.Get_PageBounds(0);
//
//var Transform = new CMatrix();
//global_MatrixTransformer.TranslateAppend(Transform, -this.Content.X, -this.Content.Y);
//global_MatrixTransformer.RotateRadAppend(Transform, 0.5 * Math.PI);
//global_MatrixTransformer.TranslateAppend(Transform, this.Content.X, this.Content.Y);
//global_MatrixTransformer.TranslateAppend(Transform, 0, this.Content.XLimit - this.Content.X);
//pGraphics.transform3(Transform);
this.Content.Draw(PageIndex, pGraphics); this.Content.Draw(PageIndex, pGraphics);
//pGraphics.RestoreGrState();
}, },
Recalculate : function() Recalculate : function()
...@@ -1089,6 +1102,21 @@ CTableCell.prototype = ...@@ -1089,6 +1102,21 @@ CTableCell.prototype =
} }
}, },
Get_TextDirection : function()
{
return this.Get_CompiledPr(false).TextDirection;
},
Set_TextDirection : function(Value)
{
if (Value !== this.Pr.TextDirection)
{
History.Add(this, {Type : historyitem_TableCell_TextDirection, Old : this.Pr.TextDirection, New : Value});
this.Pr.TextDirection = Value;
this.Recalc_CompiledPr();
}
},
Get_Borders : function() Get_Borders : function()
{ {
var CellBorders = var CellBorders =
...@@ -1427,6 +1455,13 @@ CTableCell.prototype = ...@@ -1427,6 +1455,13 @@ CTableCell.prototype =
this.Recalc_CompiledPr(); this.Recalc_CompiledPr();
break; break;
} }
case historyitem_TableCell_TextDirection:
{
this.Pr.TextDirection = Data.Old;
this.Recalc_CompiledPr();
break;
}
} }
}, },
...@@ -1552,6 +1587,12 @@ CTableCell.prototype = ...@@ -1552,6 +1587,12 @@ CTableCell.prototype =
this.Recalc_CompiledPr(); this.Recalc_CompiledPr();
break; break;
} }
case historyitem_TableCell_TextDirection:
{
this.Pr.TextDirection = Data.New;
this.Recalc_CompiledPr();
break;
}
} }
}, },
...@@ -1577,6 +1618,7 @@ CTableCell.prototype = ...@@ -1577,6 +1618,7 @@ CTableCell.prototype =
case historyitem_TableCell_VAlign: case historyitem_TableCell_VAlign:
case historyitem_TableCell_W: case historyitem_TableCell_W:
case historyitem_TableCell_Pr: case historyitem_TableCell_Pr:
case historyitem_TableCell_TextDirection:
{ {
bNeedRecalc = true; bNeedRecalc = true;
break; break;
...@@ -1787,6 +1829,20 @@ CTableCell.prototype = ...@@ -1787,6 +1829,20 @@ CTableCell.prototype =
Data.New.Write_ToBinary( Writer ); Data.New.Write_ToBinary( Writer );
break; break;
} }
case historyitem_TableCell_TextDirection:
{
// Bool : IsUndefined
// Если false
// Long : textDirection
if (undefined === Data.New)
Writer.WriteBool(true);
else
{
Writer.WriteBool(false);
Writer.WriteLong(Data.New);
}
}
} }
return Writer; return Writer;
...@@ -2062,6 +2118,20 @@ CTableCell.prototype = ...@@ -2062,6 +2118,20 @@ CTableCell.prototype =
this.Recalc_CompiledPr(); this.Recalc_CompiledPr();
break; break;
} }
case historyitem_TableCell_TextDirection:
{
// Bool : IsUndefined
// Если false
// Long : textDirection
if (true === Reader.GetBool())
this.Pr.TextDirection = undefined;
else
this.Pr.TextDirection = Reader.GetLong();
this.Recalc_CompiledPr();
break;
}
} }
}, },
......
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