mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-19 06:16:02 +08:00
Compare commits
41 Commits
core-win-3
...
core-linux
| Author | SHA1 | Date | |
|---|---|---|---|
| c1e5e33691 | |||
| 8c7515443a | |||
| 1d16f4ab8f | |||
| 122a5cd056 | |||
| b0994759e7 | |||
| 118f1c5736 | |||
| b65703ceb1 | |||
| c08c960c96 | |||
| 02ece25af8 | |||
| 435a27f6d9 | |||
| 85ea22048a | |||
| 87ae0b38fa | |||
| b93d463469 | |||
| 0aa59b0d92 | |||
| 3dbcce8c36 | |||
| cc9459359f | |||
| 465e70759b | |||
| 9f6c833af5 | |||
| f4d16b0d61 | |||
| 398dc42bb2 | |||
| 69b4a09475 | |||
| ab360be66a | |||
| 98285c225d | |||
| bab6e40c2b | |||
| 539cb2f355 | |||
| 64d6c3c872 | |||
| 7c9be7e2eb | |||
| bad2992903 | |||
| d405cd4e83 | |||
| f632855006 | |||
| 48641d5bde | |||
| d88ae6d3f4 | |||
| e9ad1202ff | |||
| 1fc9280ab3 | |||
| 9e639ec68f | |||
| 28ebf5aaa6 | |||
| 8f5967356d | |||
| bc7d73667d | |||
| a434ae2cc4 | |||
| 7e52ebca48 | |||
| 4925b47002 |
@ -58,7 +58,7 @@
|
||||
|
||||
#include <boost/format.hpp>
|
||||
|
||||
namespace DocFormatUtils
|
||||
namespace DocFileFormat
|
||||
{
|
||||
typedef unsigned char Bool8;
|
||||
typedef unsigned short Bool16;
|
||||
@ -963,4 +963,3 @@ namespace DocFormatUtils
|
||||
};
|
||||
}
|
||||
|
||||
using namespace DocFormatUtils;
|
||||
|
||||
@ -76,4 +76,4 @@ namespace DocFileFormat
|
||||
|
||||
return static_cast<ByteStructure*>(newObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,7 +33,6 @@
|
||||
#include "DrawingPrimitives.h"
|
||||
#include "VirtualStreamReader.h"
|
||||
|
||||
|
||||
namespace DocFileFormat
|
||||
{
|
||||
DrawingPrimitive * DrawingPrimitive::Create(VirtualStreamReader* reader, int length, short dpk)
|
||||
|
||||
@ -1189,9 +1189,9 @@ namespace DocFileFormat
|
||||
m_FibBase.fDot = FormatUtils::BitmaskToBool((int)flag16, 0x0001);
|
||||
m_FibBase.fGlsy = FormatUtils::BitmaskToBool((int)flag16, 0x0002);
|
||||
m_FibBase.fComplex = FormatUtils::BitmaskToBool((int)flag16, 0x0002);
|
||||
m_FibBase.fHasPic = FormatUtils::BitmaskToBool((int)flag16, 0x0008);
|
||||
m_FibBase.cQuickSaves = (WORD)(((int)flag16 & 0x00F0) >> 4);
|
||||
m_FibBase.fEncrypted = FormatUtils::BitmaskToBool((int)flag16, 0x0100);
|
||||
m_FibBase.fHasPic = FormatUtils::BitmaskToBool((int)flag16, 0x0008);
|
||||
m_FibBase.cQuickSaves = (WORD)(((int)flag16 & 0x00F0) >> 4);
|
||||
m_FibBase.fEncrypted = FormatUtils::BitmaskToBool((int)flag16, 0x0100);
|
||||
m_FibBase.fWhichTblStm = FormatUtils::BitmaskToBool((int)flag16, 0x0200);
|
||||
m_FibBase.fReadOnlyRecommended = FormatUtils::BitmaskToBool((int)flag16, 0x0400);
|
||||
m_FibBase.fWriteReservation = FormatUtils::BitmaskToBool((int)flag16, 0x0800);
|
||||
|
||||
@ -72,7 +72,7 @@ public:
|
||||
|
||||
if (m_Data)
|
||||
{
|
||||
rdUShort = FormatUtils::BytesToUInt16 (m_Data, m_Position, m_Size);
|
||||
rdUShort = DocFileFormat::FormatUtils::BytesToUInt16 (m_Data, m_Position, m_Size);
|
||||
m_Position += sizeof(rdUShort);
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ public:
|
||||
|
||||
if (m_Data)
|
||||
{
|
||||
rdShort = FormatUtils::BytesToInt16 (m_Data, m_Position, m_Size);
|
||||
rdShort = DocFileFormat::FormatUtils::BytesToInt16 (m_Data, m_Position, m_Size);
|
||||
m_Position += sizeof(rdShort);
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ public:
|
||||
|
||||
if (m_Data)
|
||||
{
|
||||
rdInt = FormatUtils::BytesToInt32 (m_Data, m_Position, m_Size);
|
||||
rdInt = DocFileFormat::FormatUtils::BytesToInt32 (m_Data, m_Position, m_Size);
|
||||
m_Position += sizeof(rdInt);
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ public:
|
||||
|
||||
if (m_Data )
|
||||
{
|
||||
rdUInt = FormatUtils::BytesToUInt32 (m_Data, m_Position, m_Size);
|
||||
rdUInt = DocFileFormat::FormatUtils::BytesToUInt32 (m_Data, m_Position, m_Size);
|
||||
m_Position += sizeof(rdUInt);
|
||||
}
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@ namespace DocFileFormat
|
||||
_size.cx = Right - Left;
|
||||
_size.cy = Bottom - Top;
|
||||
|
||||
rcgBounds = DocFormatUtils::Rectangle (_point, _size);
|
||||
rcgBounds = DocFileFormat::Rectangle (_point, _size);
|
||||
}
|
||||
|
||||
virtual ~ChildAnchor()
|
||||
@ -75,7 +75,7 @@ namespace DocFileFormat
|
||||
public:
|
||||
|
||||
/// Rectangle that describes the bounds of the anchor
|
||||
DocFormatUtils::Rectangle rcgBounds;
|
||||
DocFileFormat::Rectangle rcgBounds;
|
||||
int Left;
|
||||
int Top;
|
||||
int Right;
|
||||
|
||||
@ -64,7 +64,7 @@ namespace DocFileFormat
|
||||
oSize.cx = ( right - left );
|
||||
oSize.cy = ( bottom - top );
|
||||
|
||||
rcgBounds = DocFormatUtils::Rectangle(oPoint,oSize);
|
||||
rcgBounds = DocFileFormat::Rectangle(oPoint,oSize);
|
||||
}
|
||||
|
||||
virtual ~GroupShapeRecord()
|
||||
@ -77,6 +77,6 @@ namespace DocFileFormat
|
||||
return new GroupShapeRecord( _reader, bodySize, typeCode, version, instance );
|
||||
}
|
||||
|
||||
DocFormatUtils::Rectangle rcgBounds;
|
||||
DocFileFormat::Rectangle rcgBounds;
|
||||
};
|
||||
}
|
||||
|
||||
@ -488,7 +488,7 @@ namespace DocFileFormat
|
||||
{
|
||||
for ( unsigned int i = 0, nSize = _grid->size(); i < nSize; i++ )
|
||||
{
|
||||
if(_grid->at(i) % DocFormatUtils::gc_nZeroWidth != 0)
|
||||
if(_grid->at(i) % DocFileFormat::gc_nZeroWidth != 0)
|
||||
{
|
||||
bWriteGridCol = true;
|
||||
break;
|
||||
|
||||
@ -44,6 +44,8 @@
|
||||
#include "../../DesktopEditor/common/File.h"
|
||||
#include "../../DesktopEditor/raster/BgraFrame.h"
|
||||
|
||||
using namespace DocFileFormat;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD iType; // Record type EMR_HEADER
|
||||
|
||||
@ -1441,7 +1441,7 @@ namespace DocFileFormat
|
||||
{
|
||||
if ((style != NULL) && (anchor != NULL))
|
||||
{
|
||||
DocFormatUtils::Rectangle bounds = anchor->rcgBounds;
|
||||
DocFileFormat::Rectangle bounds = anchor->rcgBounds;
|
||||
|
||||
if (twistDimensions)
|
||||
{
|
||||
|
||||
@ -197,20 +197,20 @@ public:
|
||||
int cchSize = 1;
|
||||
cch = ReadBytes( cchSize, true );
|
||||
|
||||
int xstzSize = FormatUtils::BytesToUChar( cch, 0, cchSize ) * 1;
|
||||
int xstzSize = DocFileFormat::FormatUtils::BytesToUChar( cch, 0, cchSize ) * 1;
|
||||
xstz = ReadBytes(xstzSize, true);
|
||||
|
||||
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_WINDOWS_1250 );
|
||||
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_WINDOWS_1250 );
|
||||
}
|
||||
else
|
||||
{
|
||||
int cchSize = 2;
|
||||
cch = ReadBytes( cchSize, true );
|
||||
|
||||
int xstzSize = FormatUtils::BytesToInt16( cch, 0, cchSize ) * 2;
|
||||
int xstzSize = DocFileFormat::FormatUtils::BytesToInt16( cch, 0, cchSize ) * 2;
|
||||
xstz = ReadBytes(xstzSize, true);
|
||||
|
||||
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_UTF16 );
|
||||
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_UTF16 );
|
||||
}
|
||||
|
||||
RELEASEARRAYOBJECTS(xstz);
|
||||
@ -234,7 +234,7 @@ public:
|
||||
//dont read the terminating zero
|
||||
unsigned char* stringBytes = ReadBytes( ( cch * 2 ), true );
|
||||
|
||||
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( ( cch * 2 ) - 2 ), ENCODING_UTF16 );
|
||||
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( ( cch * 2 ) - 2 ), ENCODING_UTF16 );
|
||||
|
||||
RELEASEARRAYOBJECTS( stringBytes );
|
||||
}
|
||||
@ -278,7 +278,7 @@ public:
|
||||
//dont read the terminating zero
|
||||
stringBytes = ReadBytes( cch, true );
|
||||
|
||||
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( cch - 1 ), ENCODING_WINDOWS_1250);
|
||||
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( cch - 1 ), ENCODING_WINDOWS_1250);
|
||||
|
||||
}
|
||||
RELEASEARRAYOBJECTS( stringBytes );
|
||||
|
||||
@ -3867,9 +3867,11 @@ public:
|
||||
pMoveFromRangeStart->m_oColLast->SetValue(m_oBufferedStream.GetLong());
|
||||
}
|
||||
else if (c_oSerMoveRange::Date == type)
|
||||
{
|
||||
{
|
||||
std::wstring strValue = m_oBufferedStream.GetString3(length);
|
||||
|
||||
pMoveFromRangeStart->m_oDate.Init();
|
||||
pMoveFromRangeStart->m_oDate->SetValue(m_oBufferedStream.GetString3(length));
|
||||
pMoveFromRangeStart->m_oDate->SetValue(strValue);
|
||||
}
|
||||
else if (c_oSerMoveRange::DisplacedByCustomXml == type)
|
||||
{
|
||||
@ -3915,9 +3917,11 @@ public:
|
||||
pMoveToRangeStart->m_oColLast->SetValue(m_oBufferedStream.GetLong());
|
||||
}
|
||||
else if (c_oSerMoveRange::Date == type)
|
||||
{
|
||||
{
|
||||
std::wstring strValue = m_oBufferedStream.GetString3(length);
|
||||
|
||||
pMoveToRangeStart->m_oDate.Init();
|
||||
pMoveToRangeStart->m_oDate->SetValue(m_oBufferedStream.GetString3(length));
|
||||
pMoveToRangeStart->m_oDate->SetValue(strValue);
|
||||
}
|
||||
else if (c_oSerMoveRange::DisplacedByCustomXml == type)
|
||||
{
|
||||
|
||||
@ -5738,6 +5738,8 @@ namespace BinDocxRW
|
||||
OOX::Logic::CDrawing* pGraphicDrawing = NULL;
|
||||
PPTX::Logic::GraphicFrame* pGraphic = NULL;
|
||||
|
||||
m_oBcw.m_oStream.ClearCurShapePositionAndSizes();
|
||||
|
||||
if(OOX::et_mc_alternateContent == pElementType)
|
||||
{
|
||||
OOX::WritingElement* we = NULL;
|
||||
|
||||
@ -107,6 +107,7 @@ static const std::wstring _ooxShapeType[]=
|
||||
L"path",
|
||||
L"custGeom",//uses sub-sub type,
|
||||
L"polygon",
|
||||
L"roundRect",
|
||||
};
|
||||
|
||||
|
||||
@ -355,7 +356,7 @@ void _oox_drawing::serialize_shape(std::wostream & strm)
|
||||
shapeGeomPreset = L"rect";
|
||||
}
|
||||
}
|
||||
else if (sub_type < 9 && sub_type >= 0)
|
||||
else if (sub_type < 10 && sub_type >= 0)
|
||||
{
|
||||
shapeGeomPreset = _ooxShapeType[sub_type]; //odf -> oox
|
||||
}
|
||||
|
||||
@ -235,7 +235,7 @@ void Compute_HatchFill(draw_hatch * image_style,oox::oox_hatch_fill_ptr fill)
|
||||
int style =0;
|
||||
if (image_style->draw_style_)style = image_style->draw_style_->get_type();
|
||||
|
||||
int angle = (int)(0.5 + *image_style->draw_rotation_/10.);
|
||||
int angle = image_style->draw_rotation_ ? (int)(0.5 + *image_style->draw_rotation_/10.) : 0;
|
||||
|
||||
if (image_style->draw_color_)fill->color_ref = image_style->draw_color_->get_hex_value();
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ void draw_shape::add_child_element( xml::sax * Reader, const std::wstring & Ns,
|
||||
}
|
||||
void draw_shape::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
{
|
||||
CP_APPLY_ATTR(L"draw:id", draw_id_);//или сюда draw_shape_attlist_???
|
||||
CP_APPLY_ATTR(L"draw:id", draw_id_);//или сюда draw_shape_attlist_???
|
||||
|
||||
common_draw_attlists_.shape_with_text_and_styles_.add_attributes(Attributes);
|
||||
common_draw_attlists_.position_.add_attributes(Attributes);
|
||||
@ -87,6 +87,7 @@ void draw_shape::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
void draw_rect_attlist::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
{
|
||||
CP_APPLY_ATTR(L"draw:filter-name", draw_filter_name_);
|
||||
CP_APPLY_ATTR(L"draw:corner-radius",draw_corner_radius_);
|
||||
}
|
||||
|
||||
const wchar_t * draw_rect::ns = L"draw";
|
||||
@ -98,6 +99,9 @@ void draw_rect::add_attributes( const xml::attributes_wc_ptr & Attributes )
|
||||
draw_shape::add_attributes(Attributes);
|
||||
|
||||
sub_type_ = 2;
|
||||
|
||||
if (draw_rect_attlist_.draw_corner_radius_)
|
||||
sub_type_ = 9;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -101,7 +101,8 @@ public:
|
||||
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
|
||||
|
||||
public:
|
||||
_CP_OPT(std::wstring) draw_filter_name_;
|
||||
_CP_OPT(std::wstring) draw_filter_name_;
|
||||
_CP_OPT(odf_types::length) draw_corner_radius_;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -95,13 +95,13 @@ void draw_shape::common_docx_convert(oox::docx_conversion_context & Context)
|
||||
Context.set_paragraph_state (false);
|
||||
Context.set_run_state (false);
|
||||
|
||||
BOOST_FOREACH(const office_element_ptr & elm, content_)
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
ElementType type = elm->get_type();
|
||||
ElementType type = content_[i]->get_type();
|
||||
|
||||
if (type != typeDrawCustomShape)
|
||||
{
|
||||
elm->docx_convert(Context);
|
||||
content_[i]->docx_convert(Context);
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,9 +120,16 @@ void draw_rect::docx_convert(oox::docx_conversion_context & Context)
|
||||
return;
|
||||
}
|
||||
common_docx_convert(Context);
|
||||
//...
|
||||
draw_shape::docx_convert(Context);
|
||||
|
||||
if (draw_rect_attlist_.draw_corner_radius_)
|
||||
{
|
||||
draw_shape * shape = Context.get_drawing_context().get_current_shape();//owner
|
||||
|
||||
double val = draw_rect_attlist_.draw_corner_radius_->get_value() * 6500;
|
||||
shape->additional_.push_back(_property(L"oox-draw-modifiers", std::to_wstring((int)val)));
|
||||
}
|
||||
|
||||
draw_shape::docx_convert(Context);
|
||||
}
|
||||
void draw_ellipse::docx_convert(oox::docx_conversion_context & Context)
|
||||
{
|
||||
@ -157,6 +164,7 @@ void draw_line::docx_convert(oox::docx_conversion_context & Context)
|
||||
reset_svg_attributes();
|
||||
|
||||
common_docx_convert(Context);
|
||||
//...
|
||||
|
||||
draw_shape::docx_convert(Context);
|
||||
}
|
||||
|
||||
@ -626,6 +626,7 @@ public:
|
||||
// header_footer_content_impl content_;
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(style_footer_first);
|
||||
|
||||
/// style:header-left
|
||||
class style_header_left : public office_element_impl<style_header_left>, public header_footer_impl
|
||||
|
||||
@ -283,6 +283,8 @@ void odt_conversion_context::end_drawings()
|
||||
}
|
||||
void odt_conversion_context::start_paragraph(bool styled)
|
||||
{
|
||||
if (current_field_.enabled && !current_field_.result) return; //Стандартное_составное_письмо.docx
|
||||
|
||||
if (is_paragraph_in_current_section_ && !styled)
|
||||
{
|
||||
styles_context()->create_style(L"", odf_types::style_family::Paragraph, true, false, -1);
|
||||
@ -374,8 +376,9 @@ void odt_conversion_context::set_field_instr(std::wstring instr)
|
||||
{
|
||||
if (current_field_.enabled == false) return;
|
||||
|
||||
current_field_.type = 0; //users field
|
||||
int res1 = instr.find(L"HYPERLINK");
|
||||
if (res1 >=0) //это не поле - это hyperlink
|
||||
if (res1 >= 0) //это не поле - это hyperlink
|
||||
{
|
||||
current_field_.type = 1;
|
||||
|
||||
@ -390,24 +393,24 @@ void odt_conversion_context::set_field_instr(std::wstring instr)
|
||||
}
|
||||
}
|
||||
res1 = instr.find(L"NUMPAGES");
|
||||
if (res1 >=0 && current_field_.type == 0)
|
||||
if (res1 >= 0 && current_field_.type == 0)
|
||||
{
|
||||
current_field_.type = 3;
|
||||
}
|
||||
res1 = instr.find(L"PAGEREF");
|
||||
if (res1 >=0 && current_field_.type == 0 ) //это не поле - это bookmark
|
||||
if (res1 >= 0 && current_field_.type == 0 ) //это не поле - это bookmark
|
||||
{
|
||||
current_field_.type = 5;
|
||||
if (instr.length() > 9)
|
||||
current_field_.value = instr.substr(9, instr.length()-5);
|
||||
}
|
||||
res1 = instr.find(L"PAGE");
|
||||
if (res1 >=0 && current_field_.type == 0)
|
||||
if (res1 >= 0 && current_field_.type == 0)
|
||||
{
|
||||
current_field_.type = 2;
|
||||
}
|
||||
res1 = instr.find(L"TIME");
|
||||
if (res1 >=0 && current_field_.type == 0)
|
||||
if (res1 >= 0 && current_field_.type == 0)
|
||||
{
|
||||
current_field_.type = 4;
|
||||
}
|
||||
@ -418,20 +421,34 @@ void odt_conversion_context::set_field_instr(std::wstring instr)
|
||||
}
|
||||
//////////////////////////////////////////
|
||||
res1 = instr.find(L"@");
|
||||
if (res1 >=0)
|
||||
if (res1 >= 0)
|
||||
{
|
||||
current_field_.format = instr.substr(res1+1, instr.length());
|
||||
current_field_.format = instr.substr(res1 + 1, instr.length());
|
||||
}
|
||||
|
||||
if (current_field_.type == 0)
|
||||
{
|
||||
res1 = instr.find(L" ");
|
||||
if (res1 >= 0)
|
||||
{
|
||||
current_field_.name = instr.substr(0, res1);
|
||||
}
|
||||
}
|
||||
}
|
||||
void odt_conversion_context::start_field(bool in_span)
|
||||
{
|
||||
current_field_.enabled = true;
|
||||
|
||||
|
||||
current_field_.result = false;
|
||||
current_field_.in_span = in_span;
|
||||
current_field_.value = L"";
|
||||
current_field_.type = 0;
|
||||
current_field_.value.clear();
|
||||
current_field_.name.clear();
|
||||
current_field_.type = 0; // users field
|
||||
}
|
||||
void odt_conversion_context::separate_field()
|
||||
{
|
||||
current_field_.result = true;
|
||||
}
|
||||
|
||||
void odt_conversion_context::set_master_page_name(std::wstring master_name)
|
||||
{
|
||||
if (current_root_elements_.size() < 1)// return; - эффект_штурмовика.docx - 1 страница !! (и ваще -
|
||||
@ -566,13 +583,17 @@ void odt_conversion_context::end_field()
|
||||
}
|
||||
current_field_.value = L"";
|
||||
current_field_.format = L"";
|
||||
current_field_.name = L"";
|
||||
|
||||
current_field_.enabled = false;
|
||||
current_field_.started = false;
|
||||
current_field_.in_span = false;
|
||||
current_field_.result = false;
|
||||
current_field_.enabled = false;
|
||||
current_field_.started = false;
|
||||
current_field_.in_span = false;
|
||||
}
|
||||
void odt_conversion_context::end_paragraph()
|
||||
{
|
||||
if (current_field_.enabled && !current_field_.result) return; //Стандартное_составное_письмо.docx
|
||||
|
||||
text_context()->end_paragraph();
|
||||
|
||||
flush_section();
|
||||
|
||||
@ -95,6 +95,7 @@ public:
|
||||
|
||||
void start_field (bool in_span);
|
||||
void end_field ();
|
||||
void separate_field ();
|
||||
void set_field_instr (std::wstring instr);
|
||||
|
||||
void start_run (bool styled = false);
|
||||
@ -182,12 +183,14 @@ private:
|
||||
|
||||
struct _field_state
|
||||
{
|
||||
std::wstring name;
|
||||
bool enabled;
|
||||
int type;
|
||||
std::wstring value;
|
||||
std::wstring format;
|
||||
bool started;
|
||||
bool in_span;
|
||||
bool result;
|
||||
}current_field_;
|
||||
|
||||
struct _text_changes_state
|
||||
|
||||
@ -593,6 +593,14 @@ void OoxConverter::convert(OOX::Vml::CRoundRect *vml_roundrect)
|
||||
|
||||
OOX::Vml::CVmlCommonElements *vml_common = dynamic_cast<OOX::Vml::CVmlCommonElements *>(vml_roundrect);
|
||||
convert(vml_common);
|
||||
|
||||
double arc_size = vml_roundrect->m_oArcSize.GetValue();
|
||||
|
||||
if (arc_size > 0)
|
||||
{
|
||||
odf_types::length corner = odf_types::length(arc_size * 20, odf_types::length::cm);
|
||||
odf_context()->drawing_context()->set_corner_radius(corner);
|
||||
}
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Vml::CCurve *vml_curve)
|
||||
|
||||
@ -751,7 +751,7 @@ void DocxConverter::convert(OOX::Logic::CSym *oox_sym)
|
||||
odt_context->text_context()->set_symbol_text(oox_sym->m_oChar->GetValue());
|
||||
//odt_context->text_context()->add_text_content(std::wstring(L"/") + oox_sym->m_oChar->ToString());
|
||||
}
|
||||
void DocxConverter::convert(OOX::Logic::CFldChar *oox_fld)
|
||||
void DocxConverter::convert(OOX::Logic::CFldChar *oox_fld)
|
||||
{
|
||||
if (oox_fld == NULL) return;
|
||||
|
||||
@ -762,7 +762,7 @@ void DocxConverter::convert(OOX::Logic::CFldChar *oox_fld)
|
||||
{
|
||||
if (oox_fld->m_oFldCharType->GetValue() == SimpleTypes::fldchartypeBegin) odt_context->start_field(false);
|
||||
if (oox_fld->m_oFldCharType->GetValue() == SimpleTypes::fldchartypeEnd) odt_context->end_field();
|
||||
if (oox_fld->m_oFldCharType->GetValue() == SimpleTypes::fldchartypeSeparate){}
|
||||
if (oox_fld->m_oFldCharType->GetValue() == SimpleTypes::fldchartypeSeparate)odt_context->separate_field();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -94,11 +94,11 @@ struct SFileIdCluster
|
||||
}
|
||||
};
|
||||
#if !defined(_WIN32) && !defined (_WIN64)
|
||||
typedef struct tagPOINT
|
||||
{
|
||||
long x;
|
||||
long y;
|
||||
} POINT;
|
||||
typedef struct tagPOINT
|
||||
{
|
||||
long x;
|
||||
long y;
|
||||
} POINT;
|
||||
|
||||
typedef struct tagSIZE
|
||||
{
|
||||
|
||||
@ -342,6 +342,14 @@
|
||||
<Filter
|
||||
Name="Common"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\ASCOfficeXlsFile2\source\XlsFormat\Binary\CFRecord.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\ASCOfficeXlsFile2\source\XlsFormat\Binary\CFStream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\XlsxSerializerCom\Reader\ChartFromToBinary.cpp"
|
||||
>
|
||||
|
||||
@ -83,7 +83,7 @@ namespace PPTX
|
||||
int nParentDepth = oReader.GetDepth();
|
||||
while( oReader.ReadNextSiblingNode( nParentDepth ) )
|
||||
{
|
||||
std::wstring strName = XmlUtils::GetNameNoNS(oReader.GetName());
|
||||
std::wstring strName = oReader.GetName();
|
||||
|
||||
if (strName == L"a:cxnSpLocks")
|
||||
{
|
||||
@ -155,7 +155,6 @@ namespace PPTX
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
virtual std::wstring toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
|
||||
2
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp
Normal file → Executable file
2
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp
Normal file → Executable file
@ -124,6 +124,8 @@ namespace PPTX
|
||||
xfrm = oReader;
|
||||
else if (L"cNvGraphicFramePr" == strName)
|
||||
nvGraphicFramePr.cNvGraphicFramePr.fromXML( oReader );
|
||||
else if (L"nvGraphicFramePr" == strName)
|
||||
nvGraphicFramePr.fromXML( oReader );
|
||||
|
||||
else if (L"graphic" == strName)
|
||||
{
|
||||
|
||||
@ -83,8 +83,6 @@ namespace PPTX
|
||||
m_eType = OOX::et_a_latin;
|
||||
else if ( _T("a:sym") == m_name )
|
||||
m_eType = OOX::et_a_sym;
|
||||
else
|
||||
return;
|
||||
|
||||
ReadAttributes( oReader );
|
||||
|
||||
|
||||
@ -36,8 +36,8 @@
|
||||
#include "BinSmartPointers.h"
|
||||
#include "../Logic/GlobalWorkbookInfo.h"
|
||||
|
||||
#include <common.h>
|
||||
#include <Auxiliary/HelpFunc.h>
|
||||
#include "../../Common/common.h"
|
||||
#include "../Auxiliary/HelpFunc.h"
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/Base/unicode_util.h"
|
||||
namespace XLS
|
||||
|
||||
@ -66,7 +66,7 @@ CFRecordPtr CFStreamCacheReader::getNextRecord(const CFRecordType::TypeId desira
|
||||
{
|
||||
CFRecordType::TypeString rec_name = records_cache.front()->getTypeString();
|
||||
|
||||
//Log::warning(rec_name);
|
||||
Log::warning(rec_name);
|
||||
|
||||
if (desirable_type == rt_MsoDrawingGroup) // объединяем rt_MsoDrawingGroup + rt_Continue в один блок
|
||||
{
|
||||
|
||||
@ -96,8 +96,6 @@ CompoundFile::CompoundFile(const std::wstring & file_path, const ReadWriteMode m
|
||||
storage_ = NULL;
|
||||
Open(file_path, mode);
|
||||
}
|
||||
|
||||
|
||||
// Opens "Workbook" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::getWorkbookStream()
|
||||
{
|
||||
@ -114,61 +112,6 @@ CFStreamPtr CompoundFile::getWorkbookStream()
|
||||
return stream;
|
||||
}
|
||||
|
||||
|
||||
// Creates "Workbook" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::createWorkbookStream()
|
||||
{
|
||||
return createNamedStream("Workbook");
|
||||
}
|
||||
|
||||
void CompoundFile::closeWorkbookStream()
|
||||
{
|
||||
return closeNamedStream("Workbook");
|
||||
}
|
||||
|
||||
|
||||
// Opens "SummaryInformation" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::getSummaryInformationStream()
|
||||
{
|
||||
return getNamedStream("SummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
// Creates "SummaryInformation" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::createSummaryInformationStream()
|
||||
{
|
||||
return createNamedStream("SummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
// Closes "SummaryInformation" stream
|
||||
void CompoundFile::closeSummaryInformationStream()
|
||||
{
|
||||
return closeNamedStream("SummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
// Opens "SummaryInformation" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::getDocumentSummaryInformationStream()
|
||||
{
|
||||
return getNamedStream("DocumentSummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
// Creates "SummaryInformation" stream and returns the only reference
|
||||
CFStreamPtr CompoundFile::createDocumentSummaryInformationStream()
|
||||
{
|
||||
return createNamedStream("DocumentSummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
// Closes "SummaryInformation" stream
|
||||
void CompoundFile::closeDocumentSummaryInformationStream()
|
||||
{
|
||||
return closeNamedStream("DocumentSummaryInformation");
|
||||
}
|
||||
|
||||
|
||||
CFStreamPtr CompoundFile::getNamedStream(const std::string& name)
|
||||
{
|
||||
if(!streams[name])
|
||||
|
||||
@ -58,29 +58,19 @@ public:
|
||||
|
||||
bool isError();
|
||||
|
||||
CFStreamPtr getWorkbookStream();
|
||||
CFStreamPtr createWorkbookStream();
|
||||
void closeWorkbookStream();
|
||||
|
||||
CFStreamPtr getSummaryInformationStream();
|
||||
CFStreamPtr createSummaryInformationStream();
|
||||
void closeSummaryInformationStream();
|
||||
|
||||
CFStreamPtr getDocumentSummaryInformationStream();
|
||||
CFStreamPtr createDocumentSummaryInformationStream();
|
||||
void closeDocumentSummaryInformationStream();
|
||||
CFStreamPtr getWorkbookStream ();
|
||||
CFStreamPtr getNamedStream (const std::string& name);
|
||||
|
||||
POLE::Storage *storage_;
|
||||
private:
|
||||
POLE::Stream* openStream (const std::string & stream_name); // Opens a stream in the storage (shall be called not more than once per stream)
|
||||
POLE::Stream* createStream (const std::string & stream_name); // Creates a new stream in the storage
|
||||
|
||||
CFStreamPtr getNamedStream (const std::string& name);
|
||||
CFStreamPtr createNamedStream (const std::string& name);
|
||||
void closeNamedStream (const std::string& name);
|
||||
|
||||
private:
|
||||
std::map<std::string, CFStreamPtr> streams;
|
||||
POLE::Storage *storage_;
|
||||
ReadWriteMode rwMode;
|
||||
};
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include <Logic/Biff_structures/LongRGB.h>
|
||||
#include "../Biff_structures/LongRGB.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
@ -59,12 +59,12 @@ public:
|
||||
|
||||
typedef enum
|
||||
{
|
||||
st_Workbook = 0x0005,
|
||||
st_Globals = st_Workbook,
|
||||
st_Dialog = 0x0010,
|
||||
st_Worksheet = st_Dialog,
|
||||
st_Chart = 0x0020,
|
||||
st_Macro = 0x040
|
||||
st_Workbook = 0x0005,
|
||||
st_Globals = st_Workbook,
|
||||
st_Dialog = 0x0010,
|
||||
st_Worksheet = st_Dialog,
|
||||
st_Chart = 0x0020,
|
||||
st_Macro = 0x040
|
||||
} SubstreamType;
|
||||
|
||||
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
*/
|
||||
|
||||
#include "DBQueryExt.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtWeb.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtOledb.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtAdo.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
@ -52,10 +55,44 @@ BaseObjectPtr DBQueryExt::clone()
|
||||
|
||||
void DBQueryExt::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### DBQueryExt record is not implemented")
|
||||
Log::error("DBQueryExt record is not implemented.");
|
||||
unsigned short flags1, flags2;
|
||||
record >> frtHeaderOld >> dbt >> flags1;
|
||||
|
||||
fMaintain = GETBIT(flags1, 0);
|
||||
fNewQuery = GETBIT(flags1, 1);
|
||||
fImportXmlSource = GETBIT(flags1, 2);
|
||||
fSPListSrc = GETBIT(flags1, 3);
|
||||
fSPListReinitCache = GETBIT(flags1, 4);
|
||||
fSrcIsXml = GETBIT(flags1, 7);
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
switch(dbt)
|
||||
{
|
||||
case 4: grbitDbt.reset(new ConnGrbitDbtWeb); break;
|
||||
case 5: grbitDbt.reset(new ConnGrbitDbtOledb); break;
|
||||
case 7: grbitDbt.reset(new ConnGrbitDbtAdo); break;
|
||||
}
|
||||
record >> flags1 >> bVerDbqueryEdit >> bVerDbqueryRefreshed >> bVerDbqueryRefreshableMin;
|
||||
|
||||
fTxtWiz = GETBIT(flags1, 0);
|
||||
fTableNames = GETBIT(flags1, 1);
|
||||
|
||||
record.skipNunBytes(3); //unused
|
||||
|
||||
record >> coledb >> cstFuture >> wRefreshInterval >> wHtmlFmt >> cwParamFlags;
|
||||
|
||||
PBT val1;
|
||||
for (unsigned short i = 0; i < cwParamFlags; i++)
|
||||
{
|
||||
record >> val1;
|
||||
rgPbt.push_back(val1);
|
||||
}
|
||||
|
||||
char val2;
|
||||
for (unsigned short i = 0; i < cstFuture; i++)
|
||||
{
|
||||
record >> val2;
|
||||
rgbFutureBytes += val2;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,12 +32,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
#include "../Biff_structures/PBT.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of DBQueryExt record in BIFF8
|
||||
class DBQueryExt: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(DBQueryExt)
|
||||
@ -47,13 +47,32 @@ public:
|
||||
~DBQueryExt();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeDBQueryExt;
|
||||
|
||||
static const ElementType type = typeDBQueryExt;
|
||||
|
||||
FrtHeaderOld frtHeaderOld;
|
||||
unsigned short dbt; //enum DataSourceType
|
||||
bool fMaintain;
|
||||
bool fNewQuery;
|
||||
bool fImportXmlSource;
|
||||
bool fSPListSrc;
|
||||
bool fSPListReinitCache;
|
||||
bool fSrcIsXml;
|
||||
BiffStructurePtr grbitDbt;
|
||||
bool fTxtWiz;
|
||||
bool fTableNames;
|
||||
unsigned char bVerDbqueryEdit; //DataFunctionalityLevel
|
||||
unsigned char bVerDbqueryRefreshed;
|
||||
unsigned char bVerDbqueryRefreshableMin;
|
||||
unsigned short coledb;
|
||||
unsigned short cstFuture;
|
||||
unsigned short wRefreshInterval;
|
||||
unsigned short wHtmlFmt;
|
||||
unsigned short cwParamFlags;
|
||||
std::vector<PBT> rgPbt;
|
||||
std::string rgbFutureBytes;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -44,7 +44,6 @@ DConName::~DConName()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr DConName::clone()
|
||||
{
|
||||
return BaseObjectPtr(new DConName(*this));
|
||||
@ -52,9 +51,14 @@ BaseObjectPtr DConName::clone()
|
||||
|
||||
void DConName::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### DConName record is not implemented")
|
||||
Log::error("DConName record is not implemented.");
|
||||
|
||||
record >> stName >> cchFile;
|
||||
|
||||
if (cchFile > 0 && cchFile < 0xffff)
|
||||
{
|
||||
stFile.setSize(cchFile);
|
||||
record >> stFile;
|
||||
}
|
||||
// skip unused
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
|
||||
@ -32,12 +32,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/BiffString.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of DConName record in BIFF8
|
||||
class DConName: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(DConName)
|
||||
@ -47,12 +46,14 @@ public:
|
||||
~DConName();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeDConName;
|
||||
|
||||
XLUnicodeString stName;
|
||||
unsigned short cchFile;
|
||||
XLUnicodeStringNoCch stFile;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -31,6 +31,11 @@
|
||||
*/
|
||||
|
||||
#include "DConn.h"
|
||||
#include "../Biff_structures/DConnConnectionWeb.h"
|
||||
#include "../Biff_structures/DConnConnectionOleDb.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtWeb.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtOledb.h"
|
||||
#include "../Biff_structures/ConnGrbitDbtAdo.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
@ -52,10 +57,65 @@ BaseObjectPtr DConn::clone()
|
||||
|
||||
void DConn::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### DConn record is not implemented")
|
||||
Log::error("DConn record is not implemented.");
|
||||
unsigned short flags1, reserved1;
|
||||
unsigned char flags2, reserved2;
|
||||
|
||||
record >> frtHeaderOld >> dbt >> flags1 >> cParams >> reserved1 >> flags2 >> reserved2;
|
||||
|
||||
fSavePwd = GETBIT(flags1, 0);
|
||||
fTablesOnlyHtml = GETBIT(flags1, 1);
|
||||
fTableNames = GETBIT(flags1, 2);
|
||||
fDeleted = GETBIT(flags1, 3);
|
||||
fStandAlone = GETBIT(flags1, 4);
|
||||
fAlwaysUseConnectionFile = GETBIT(flags1, 5);
|
||||
fBackgroundQuery= GETBIT(flags1, 6);
|
||||
fRefreshOnLoad = GETBIT(flags1, 7);
|
||||
fSaveData = GETBIT(flags1, 8);
|
||||
|
||||
fMaintain = GETBIT(flags1, 0);
|
||||
fNewQuery = GETBIT(flags1, 1);
|
||||
fImportXmlSource= GETBIT(flags1, 2);
|
||||
fSPListSrc = GETBIT(flags1, 3);
|
||||
fSPListReinitCache = GETBIT(flags1, 4);
|
||||
fSrcIsXml = GETBIT(flags1, 7);
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
switch (dbt)
|
||||
{
|
||||
case 4: grbitDbt.reset(new ConnGrbitDbtWeb); break;
|
||||
case 5: grbitDbt.reset(new ConnGrbitDbtOledb); break;
|
||||
case 7: grbitDbt.reset(new ConnGrbitDbtAdo); break;
|
||||
}
|
||||
if (grbitDbt)
|
||||
{
|
||||
record >> *grbitDbt;
|
||||
}
|
||||
|
||||
record >> bVerDbqueryEdit >> bVerDbqueryRefreshed >> bVerDbqueryRefreshableMin >> wRefreshInterval >> wHtmlFmt >> wHtmlFmt >> rcc >> credMethod;
|
||||
|
||||
record >> rgchSourceDataFile >> rgchSourceConnectionFile >> rgchConnectionName >> rgchConnectionDesc >> rgchSSOApplicationID >> tableNames;
|
||||
|
||||
for ( unsigned short i = 0; i < cParams; i++)
|
||||
{
|
||||
DConnParameter val;
|
||||
params.push_back(val);
|
||||
}
|
||||
|
||||
switch (dbt)
|
||||
{
|
||||
case 1: connection.reset(new XLUnicodeStringSegmented); break;
|
||||
case 4: connection.reset(new DConnConnectionWeb); break;
|
||||
case 5: connection.reset(new DConnConnectionOleDb); break;
|
||||
case 6: connection_txtQry.readFields(record); break;
|
||||
}
|
||||
|
||||
if (connection)
|
||||
record >> *connection;
|
||||
|
||||
record >> rgbSQL >> rgbSQLSav >> rgbEditWebPage >> id;
|
||||
|
||||
int skip = record.getDataSize() - record.getRdPtr();
|
||||
|
||||
record.skipNunBytes(skip);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -31,13 +31,15 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "TxtQry.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
#include "../Biff_structures/DConnParameter.h"
|
||||
#include "../Biff_structures/DConnId.h"
|
||||
#include "../Biff_structures/DConnStringSequence.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of DConn record in BIFF8
|
||||
class DConn: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(DConn)
|
||||
@ -47,13 +49,54 @@ public:
|
||||
~DConn();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeDConn;
|
||||
static const ElementType type = typeDConn;
|
||||
|
||||
FrtHeaderOld frtHeaderOld;
|
||||
unsigned short dbt;
|
||||
bool fSavePwd;
|
||||
bool fTablesOnlyHtml;
|
||||
bool fTableNames;
|
||||
bool fDeleted;
|
||||
bool fStandAlone;
|
||||
bool fAlwaysUseConnectionFile;
|
||||
bool fBackgroundQuery;
|
||||
bool fRefreshOnLoad;
|
||||
bool fSaveData;
|
||||
unsigned short cParams;
|
||||
bool fMaintain;
|
||||
bool fNewQuery;
|
||||
bool fImportXmlSource;
|
||||
bool fSPListSrc;
|
||||
bool fSPListReinitCache;
|
||||
bool fSrcIsXml;
|
||||
|
||||
BiffStructurePtr grbitDbt;
|
||||
unsigned char bVerDbqueryEdit;
|
||||
unsigned char bVerDbqueryRefreshed;
|
||||
unsigned char bVerDbqueryRefreshableMin;
|
||||
unsigned short wRefreshInterval;
|
||||
unsigned short wHtmlFmt;
|
||||
_UINT32 rcc;
|
||||
unsigned char credMethod;
|
||||
|
||||
XLUnicodeStringSegmented rgchSourceDataFile;
|
||||
XLUnicodeStringSegmented rgchSourceConnectionFile;
|
||||
XLUnicodeStringSegmented rgchConnectionName;
|
||||
XLUnicodeStringSegmented rgchConnectionDesc;
|
||||
XLUnicodeStringSegmented rgchSSOApplicationID;
|
||||
XLUnicodeStringSegmented tableNames;
|
||||
std::vector<DConnParameter> params;
|
||||
|
||||
BiffStructurePtr connection;
|
||||
TxtQry connection_txtQry;
|
||||
|
||||
DConnStringSequence rgbSQL;
|
||||
DConnStringSequence rgbSQLSav;
|
||||
DConnStringSequence rgbEditWebPage;
|
||||
DConnId id;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
#include "../Biff_structures/BiffString.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
@ -35,16 +35,6 @@
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
Fbi2::Fbi2()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Fbi2::~Fbi2()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr Fbi2::clone()
|
||||
{
|
||||
return BaseObjectPtr(new Fbi2(*this));
|
||||
@ -52,9 +42,9 @@ BaseObjectPtr Fbi2::clone()
|
||||
|
||||
void Fbi2::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### Fbi2 record is not implemented")
|
||||
Log::error("Fbi2 record is not implemented.");
|
||||
//record >> some_value;
|
||||
unsigned short val;
|
||||
record >> dmixBasis >> dmiyBasis >> twpHeightBasis >> val >> ifnt;
|
||||
scab = (val != 0);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,25 +32,31 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FontIndex.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of Fbi2 record in BIFF8
|
||||
class Fbi2: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(Fbi2)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(Fbi2)
|
||||
public:
|
||||
Fbi2();
|
||||
~Fbi2();
|
||||
Fbi2(){}
|
||||
~Fbi2(){}
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
static const ElementType type = typeFbi2;
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
unsigned short dmixBasis;
|
||||
unsigned short dmiyBasis;
|
||||
unsigned short twpHeightBasis;
|
||||
bool scab;
|
||||
FontIndex ifnt;
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -35,16 +35,6 @@
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
FrtFontList::FrtFontList()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
FrtFontList::~FrtFontList()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr FrtFontList::clone()
|
||||
{
|
||||
return BaseObjectPtr(new FrtFontList(*this));
|
||||
@ -52,9 +42,15 @@ BaseObjectPtr FrtFontList::clone()
|
||||
|
||||
void FrtFontList::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### FrtFontList record is not implemented")
|
||||
Log::error("FrtFontList record is not implemented.");
|
||||
//record >> some_value;
|
||||
unsigned char reserved;
|
||||
record >> frtHeaderOld >> verExcel >> reserved >> cFont;
|
||||
|
||||
FontInfo val;
|
||||
for (unsigned short i = 0; i < cFont; i++)
|
||||
{
|
||||
record >> val;
|
||||
rgFontInfo.push_back(val);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,28 +32,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
#include "../Biff_structures/FontInfo.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of FrtFontList record in BIFF8
|
||||
class FrtFontList: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(FrtFontList)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(FrtFontList)
|
||||
public:
|
||||
FrtFontList();
|
||||
~FrtFontList();
|
||||
FrtFontList(){}
|
||||
~FrtFontList(){}
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeFrtFontList;
|
||||
|
||||
static const ElementType type = typeFrtFontList;
|
||||
|
||||
FrtHeaderOld frtHeaderOld;
|
||||
unsigned char verExcel;
|
||||
unsigned short cFont;
|
||||
std::vector<FontInfo> rgFontInfo;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -55,7 +55,8 @@ void RealTimeData::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### RealTimeData record is not implemented")
|
||||
Log::error("RealTimeData record is not implemented.");
|
||||
//record >> some_value;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -55,7 +55,8 @@ void RecipName::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### RecipName record is not implemented")
|
||||
Log::error("RecipName record is not implemented.");
|
||||
//record >> some_value;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -52,9 +52,13 @@ BaseObjectPtr RichTextStream::clone()
|
||||
|
||||
void RichTextStream::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### RichTextStream record is not implemented")
|
||||
Log::error("RichTextStream record is not implemented.");
|
||||
//record >> some_value;
|
||||
record >> frtHeader >> dwCheckSum >> cb;
|
||||
|
||||
if (cb > 0 &&cb < 0xffff)
|
||||
{
|
||||
rgb = std::string(record.getCurData<char>(), cb);
|
||||
record.skipNunBytes(cb);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,12 +32,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FrtHeader.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of RichTextStream record in BIFF8
|
||||
class RichTextStream: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(RichTextStream)
|
||||
@ -47,12 +46,15 @@ public:
|
||||
~RichTextStream();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeRichTextStream;
|
||||
static const ElementType type = typeRichTextStream;
|
||||
|
||||
FrtHeader frtHeader;
|
||||
_UINT32 dwCheckSum;
|
||||
_UINT32 cb;
|
||||
std::string rgb;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -35,16 +35,6 @@
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SBaseRef::SBaseRef()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SBaseRef::~SBaseRef()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr SBaseRef::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SBaseRef(*this));
|
||||
@ -52,9 +42,7 @@ BaseObjectPtr SBaseRef::clone()
|
||||
|
||||
void SBaseRef::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### SBaseRef record is not implemented")
|
||||
Log::error("SBaseRef record is not implemented.");
|
||||
//record >> some_value;
|
||||
record >> ref;
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,26 +32,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of SBaseRef record in BIFF8
|
||||
class SBaseRef: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SBaseRef)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SBaseRef)
|
||||
public:
|
||||
SBaseRef();
|
||||
~SBaseRef();
|
||||
SBaseRef(){}
|
||||
~SBaseRef(){}
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSBaseRef;
|
||||
static const ElementType type = typeSBaseRef;
|
||||
|
||||
Ref8U ref;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -54,7 +54,8 @@ void SCENARIO::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### SCENARIO record is not implemented")
|
||||
Log::error("SCENARIO record is not implemented.");
|
||||
//record >> some_value;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -131,6 +131,20 @@ void SXAddl_SXCCache_SXDVer10Info::readFields(CFRecord& record)
|
||||
record >> reserved2;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
BaseObjectPtr SXAddl_SXCCache_SXDVerUpdInv::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXAddl_SXCCache_SXDVerUpdInv(*this));
|
||||
}
|
||||
void SXAddl_SXCCache_SXDVerUpdInv::readFields(CFRecord& record)
|
||||
{
|
||||
m_SXAddlHdr.load(record);
|
||||
|
||||
record >> dwVersionInvalidates;
|
||||
|
||||
record.skipNunBytes(5);
|
||||
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
BaseObjectPtr SXAddl_SXCCache_SXDInfo12::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXAddl_SXCCache_SXDInfo12(*this));
|
||||
|
||||
@ -147,7 +147,15 @@ public:
|
||||
unsigned char dwVer;
|
||||
};
|
||||
|
||||
class SXAddl_SXCCache_SXDVerUpdInv : public SXAddl {};
|
||||
class SXAddl_SXCCache_SXDVerUpdInv : public SXAddl
|
||||
{
|
||||
public:
|
||||
virtual void readFields(CFRecord& record);
|
||||
virtual BaseObjectPtr clone();
|
||||
|
||||
unsigned char dwVersionInvalidates;
|
||||
};
|
||||
|
||||
class SXAddl_SXCCacheField_SXDCaption : public SXAddl {};
|
||||
class SXAddl_SXCCacheField_SXDEnd : public SXAddl {};
|
||||
class SXAddl_SXCCacheField_SXDId : public SXAddl {};
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXDB.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXDB::SXDB()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXDB::~SXDB()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXDB::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXDB(*this));
|
||||
}
|
||||
|
||||
void SXDB::readFields(CFRecord& record)
|
||||
{
|
||||
unsigned short flags, unused2;
|
||||
record >> crdbdb >> idstm >> flags >> unused2 >> cfdbdb >> cfdbTot >> crdbUsed >> vsType >> cchWho;
|
||||
|
||||
if (cchWho > 0 && cchWho < 0xffff)
|
||||
{
|
||||
rgb.setSize(cchWho);
|
||||
record >> rgb;
|
||||
}
|
||||
fSaveData = GETBIT(flags, 0);
|
||||
fInvalid = GETBIT(flags, 1);
|
||||
fRefreshOnLoad = GETBIT(flags, 2);
|
||||
fOptimizeCache = GETBIT(flags, 3);
|
||||
fBackgroundQuery = GETBIT(flags, 4);
|
||||
fEnableRefresh = GETBIT(flags, 5);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
73
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/SXDB.h
Normal file
73
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/SXDB.h
Normal file
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/BiffString.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXDB: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXDB)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXDB)
|
||||
public:
|
||||
SXDB();
|
||||
~SXDB();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXDB;
|
||||
|
||||
_INT32 crdbdb;
|
||||
unsigned short idstm;
|
||||
bool fSaveData;
|
||||
bool fInvalid;
|
||||
bool fRefreshOnLoad;
|
||||
bool fOptimizeCache;
|
||||
bool fBackgroundQuery;
|
||||
bool fEnableRefresh;
|
||||
|
||||
short cfdbdb;
|
||||
short cfdbTot;
|
||||
unsigned short crdbUsed;
|
||||
short vsType;
|
||||
unsigned short cchWho;
|
||||
XLUnicodeStringNoCch rgb;
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXDBB.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXDBB::SXDBB()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXDBB::~SXDBB()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr SXDBB::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXDBB(*this));
|
||||
}
|
||||
|
||||
void SXDBB::readFields(CFRecord& record)
|
||||
{
|
||||
int skip = record.getDataSize() - record.getRdPtr();
|
||||
record.skipNunBytes(skip);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXDBB: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXDBB)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXDBB)
|
||||
public:
|
||||
SXDBB();
|
||||
~SXDBB();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXDBB;
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXDBEx.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXDBEx::SXDBEx()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXDBEx::~SXDBEx()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXDBEx::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXDBEx(*this));
|
||||
}
|
||||
|
||||
void SXDBEx::readFields(CFRecord& record)
|
||||
{
|
||||
record >> numDate >> cSxFormula;
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/Xnum.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXDBEx: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXDBEx)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXDBEx)
|
||||
public:
|
||||
SXDBEx();
|
||||
~SXDBEx();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXDBEx;
|
||||
|
||||
DateAsNum numDate;
|
||||
_UINT32 cSxFormula; //count formulas
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXDtr.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXDtr::SXDtr()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXDtr::~SXDtr()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXDtr::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXDtr(*this));
|
||||
}
|
||||
|
||||
void SXDtr::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXDtr: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXDtr)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXDtr)
|
||||
public:
|
||||
SXDtr();
|
||||
~SXDtr();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXDtr;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXFDB.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXFDB::SXFDB()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXFDB::~SXFDB()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXFDB::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXFDB(*this));
|
||||
}
|
||||
|
||||
void SXFDB::readFields(CFRecord& record)
|
||||
{
|
||||
unsigned short flags;
|
||||
record >> flags >> ifdbParent >> ifdbBase >> citmUnq >> csxoper >> cisxoper >> catm;
|
||||
record >> stFieldName;
|
||||
|
||||
fAllAtoms = GETBIT(flags, 0);
|
||||
fSomeUnhashed = GETBIT(flags, 1);
|
||||
fUsed = GETBIT(flags, 2);
|
||||
fHasParent = GETBIT(flags, 3);
|
||||
fRangeGroup = GETBIT(flags, 4);
|
||||
fNumField = GETBIT(flags, 5);
|
||||
fTextEtcField = GETBIT(flags, 7);
|
||||
fnumMinMaxValid = GETBIT(flags, 8);
|
||||
fShortIitms = GETBIT(flags, 9);
|
||||
fNonDates = GETBIT(flags, 10);
|
||||
fDateInField = GETBIT(flags, 11);
|
||||
fServerBased = GETBIT(flags, 13);
|
||||
fCantGetUniqueItems = GETBIT(flags, 14);
|
||||
fCalculatedField = GETBIT(flags, 15);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,78 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/BiffString.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXFDB: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXFDB)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXFDB)
|
||||
public:
|
||||
SXFDB();
|
||||
~SXFDB();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXFDB;
|
||||
|
||||
bool fAllAtoms;
|
||||
bool fSomeUnhashed;
|
||||
bool fUsed;
|
||||
bool fHasParent;
|
||||
bool fRangeGroup;
|
||||
bool fNumField;
|
||||
bool fTextEtcField;
|
||||
bool fnumMinMaxValid;
|
||||
bool fShortIitms;
|
||||
bool fNonDates;
|
||||
bool fDateInField;
|
||||
bool fServerBased;
|
||||
bool fCantGetUniqueItems;
|
||||
bool fCalculatedField;
|
||||
unsigned short ifdbParent;
|
||||
unsigned short ifdbBase;
|
||||
unsigned short citmUnq;
|
||||
unsigned short csxoper;
|
||||
unsigned short cisxoper;
|
||||
unsigned short catm;
|
||||
XLUnicodeString stFieldName;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXFDBType.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXFDBType::SXFDBType()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXFDBType::~SXFDBType()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXFDBType::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXFDBType(*this));
|
||||
}
|
||||
|
||||
void SXFDBType::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXFDBType: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXFDBType)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXFDBType)
|
||||
public:
|
||||
SXFDBType();
|
||||
~SXFDBType();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXFDBType;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXFormula.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXFormula::SXFormula()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXFormula::~SXFormula()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXFormula::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXFormula(*this));
|
||||
}
|
||||
|
||||
void SXFormula::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXFormula: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXFormula)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXFormula)
|
||||
public:
|
||||
SXFormula();
|
||||
~SXFormula();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXFormula;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXInt.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXInt::SXInt()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXInt::~SXInt()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXInt::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXInt(*this));
|
||||
}
|
||||
|
||||
void SXInt::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXInt: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXInt)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXInt)
|
||||
public:
|
||||
SXInt();
|
||||
~SXInt();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXInt;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXNum.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXNum::SXNum()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXNum::~SXNum()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXNum::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXNum(*this));
|
||||
}
|
||||
|
||||
void SXNum::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXNum: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXNum)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXNum)
|
||||
public:
|
||||
SXNum();
|
||||
~SXNum();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXNum;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXPair.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXPair::SXPair()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXPair::~SXPair()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXPair::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXPair(*this));
|
||||
}
|
||||
|
||||
void SXPair::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXPair: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXPair)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXPair)
|
||||
public:
|
||||
SXPair();
|
||||
~SXPair();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXPair;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SXRng.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SXRng::SXRng()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SXRng::~SXRng()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SXRng::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SXRng(*this));
|
||||
}
|
||||
|
||||
void SXRng::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SXRng: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SXRng)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SXRng)
|
||||
public:
|
||||
SXRng();
|
||||
~SXRng();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSXRng;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -52,7 +52,7 @@ BaseObjectPtr SXViewLink::clone()
|
||||
|
||||
void SXViewLink::readFields(CFRecord& record)
|
||||
{
|
||||
unsigned short unused, reserved;
|
||||
unsigned short unused, reserved;
|
||||
|
||||
record >> rt >> unused >> reserved >> cch;
|
||||
|
||||
|
||||
@ -55,7 +55,8 @@ void ScenMan::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### ScenMan record is not implemented")
|
||||
Log::error("ScenMan record is not implemented.");
|
||||
//record >> some_value;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -68,7 +68,6 @@ void SortData::readFields(CFRecord& record)
|
||||
std::list<CFRecordPtr>& recs = continue_records[rt_ContinueFrt12];
|
||||
while(!recs.empty())
|
||||
{
|
||||
#pragma message("############################ frtRefHeader skipped here")
|
||||
record.appendRawData(recs.front()->getData() + 12, recs.front()->getDataSize() - 12);
|
||||
recs.pop_front();
|
||||
}
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxBool.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxBool::SxBool()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxBool::~SxBool()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SxBool::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxBool(*this));
|
||||
}
|
||||
|
||||
void SxBool::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxBool: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxBool)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxBool)
|
||||
public:
|
||||
SxBool();
|
||||
~SxBool();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxBool;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxErr.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxErr::SxErr()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxErr::~SxErr()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SxErr::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxErr(*this));
|
||||
}
|
||||
|
||||
void SxErr::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxErr: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxErr)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxErr)
|
||||
public:
|
||||
SxErr();
|
||||
~SxErr();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxErr;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
109
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/SxFmla.cpp
Normal file
109
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/SxFmla.cpp
Normal file
@ -0,0 +1,109 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxFmla.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxFmla::SxFmla()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxFmla::~SxFmla()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr SxFmla::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxFmla(*this));
|
||||
}
|
||||
|
||||
void SxFmla::readFields(CFRecord& record)
|
||||
{
|
||||
//record >> csxformat >> cchErrorString >> cchNullString >> cchTag >> csxselect;
|
||||
|
||||
//_UINT32 flags;
|
||||
//record >> crwPage >> ccolPage >> flags;
|
||||
|
||||
//fAcrossPageLay = GETBIT(flags, 0);
|
||||
//cWrapPage = GETBITS(flags, 1, 9);
|
||||
//fEnableWizard = GETBIT(flags, 16);
|
||||
//fEnableDrilldown = GETBIT(flags, 17);
|
||||
//fEnableFieldDialog = GETBIT(flags, 18);
|
||||
//fPreserveFormatting = GETBIT(flags, 19);
|
||||
//fMergeLabels = GETBIT(flags, 20);
|
||||
//fDisplayErrorString = GETBIT(flags, 21);
|
||||
//fDisplayNullString = GETBIT(flags, 22);
|
||||
//fSubtotalHiddenPageItems = GETBIT(flags, 23);
|
||||
|
||||
//record >> cchPageFieldStyle >> cchTableStyle >> cchVacateStyle;
|
||||
|
||||
//if (cchErrorString > 0 && cchErrorString != 0xffff)
|
||||
//{
|
||||
// stError.setSize(cchErrorString);
|
||||
// record >> stError;
|
||||
//}
|
||||
//if (cchNullString > 0 && cchNullString != 0xffff)
|
||||
//{
|
||||
// stDisplayNull.setSize(cchNullString);
|
||||
// record >> stDisplayNull;
|
||||
//}
|
||||
//if (cchTag > 0 && cchTag != 0xffff)
|
||||
//{
|
||||
// stTag.setSize(cchTag);
|
||||
// record >> stTag;
|
||||
//}
|
||||
//if (cchPageFieldStyle > 0 && cchPageFieldStyle != 0xffff)
|
||||
//{
|
||||
// stPageFieldStyle.setSize(cchPageFieldStyle);
|
||||
// record >> stPageFieldStyle;
|
||||
//}
|
||||
//if (cchTableStyle > 0 && cchTableStyle != 0xffff)
|
||||
//{
|
||||
// stTableStyle.setSize(cchTableStyle);
|
||||
// record >> cchTableStyle;
|
||||
//}
|
||||
//if (cchVacateStyle > 0 && cchVacateStyle != 0xffff)
|
||||
//{
|
||||
// stVacateStyle.setSize(cchVacateStyle);
|
||||
// record >> cchVacateStyle;
|
||||
//}
|
||||
|
||||
//int skip = record.getDataSize() - record.getRdPtr();
|
||||
//record.skipNunBytes(skip);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/BiffString.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxFmla: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxFmla)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxFmla)
|
||||
public:
|
||||
SxFmla();
|
||||
~SxFmla();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxFmla;
|
||||
|
||||
//unsigned short csxformat;
|
||||
//unsigned short cchErrorString;
|
||||
//unsigned short cchNullString;
|
||||
//unsigned short cchTag;
|
||||
//unsigned short csxselect;
|
||||
|
||||
//DRw crwPage;
|
||||
//ColU ccolPage;
|
||||
|
||||
//bool fAcrossPageLay;
|
||||
//unsigned char cWrapPage;
|
||||
//bool fEnableWizard;
|
||||
//bool fEnableDrilldown;
|
||||
//bool fEnableFieldDialog;
|
||||
//bool fPreserveFormatting;
|
||||
//bool fMergeLabels;
|
||||
//bool fDisplayErrorString;
|
||||
//bool fDisplayNullString;
|
||||
//bool fSubtotalHiddenPageItems;
|
||||
|
||||
//unsigned short cchPageFieldStyle;
|
||||
//unsigned short cchTableStyle;
|
||||
//unsigned short cchVacateStyle;
|
||||
|
||||
//XLUnicodeStringNoCch stError;
|
||||
//XLUnicodeStringNoCch stDisplayNull;
|
||||
//XLUnicodeStringNoCch stTag;
|
||||
//XLUnicodeStringNoCch stPageFieldStyle;
|
||||
//XLUnicodeStringNoCch stTableStyle;
|
||||
//XLUnicodeStringNoCch stVacateStyle;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxIsxoper.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxIsxoper::SxIsxoper()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxIsxoper::~SxIsxoper()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr SxIsxoper::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxIsxoper(*this));
|
||||
}
|
||||
|
||||
void SxIsxoper::readFields(CFRecord& record)
|
||||
{
|
||||
int size = (record.getDataSize() - record.getRdPtr()) / 2;
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
unsigned short val;
|
||||
record >> val;
|
||||
rgSxIsxoper.push_back(val);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecordContinued.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxIsxoper: public BiffRecordContinued
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxIsxoper)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxIsxoper)
|
||||
public:
|
||||
SxIsxoper();
|
||||
~SxIsxoper();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxIsxoper;
|
||||
|
||||
std::vector<unsigned short> rgSxIsxoper;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxName.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxName::SxName()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxName::~SxName()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SxName::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxName(*this));
|
||||
}
|
||||
|
||||
void SxName::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxName: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxName)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxName)
|
||||
public:
|
||||
SxName();
|
||||
~SxName();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxName;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
#include "SxNil.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
SxNil::SxNil()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SxNil::~SxNil()
|
||||
{
|
||||
}
|
||||
|
||||
BaseObjectPtr SxNil::clone()
|
||||
{
|
||||
return BaseObjectPtr(new SxNil(*this));
|
||||
}
|
||||
|
||||
void SxNil::readFields(CFRecord& record)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
//#include "../Biff_structures/CellRangeRef.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
class SxNil: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(SxNil)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(SxNil)
|
||||
public:
|
||||
SxNil();
|
||||
~SxNil();
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeSxNil;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -170,7 +170,7 @@ int TxO::serialize (std::wostream & _stream)
|
||||
|
||||
CP_XML_WRITER(_stream)
|
||||
{
|
||||
for (int i = 0 ; i < TxOruns.rgTxoRuns.size(); i++)
|
||||
for (size_t i = 0 ; i < TxOruns.rgTxoRuns.size(); i++)
|
||||
{
|
||||
Run *run = dynamic_cast<Run*>(TxOruns.rgTxoRuns[i].get());
|
||||
if (run == NULL) continue;
|
||||
|
||||
@ -53,9 +53,34 @@ BaseObjectPtr TxtQry::clone()
|
||||
|
||||
void TxtQry::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### TxtQry record is not implemented")
|
||||
Log::error("TxtQry record is not implemented.");
|
||||
//record >> some_value;
|
||||
unsigned short reserved, flags1, unused1;
|
||||
unsigned char unused2, flags2;
|
||||
|
||||
record >> rt >> flags1 >> unused1 >> rowStartAt >> flags2 >> chCustom >> unused2 >> itwf >> chDecimal >> chThousSep;
|
||||
|
||||
fFile = GETBIT(flags1, 0);
|
||||
fDelimited = GETBIT(flags1, 1);
|
||||
iCpid = GETBITS(flags1, 2, 3);
|
||||
fPromptForFile = GETBIT(flags1, 4);
|
||||
iCpidNew = GETBITS(flags1, 5, 14);
|
||||
fUseNewiCpid = GETBIT(flags1, 15);
|
||||
|
||||
fTab = GETBIT(flags2, 0);
|
||||
fSpace = GETBIT(flags2, 1);
|
||||
fComma = GETBIT(flags2, 2);
|
||||
fSemiColon = GETBIT(flags2, 3);
|
||||
fCustom = GETBIT(flags2, 4);
|
||||
fConsecutive = GETBIT(flags2, 5);
|
||||
iTextDelm = GETBITS(flags1, 6, 7);
|
||||
|
||||
for (int i = 0 ; i < itwf; i++)
|
||||
{
|
||||
TxtWf val;
|
||||
record >> val;
|
||||
rgtxtwf.push_back(val);
|
||||
}
|
||||
|
||||
record >> rgchFile;
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,12 +32,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/TxtWf.h"
|
||||
#include "../Biff_structures/BiffString.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of TxtQry record in BIFF8
|
||||
class TxtQry: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(TxtQry)
|
||||
@ -50,9 +50,29 @@ public:
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeTxtQry;
|
||||
|
||||
static const ElementType type = typeTxtQry;
|
||||
|
||||
unsigned short rt;
|
||||
bool fFile;
|
||||
bool fDelimited;
|
||||
unsigned char iCpid;
|
||||
bool fPromptForFile;
|
||||
unsigned char iCpidNew;
|
||||
bool fUseNewiCpid;
|
||||
_INT32 rowStartAt;
|
||||
bool fTab;
|
||||
bool fSpace;
|
||||
bool fComma;
|
||||
bool fSemiColon;
|
||||
bool fCustom;
|
||||
bool fConsecutive;
|
||||
unsigned char iTextDelm;
|
||||
unsigned short chCustom;
|
||||
_INT32 itwf;
|
||||
unsigned char chDecimal;
|
||||
unsigned char chThousSep;
|
||||
std::vector<TxtWf> rgtxtwf;
|
||||
XLUnicodeString rgchFile;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -54,7 +54,8 @@ void WOpt::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### WOpt record is not implemented")
|
||||
Log::error("WOpt record is not implemented.");
|
||||
//record >> some_value;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -55,7 +55,7 @@ void WebPub::readFields(CFRecord& record)
|
||||
#pragma message("####################### WebPub record is not implemented")
|
||||
Log::error("WebPub record is not implemented.");
|
||||
|
||||
//record >> some_value;
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -35,16 +35,6 @@
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
YMult::YMult()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
YMult::~YMult()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BaseObjectPtr YMult::clone()
|
||||
{
|
||||
return BaseObjectPtr(new YMult(*this));
|
||||
@ -52,10 +42,12 @@ BaseObjectPtr YMult::clone()
|
||||
|
||||
void YMult::readFields(CFRecord& record)
|
||||
{
|
||||
#pragma message("####################### YMult record is not implemented")
|
||||
Log::error("YMult record is not implemented.");
|
||||
unsigned short flags;
|
||||
|
||||
record >> frtHeaderOld >> axmid >> numLabelMultiplier >> flags;
|
||||
|
||||
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
|
||||
fAutoShowMultiplier = GETBIT(flags, 0);
|
||||
fBeingEditted = GETBIT(flags, 1);
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -32,26 +32,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "BiffRecord.h"
|
||||
#include "../Biff_structures/FrtHeaderOld.h"
|
||||
#include "../Biff_structures/Xnum.h"
|
||||
|
||||
namespace XLS
|
||||
{
|
||||
|
||||
|
||||
// Logical representation of YMult record in BIFF8
|
||||
class YMult: public BiffRecord
|
||||
{
|
||||
BIFF_RECORD_DEFINE_TYPE_INFO(YMult)
|
||||
BASE_OBJECT_DEFINE_CLASS_NAME(YMult)
|
||||
public:
|
||||
YMult();
|
||||
~YMult();
|
||||
YMult(){}
|
||||
~YMult(){}
|
||||
|
||||
BaseObjectPtr clone();
|
||||
|
||||
void readFields(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeYMult;
|
||||
static const ElementType type = typeYMult;
|
||||
|
||||
FrtHeaderOld frtHeaderOld;
|
||||
short axmid;
|
||||
Xnum numLabelMultiplier;
|
||||
bool fAutoShowMultiplier;
|
||||
bool fBeingEditted;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -205,5 +205,31 @@ const bool BiffString::getWideRecommendation() const
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//-----------------------------------------------------------------
|
||||
BiffStructurePtr XLUnicodeStringSegmented::clone()
|
||||
{
|
||||
return BiffStructurePtr(new XLUnicodeStringSegmented(*this));
|
||||
}
|
||||
void XLUnicodeStringSegmented::load(CFRecord& record)
|
||||
{
|
||||
record >> cchTotal;
|
||||
|
||||
if (cchTotal < 1) return;
|
||||
|
||||
_UINT32 cchTotal_test = 0;
|
||||
while(true)
|
||||
{
|
||||
if (record.isEOF())
|
||||
break;
|
||||
XLUnicodeString string;
|
||||
record >> string;
|
||||
|
||||
cchTotal_test += string.value().length();
|
||||
|
||||
arStrings.push_back(string.value());
|
||||
|
||||
strTotal += string.value();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
@ -211,60 +211,24 @@ CFRecord& operator>>(CFRecord& record, XLUnicodeString_T<cchType, det_id, cch_wh
|
||||
return record;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
//template<class cchType, AW_DETERMINATION det_id, CCH_SOURCE cch_where>
|
||||
//CFRecord& operator<<(CFRecord& record, XLUnicodeString_T<cchType, det_id, cch_where>& val)
|
||||
//{
|
||||
// size_t struct_size = 0;
|
||||
// bool is_wide = val.getWideRecommendation();
|
||||
//
|
||||
// switch(cch_where)
|
||||
// {
|
||||
// case cch_READ_FROM_RECORD:
|
||||
// {
|
||||
// cchType cch_l = static_cast<cchType>(val.getSize()); // Just to conform size write.
|
||||
// if(aw_READ_FROM_CCH == det_id)
|
||||
// {
|
||||
// SETBIT(cch_l, ((sizeof(cchType) * 8) - 1), is_wide);
|
||||
// }
|
||||
// record << cch_l;
|
||||
// struct_size += sizeof(cchType);
|
||||
// break;
|
||||
// }
|
||||
// case cch_PASSED_AS_AN_ARGUMENT:
|
||||
// // Means cch already stored outside
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// switch(det_id)
|
||||
// {
|
||||
// case aw_READ_FROM_RECORD_IF_CCH_NOT_ZERO:
|
||||
// if(0 == val.getSize()) break;
|
||||
// case aw_READ_FROM_RECORD:
|
||||
// {
|
||||
// unsigned char fHighByte = is_wide ? 1 : 0;
|
||||
// record << fHighByte;
|
||||
// struct_size += sizeof(fHighByte);
|
||||
// break;
|
||||
// }
|
||||
// case aw_WIDE:
|
||||
// is_wide = true;
|
||||
// break;
|
||||
// case aw_ANSI:
|
||||
// is_wide = false;
|
||||
// break;
|
||||
// case aw_READ_FROM_CCH:
|
||||
// // See cch_READ_FROM_RECORD case in the previous switch
|
||||
// break;
|
||||
// }
|
||||
// struct_size += (val.getSize() << (is_wide ? 1 : 0));
|
||||
// val.store(record, is_wide);
|
||||
// val.setStructSize(struct_size); // The only usage is DXFFntD::load
|
||||
// return record;
|
||||
//}
|
||||
//
|
||||
//
|
||||
class XLUnicodeStringSegmented : public BiffStructure
|
||||
{
|
||||
BASE_STRUCTURE_DEFINE_CLASS_NAME(XLUnicodeStringSegmented)
|
||||
public:
|
||||
|
||||
XLUnicodeStringSegmented(){}
|
||||
~XLUnicodeStringSegmented(){}
|
||||
|
||||
BiffStructurePtr clone();
|
||||
|
||||
virtual void load(CFRecord& record);
|
||||
|
||||
static const ElementType type = typeStringSegmented;
|
||||
|
||||
_UINT32 cchTotal;
|
||||
std::vector<std::wstring> arStrings;
|
||||
std::wstring strTotal;
|
||||
};
|
||||
|
||||
} // namespace XLS
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user