Commit d52e33a9 authored by Sergey.Luzyanin's avatar Sergey.Luzyanin Committed by Alexander.Trofimov

Unifill в заливках ячеек и бордерах таблиц и параграфов.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55935 954022d7-b5bf-4e40-9824-e11837661b57
parent 3782f393
......@@ -831,23 +831,24 @@ var historyitem_Paragraph_Spacing_AfterAutoSpacing = 16; // Изменяем с
var historyitem_Paragraph_Spacing_BeforeAutoSpacing = 17; // Изменяем свойство Spacing.BeforeAutoSpacing
var historyitem_Paragraph_Shd_Value = 18; // Изменяем свойство Shd.Value
var historyitem_Paragraph_Shd_Color = 19; // Изменяем свойство Shd.Color
var historyitem_Paragraph_WidowControl = 20; // Изменяем свойство WidowControl
var historyitem_Paragraph_Tabs = 21; // Изменяем табы у параграфа
var historyitem_Paragraph_PStyle = 22; // Изменяем стиль параграфа
var historyitem_Paragraph_DocNext = 23; // Изменяем указатель на следующий объект
var historyitem_Paragraph_DocPrev = 24; // Изменяем указатель на предыдущий объект
var historyitem_Paragraph_Parent = 25; // Изменяем указатель на родительский объект
var historyitem_Paragraph_Borders_Between = 26; // Изменяем промежуточную границу
var historyitem_Paragraph_Borders_Bottom = 27; // Изменяем верхнюю границу
var historyitem_Paragraph_Borders_Left = 28; // Изменяем левую границу
var historyitem_Paragraph_Borders_Right = 29; // Изменяем правую границу
var historyitem_Paragraph_Borders_Top = 30; // Изменяем нижнюю границу
var historyitem_Paragraph_Pr = 31; // Изменяем свойства полностью
var historyitem_Paragraph_PresentationPr_Bullet = 32; // Изменяем свойства нумерации у параграфа в презентации
var historyitem_Paragraph_PresentationPr_Level = 33; // Изменяем уровень параграфа в презентациях
var historyitem_Paragraph_FramePr = 34; // Изменяем настройки рамки
var historyitem_Paragraph_Shd = 35; // Изменяем настройки заливки целиком
var historyitem_Paragraph_SectionPr = 36; // Изменяем настройки секции
var historyitem_Paragraph_Shd_Unifill = 20; // Изменяем свойство Shd.Color
var historyitem_Paragraph_WidowControl = 21; // Изменяем свойство WidowControl
var historyitem_Paragraph_Tabs = 22; // Изменяем табы у параграфа
var historyitem_Paragraph_PStyle = 23; // Изменяем стиль параграфа
var historyitem_Paragraph_DocNext = 24; // Изменяем указатель на следующий объект
var historyitem_Paragraph_DocPrev = 25; // Изменяем указатель на предыдущий объект
var historyitem_Paragraph_Parent = 26; // Изменяем указатель на родительский объект
var historyitem_Paragraph_Borders_Between = 27; // Изменяем промежуточную границу
var historyitem_Paragraph_Borders_Bottom = 28; // Изменяем верхнюю границу
var historyitem_Paragraph_Borders_Left = 29; // Изменяем левую границу
var historyitem_Paragraph_Borders_Right = 30; // Изменяем правую границу
var historyitem_Paragraph_Borders_Top = 31; // Изменяем нижнюю границу
var historyitem_Paragraph_Pr = 32; // Изменяем свойства полностью
var historyitem_Paragraph_PresentationPr_Bullet = 33; // Изменяем свойства нумерации у параграфа в презентации
var historyitem_Paragraph_PresentationPr_Level = 34; // Изменяем уровень параграфа в презентациях
var historyitem_Paragraph_FramePr = 35; // Изменяем настройки рамки
var historyitem_Paragraph_Shd = 36; // Изменяем настройки заливки целиком
var historyitem_Paragraph_SectionPr = 37; // Изменяем настройки секции
// Типы изменений в классе ParaRun
var historyitem_ParaRun_AddItem = 1;
......
This diff is collapsed.
......@@ -671,9 +671,18 @@ ParaRun.prototype =
var Pr = Para.Get_CompiledPr();
var BgColor = undefined;
if ( undefined !== Pr.ParaPr.Shd && shd_Nil !== Pr.ParaPr.Shd.Value )
{
if(Pr.ParaPr.Shd.Unifill)
{
Pr.ParaPr.Shd.Unifill.check(this.Paragraph.Get_Theme(), this.Paragraph.Get_ColorMap());
var RGBA = Pr.ParaPr.Shd.Unifill.getRGBAColor();
BgColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false);
}
else
{
BgColor = Pr.ParaPr.Shd.Color;
}
}
else
{
// Нам надо выяснить заливку у родительского класса (возможно мы находимся в ячейке таблицы с забивкой)
......@@ -3134,15 +3143,26 @@ ParaRun.prototype =
var AutoColor = ( undefined != BgColor && false === BgColor.Check_BlackAutoColor() ? new CDocumentColor( 255, 255, 255, false ) : new CDocumentColor( 0, 0, 0, false ) );
var CurColor = new CDocumentColor( 0, 0, 0, false );
var CurColor, RGBA, Theme = this.Paragraph.Get_Theme(), ColorMap = this.Paragraph.Get_ColorMap();
// Выставляем цвет обводки
if ( true === PDSL.VisitedHyperlink )
CurColor.Set( 128, 0, 151, 255 );
else if ( true === CurTextPr.Color.Auto )
CurColor.Set( AutoColor.r, AutoColor.g, AutoColor.b );
CurColor = new CDocumentColor( 128, 0, 151 );
else if ( true === CurTextPr.Color.Auto && !CurTextPr.Unifill)
CurColor = new CDocumentColor( AutoColor.r, AutoColor.g, AutoColor.b );
else
CurColor.Set( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b, 255);
{
if(CurTextPr.Unifill)
{
CurTextPr.Unifill.check(Theme, ColorMap);
RGBA = CurTextPr.Unifill.getRGBAColor();
CurColor = new CDocumentColor( RGBA.R, RGBA.G, RGBA.B );
}
else
{
CurColor = new CDocumentColor( CurTextPr.Color.r, CurTextPr.Color.g, CurTextPr.Color.b );
}
}
var SpellingMarksArray = new Object();
var SpellingMarksCount = this.SpellingMarks.length;
......
......@@ -4598,6 +4598,18 @@ CDocumentShd.prototype =
return this.Color;
},
Get_Color2 : function(Theme, ColorMap)
{
if ( undefined !== this.Unifill )
{
this.Unifill.check(Theme, ColorMap);
var RGBA = this.Unifill.getRGBAColor();
return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false );
}
else
return this.Color;
},
Init_Default : function()
{
this.Value = shd_Nil;
......@@ -4736,6 +4748,31 @@ CDocumentBorder.prototype =
return true;
},
Get_Color : function(Paragraph)
{
if ( undefined !== this.Unifill )
{
this.Unifill.check(Paragraph.Get_Theme(), Paragraph.Get_ColorMap());
var RGBA = this.Unifill.getRGBAColor();
return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false );
}
else
return this.Color;
},
Get_Color2 : function(Theme, ColorMap)
{
if ( undefined !== this.Unifill )
{
this.Unifill.check(Theme, ColorMap);
var RGBA = this.Unifill.getRGBAColor();
return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false );
}
else
return this.Color;
},
Set_FromObject : function(Border)
{
this.Space = Border.Space;
......
This diff is collapsed.
......@@ -3526,7 +3526,34 @@ asc_docs_api.prototype.paraApply = function(Props)
this.WordControl.m_oLogicDocument.Set_ParagraphShd( Props.Shd );
if ( "undefined" != typeof(Props.Brd) && null != Props.Brd )
{
if(Props.Brd.Left && Props.Brd.Left.Color)
{
Props.Brd.Left.Unifill = CreateUnifillFromAscColor(Props.Brd.Left.Color);
}
if(Props.Brd.Top && Props.Brd.Top.Color)
{
Props.Brd.Top.Unifill = CreateUnifillFromAscColor(Props.Brd.Top.Color);
}
if(Props.Brd.Right && Props.Brd.Right.Color)
{
Props.Brd.Right.Unifill = CreateUnifillFromAscColor(Props.Brd.Right.Color);
}
if(Props.Brd.Bottom && Props.Brd.Bottom.Color)
{
Props.Brd.Bottom.Unifill = CreateUnifillFromAscColor(Props.Brd.Bottom.Color);
}
if(Props.Brd.InsideH && Props.Brd.InsideH.Color)
{
Props.Brd.InsideH.Unifill = CreateUnifillFromAscColor(Props.Brd.InsideH.Color);
}
if(Props.Brd.InsideV && Props.Brd.InsideV.Color)
{
Props.Brd.InsideV.Unifill = CreateUnifillFromAscColor(Props.Brd.InsideV.Color);
}
this.WordControl.m_oLogicDocument.Set_ParagraphBorders( Props.Brd );
}
if ( undefined != Props.Tabs )
{
......@@ -4872,6 +4899,38 @@ asc_docs_api.prototype.tblApply = function(obj)
{
if ( false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Table_Properties) )
{
if(obj.CellBorders)
{
if(obj.CellBorders.Left && obj.CellBorders.Left.Color)
{
obj.CellBorders.Left.Unifill = CreateUnifillFromAscColor(obj.CellBorders.Left.Color);
}
if(obj.CellBorders.Top && obj.CellBorders.Top.Color)
{
obj.CellBorders.Top.Unifill = CreateUnifillFromAscColor(obj.CellBorders.Top.Color);
}
if(obj.CellBorders.Right && obj.CellBorders.Right.Color)
{
obj.CellBorders.Right.Unifill = CreateUnifillFromAscColor(obj.CellBorders.Right.Color);
}
if(obj.CellBorders.Bottom && obj.CellBorders.Bottom.Color)
{
obj.CellBorders.Bottom.Unifill = CreateUnifillFromAscColor(obj.CellBorders.Bottom.Color);
}
if(obj.CellBorders.InsideH && obj.CellBorders.InsideH.Color)
{
obj.CellBorders.InsideH.Unifill = CreateUnifillFromAscColor(obj.CellBorders.InsideH.Color);
}
if(obj.CellBorders.InsideV && obj.CellBorders.InsideV.Color)
{
obj.CellBorders.InsideV.Unifill = CreateUnifillFromAscColor(obj.CellBorders.InsideV.Color);
}
}
if(obj.CellsBackground && obj.CellsBackground.Color)
{
obj.CellsBackground.Unifill = CreateUnifillFromAscColor(obj.CellsBackground.Color);
}
this.WordControl.m_oLogicDocument.Create_NewHistoryPoint();
this.WordControl.m_oLogicDocument.Set_TableProps(obj);
}
......
......@@ -140,6 +140,15 @@ function CreateAscColor(unicolor)
}
return ret;
}
function CreateUnifillFromAscColor(asc_color)
{
var Unifill = new CUniFill();
Unifill.fill = new CSolidFill();
Unifill.fill.color = CorrectUniColor(asc_color, Unifill.fill.color);
return Unifill;
}
function CorrectUniColor(asc_color, unicolor)
{
if (null == asc_color)
......
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