Commit 75bc208d authored by Ilya.Kirillov's avatar Ilya.Kirillov Committed by Alexander.Trofimov

Добавлен новый параметр в секции PageNumType с одним полем Start для контроля...

Добавлен новый параметр в секции PageNumType с одним полем Start для контроля за начальным значением нумерации страниц в данной секции.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@55611 954022d7-b5bf-4e40-9824-e11837661b57
parent 50848c3b
...@@ -32,6 +32,7 @@ function CSectionPr(LogicDocument) ...@@ -32,6 +32,7 @@ function CSectionPr(LogicDocument)
this.LogicDocument = LogicDocument; this.LogicDocument = LogicDocument;
this.Borders = new CSectionBorders(); this.Borders = new CSectionBorders();
this.PageNumType = new CSectionPageNumType();
this.FooterFirst = null; this.FooterFirst = null;
this.FooterEven = null; this.FooterEven = null;
...@@ -42,6 +43,7 @@ function CSectionPr(LogicDocument) ...@@ -42,6 +43,7 @@ function CSectionPr(LogicDocument)
this.HeaderDefault = null; this.HeaderDefault = null;
this.TitlePage = false; this.TitlePage = false;
// Добавляем данный класс в таблицу Id (обязательно в конце конструктора) // Добавляем данный класс в таблицу Id (обязательно в конце конструктора)
g_oTableId.Add( this, this.Id ); g_oTableId.Add( this, this.Id );
...@@ -416,6 +418,82 @@ CSectionPr.prototype = ...@@ -416,6 +418,82 @@ CSectionPr.prototype =
{ {
return this.PageMargins.Footer; return this.PageMargins.Footer;
}, },
Get_HdrFtr : function(bHeader, bFirst, bEven)
{
if ( true === bHeader )
{
if ( true === bFirst )
return this.HeaderFirst;
else if ( true === bEven )
return this.HeaderEven;
else
return this.HeaderDefault;
}
else
{
if ( true === bFirst )
return this.FooterFirst;
else if ( true === bEven )
return this.FooterEven;
else
return this.FooterDefault;
}
},
Set_HdrFtr : function(bHeader, bFirst, bEven, HdrFtr)
{
if ( true === bHeader )
{
if ( true === bFirst )
return this.Set_Header_First( HdrFtr );
else if ( true === bEven )
return this.Set_Header_Even( HdrFtr );
else
return this.Set_Header_Default( HdrFtr );
}
else
{
if ( true === bFirst )
return this.Set_Footer_First( HdrFtr );
else if ( true === bEven )
return this.Set_Footer_Even( HdrFtr );
else
return this.Set_Footer_Default( HdrFtr );
}
},
Get_HdrFtrInfo : function(HdrFtr)
{
if ( HdrFtr === this.HeaderFirst )
return { Header : true, First : true, Even : false };
else if ( HdrFtr === this.HeaderEven )
return { Header : true, First : false, Even : true };
else if ( HdrFtr === this.HeaderDefault )
return { Header : true, First : false, Even : false };
else if ( HdrFtr === this.FooterFirst )
return { Header : false, First : true, Even : false };
else if ( HdrFtr === this.FooterEven )
return { Header : false, First : false, Even : true };
else if ( HdrFtr === this.FooterDefault )
return { Header : false, First : false, Even : false };
return null;
},
Set_PageNum_Start : function(Start)
{
if ( Start !== this.PageNumType.Start )
{
History.Add( this, { Type : historyitem_Section_PageNumType_Start, Old : this.PageNumType.Start, New : Start } );
this.PageNumType.Start = Start;
}
},
Get_PageNum_Start : function()
{
return this.PageNumType.Start;
},
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
// Undo/Redo функции // Undo/Redo функции
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
...@@ -552,6 +630,12 @@ CSectionPr.prototype = ...@@ -552,6 +630,12 @@ CSectionPr.prototype =
this.PageMargins.Footer = Data.Old; this.PageMargins.Footer = Data.Old;
break; break;
} }
case historyitem_Section_PageNumType_Start:
{
this.PageNumType.Start = Data.Old;
break;
}
} }
}, },
...@@ -687,7 +771,13 @@ CSectionPr.prototype = ...@@ -687,7 +771,13 @@ CSectionPr.prototype =
{ {
this.PageMargins.Footer = Data.New; this.PageMargins.Footer = Data.New;
break; break;
} }
case historyitem_Section_PageNumType_Start:
{
this.PageNumType.Start = Data.New;
break;
}
} }
}, },
...@@ -833,6 +923,14 @@ CSectionPr.prototype = ...@@ -833,6 +923,14 @@ CSectionPr.prototype =
break; break;
} }
case historyitem_Section_PageNumType_Start:
{
// Long : PageNumType.Start
Writer.WriteLong( Data.New );
break;
}
} }
}, },
...@@ -1050,7 +1148,16 @@ CSectionPr.prototype = ...@@ -1050,7 +1148,16 @@ CSectionPr.prototype =
this.PageMargins.Footer = Reader.GetDouble(); this.PageMargins.Footer = Reader.GetDouble();
break; break;
} }
case historyitem_Section_PageNumType_Start:
{
// Long : PageNumType.Start
this.PageNumType.Start = Reader.GetLong();
break;
}
} }
}, },
...@@ -1065,6 +1172,7 @@ CSectionPr.prototype = ...@@ -1065,6 +1172,7 @@ CSectionPr.prototype =
// Byte : Type // Byte : Type
// Variable : Borders // Variable : Borders
// Колонтитулы не пишем в бинарник, при созданиии класса они всегда null, а TitlePage = false // Колонтитулы не пишем в бинарник, при созданиии класса они всегда null, а TitlePage = false
// Variable : PageNumType
Writer.WriteString2( "" + this.Id ); Writer.WriteString2( "" + this.Id );
Writer.WriteString2( "" + this.LogicDocument.Get_Id() ); Writer.WriteString2( "" + this.LogicDocument.Get_Id() );
...@@ -1072,6 +1180,7 @@ CSectionPr.prototype = ...@@ -1072,6 +1180,7 @@ CSectionPr.prototype =
this.PageMargins.Write_ToBinary( Writer ); this.PageMargins.Write_ToBinary( Writer );
Writer.WriteByte( this.Type ); Writer.WriteByte( this.Type );
this.Borders.Write_ToBinary( Writer ); this.Borders.Write_ToBinary( Writer );
this.PageNumType.Write_ToBinary( Writer );
}, },
Read_FromBinary2 : function(Reader) Read_FromBinary2 : function(Reader)
...@@ -1083,6 +1192,7 @@ CSectionPr.prototype = ...@@ -1083,6 +1192,7 @@ CSectionPr.prototype =
// Byte : Type // Byte : Type
// Variable : Borders // Variable : Borders
// Колонтитулы не пишем в бинарник, при созданиии класса они всегда null, а TitlePage = false // Колонтитулы не пишем в бинарник, при созданиии класса они всегда null, а TitlePage = false
// Variable : PageNumType
this.Id = Reader.GetString2(); this.Id = Reader.GetString2();
this.LogicDocument = g_oTable.Id.Get_ById( Reader.GetString2() ); this.LogicDocument = g_oTable.Id.Get_ById( Reader.GetString2() );
...@@ -1090,6 +1200,7 @@ CSectionPr.prototype = ...@@ -1090,6 +1200,7 @@ CSectionPr.prototype =
this.PageMargins.Read_FromBinary( Reader ); this.PageMargins.Read_FromBinary( Reader );
this.Type = Reader.GetByte(); this.Type = Reader.GetByte();
this.Borders.Read_FromBinary( Reader ); this.Borders.Read_FromBinary( Reader );
this.PageNumType.Read_FromBinary( Reader );
} }
} }
...@@ -1225,4 +1336,26 @@ CSectionBorders.prototype = ...@@ -1225,4 +1336,26 @@ CSectionBorders.prototype =
this.OffsetFrom = Reader.GetByte(); this.OffsetFrom = Reader.GetByte();
this.ZOrder = Reader.GetByte(); this.ZOrder = Reader.GetByte();
} }
}
function CSectionPageNumType()
{
this.Start = -1;
}
CSectionPageNumType.prototype =
{
Write_ToBinary : function(Writer)
{
// Long : Start
Writer.WriteLong( this.Start );
},
Read_FromBinary : function(Reader)
{
// Long : Start
this.Start = Reader.GetLong();
}
} }
\ No newline at end of file
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