Compare commits

...

14 Commits

Author SHA1 Message Date
a2bbb1640c project for mac debug 2017-07-20 17:46:38 +03:00
7388bf871f refactoring 2017-07-20 17:41:28 +03:00
493238d656 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2017-07-20 16:40:01 +03:00
ea8dc009c9 OdfFormatReader - pilot(pivot) tables 2017-07-20 16:39:23 +03:00
9ade820313 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop
* 'develop' of https://github.com/ONLYOFFICE/core:
  .
  fix unsize shape text rect
  XlsFormat - pivot charts
  fix bug #35396. version up.
  .
  OdfFormatWriter - data label position XlsFormatReader - fix pivots
2017-07-20 16:38:41 +03:00
358c1613ad fix bug #35395 2017-07-20 16:38:30 +03:00
b3a83ad699 . 2017-07-20 13:28:58 +03:00
8d4e78ed40 fix unsize shape text rect 2017-07-20 13:28:52 +03:00
bde2c73f64 XlsFormat - pivot charts 2017-07-20 11:14:47 +03:00
66fe9e6447 Merge remote-tracking branch 'origin/hotfix/v4.4.2' into develop 2017-07-19 12:25:21 +03:00
f6d745cd25 Merge remote-tracking branch 'origin/hotfix/v4.4.2' into develop 2017-07-20 11:21:03 +03:00
002d30454c fix bug #35396. version up. 2017-07-20 11:19:07 +03:00
ae2e9a5f26 . 2017-07-19 12:22:58 +03:00
c985d1e0a2 OdfFormatWriter - data label position
XlsFormatReader - fix pivots
2017-07-18 19:25:39 +03:00
77 changed files with 1919 additions and 214 deletions

View File

@ -2087,6 +2087,7 @@ namespace DocFileFormat
nElemSize = 4;
bTruncated = true;
}
else nElemSize = 2;
long dwSize = nElems * nElemSize;

View File

@ -105,6 +105,7 @@ SOURCES += \
../src/odf/table_calculation_settings.cpp \
../src/odf/table_docx.cpp \
../src/odf/table_named_expressions.cpp \
../src/odf/table_data_pilot_tables.cpp \
../src/odf/table_pptx.cpp \
../src/odf/table_xlsx.cpp \
../src/odf/templates.cpp \
@ -209,6 +210,8 @@ SOURCES += \
../src/odf/datatypes/wrapoption.cpp \
../src/odf/datatypes/writingmode.cpp \
../src/odf/datatypes/xlink.cpp \
../src/odf/datatypes/chartlabelposition.cpp \
../src/odf/datatypes/grandtotal.cpp \
../src/docx/xlsx_conditionalFormatting.cpp \
../src/docx/xlsx_dxfs.cpp \
../src/docx/docx_content_type.cpp \
@ -462,6 +465,8 @@ HEADERS += \
../src/odf/datatypes/wrapoption.h \
../src/odf/datatypes/writingmode.h \
../src/odf/datatypes/xlink.h \
../src/odf/datatypes/chartlabelposition.h \
../src/odf/datatypes/grandtotal.h \
../src/docx/docx_content_type.h \
../src/docx/docx_conversion_context.h \
../src/docx/docx_conversion_state.h \

View File

@ -88,6 +88,7 @@
#include "../src/odf/table_calculation_settings.cpp"
#include "../src/odf/table_docx.cpp"
#include "../src/odf/table_named_expressions.cpp"
#include "../src/odf/table_data_pilot_tables.cpp"
#include "../src/odf/table_pptx.cpp"
#include "../src/odf/table_xlsx.cpp"
#include "../src/odf/templates.cpp"

View File

@ -119,3 +119,5 @@
#include "../src/odf/datatypes/wrapoption.cpp"
#include "../src/odf/datatypes/writingmode.cpp"
#include "../src/odf/datatypes/xlink.cpp"
#include "../src/odf/datatypes/chartlabelposition.cpp"
#include "../src/odf/datatypes/grandtotal.cpp"

View File

@ -235,7 +235,7 @@ std::wstring mediaitems::add_or_find(const std::wstring & href, RelsType type, b
outputPath = outputPath.substr(0, n_svm) + L".png";
}
//------------------------------------------------
if (inputFileName.empty()) return L"";
//if (inputFileName.empty()) return L""; - Book 27.ods - пустые линки на картинки
id = std::wstring(L"picId") + std::to_wstring(count_image + 1);
count_image++;

View File

@ -124,6 +124,7 @@ void oox_chart_series::parse_properties()
data_labels_->set_showCatName(*boolVal);
}
odf_reader::GetProperty(content_.properties_, L"data-label-number", intVal);
if (intVal)
{
if (!data_labels_) data_labels_ = oox_data_labels();
@ -131,6 +132,13 @@ void oox_chart_series::parse_properties()
if (*intVal == 1) data_labels_->set_showVal(true);
if (*intVal == 2) data_labels_->set_showPercent(true);
}
odf_reader::GetProperty(content_.properties_, L"label-position", intVal);
if (intVal)
{
if (!data_labels_) data_labels_ = oox_data_labels();
data_labels_->set_position(*intVal);
}
}
void oox_chart_series::setValues(int ind, std::vector<std::wstring> & values)
{

View File

@ -49,6 +49,8 @@ oox_data_labels::oox_data_labels()//подписи на значениях
showPercent_ = false;
showSerName_ = false;
showVal_ = false;
position_ = -1; //not set
}
void oox_data_labels::set_common_dLbl ( std::vector<odf_reader::_property> & text_properties)
@ -105,6 +107,29 @@ void oox_data_labels::oox_serialize(std::wostream & _Wostream)
}
}
}
if (position_ >= 0 && position_ < 13)
{
CP_XML_NODE(L"c:dLblPos")
{
switch (position_)
{
case 0: CP_XML_ATTR(L"val", L"bestFit");break;
case 1: CP_XML_ATTR(L"val", L"b"); break;
case 2: CP_XML_ATTR(L"val", L"b"); break;
case 3: CP_XML_ATTR(L"val", L"b"); break;
case 4: CP_XML_ATTR(L"val", L"ctr"); break;
case 5: CP_XML_ATTR(L"val", L"inEnd"); break;
case 6: CP_XML_ATTR(L"val", L"l"); break;
case 7: CP_XML_ATTR(L"val", L"inBase"); break;
case 8: CP_XML_ATTR(L"val", L"outEnd"); break;
case 9: CP_XML_ATTR(L"val", L"r"); break;
case 10: CP_XML_ATTR(L"val", L"t"); break;
case 11: CP_XML_ATTR(L"val", L"t"); break;
case 12: CP_XML_ATTR(L"val", L"t"); break;
}
}
}
CP_XML_NODE(L"c:showLegendKey")
{

View File

@ -59,8 +59,10 @@ public:
void set_showSerName (bool Val){showSerName_ = Val;}
void set_showVal (bool Val){showVal_ = Val;}
void add_dLbl(int ind, std::vector<odf_reader::_property> & text_properties);
void set_common_dLbl ( std::vector<odf_reader::_property> & text_properties);
void set_position (int Val){position_ = Val;}
void add_dLbl (int ind, std::vector<odf_reader::_property> & text_properties);
void set_common_dLbl ( std::vector<odf_reader::_property> & text_properties);
private:
@ -72,6 +74,8 @@ private:
bool showSerName_; // (Show Series Name) §21.2.2.188
bool showVal_; // (Show Value) §21.2.2.189
int position_;
std::vector<odf_reader::_property> textPr_;
std::map<int, std::vector<odf_reader::_property>> dLbls_;

View File

@ -514,7 +514,7 @@ void xlsx_drawing_context::process_position_properties(drawing_object_descriptio
}
void xlsx_drawing_context::process_image(drawing_object_description & obj,_xlsx_drawing & drawing, xlsx_drawings_ptr xlsx_drawings_)
void xlsx_drawing_context::process_image(drawing_object_description & obj, _xlsx_drawing & drawing, xlsx_drawings_ptr xlsx_drawings_)
{
if (!drawing.fill.bitmap)
{

View File

@ -0,0 +1,85 @@
/*
* (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 "chartlabelposition.h"
#include <boost/algorithm/string.hpp>
#include <ostream>
namespace cpdoccore { namespace odf_types {
std::wostream & operator << (std::wostream & _Wostream, const chart_label_position & _Val)
{
switch(_Val.get_type())
{
case chart_label_position::avoid_overlap: _Wostream << L"avoid-overlap"; break;
case chart_label_position::bottom: _Wostream << L"bottom"; break;
case chart_label_position::bottom_left: _Wostream << L"bottom-left"; break;
case chart_label_position::bottom_right: _Wostream << L"bottom_right"; break;
case chart_label_position::center: _Wostream << L"center"; break;
case chart_label_position::inside: _Wostream << L"insidev"; break;
case chart_label_position::left: _Wostream << L"left"; break;
case chart_label_position::near_origin: _Wostream << L"near-origin"; break;
case chart_label_position::outside: _Wostream << L"outside"; break;
case chart_label_position::right: _Wostream << L"right"; break;
case chart_label_position::top: _Wostream << L"top"; break;
case chart_label_position::top_left: _Wostream << L"top-left"; break;
case chart_label_position::top_right: _Wostream << L"top-right"; break;
}
return _Wostream;
}
chart_label_position chart_label_position::parse(const std::wstring & Str)
{
std::wstring tmp = Str;
boost::algorithm::to_lower(tmp);
if (tmp == L"avoid-overlap") return chart_label_position( avoid_overlap );
else if (tmp == L"bottom") return chart_label_position( bottom );
else if (tmp == L"bottom-left") return chart_label_position( bottom_left );
else if (tmp == L"bottom-right")return chart_label_position( bottom_right );
else if (tmp == L"center") return chart_label_position( center );
else if (tmp == L"inside") return chart_label_position( inside );
else if (tmp == L"left") return chart_label_position( left );
else if (tmp == L"near-origin") return chart_label_position( near_origin );
else if (tmp == L"outside") return chart_label_position( outside );
else if (tmp == L"right") return chart_label_position( right );
else if (tmp == L"top") return chart_label_position( top );
else if (tmp == L"top-left") return chart_label_position( top_left );
else if (tmp == L"top-right") return chart_label_position( top_right );
else
{
return chart_label_position( near_origin );
}
}
} }

View File

@ -0,0 +1,84 @@
/*
* (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 <iosfwd>
#include <string>
#include "odfattributes.h"
//
namespace cpdoccore { namespace odf_types {
class chart_label_position
{
public:
enum type
{
avoid_overlap,
bottom,
bottom_left,
bottom_right,
center,
inside,
left,
near_origin,
outside,
right,
top,
top_left,
top_right
};
chart_label_position() {}
chart_label_position(type _Type) : type_(_Type)
{}
type get_type() const
{
return type_;
};
static chart_label_position parse(const std::wstring & Str);
private:
type type_;
};
std::wostream & operator << (std::wostream & _Wostream, const chart_label_position & _Val);
}
APPLY_PARSE_XML_ATTRIBUTES(odf_types::chart_label_position);
}

View File

@ -62,7 +62,6 @@ chart_solid_type chart_solid_type::parse(const std::wstring & Str)
return chart_solid_type( pyramid );
else
{
BOOST_THROW_EXCEPTION( errors::invalid_attribute() );
return chart_solid_type( cuboid );
}
}

View File

@ -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 "grandtotal.h"
#include <boost/algorithm/string.hpp>
#include <ostream>
namespace cpdoccore { namespace odf_types {
std::wostream & operator << (std::wostream & _Wostream, const grand_total & _Val)
{
switch(_Val.get_type())
{
case grand_total::none: _Wostream << L"none"; break;
case grand_total::both: _Wostream << L"both"; break;
case grand_total::column: _Wostream << L"column"; break;
case grand_total::row: _Wostream << L"row"; break;
}
return _Wostream;
}
grand_total grand_total::parse(const std::wstring & Str)
{
std::wstring tmp = Str;
boost::algorithm::to_lower(tmp);
if (tmp == L"none") return grand_total( none );
else if (tmp == L"both") return grand_total( both );
else if (tmp == L"column") return grand_total( column );
else if (tmp == L"row") return grand_total( row );
else
{
return grand_total( none );
}
}
} }

View File

@ -0,0 +1,67 @@
/*
* (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 <iosfwd>
#include <string>
#include "odfattributes.h"
namespace cpdoccore { namespace odf_types {
class grand_total
{
public:
enum type
{
none,
both,
column,
row
};
grand_total() {}
grand_total(type _Type) : type_(_Type) {}
type get_type() const { return type_; };
static grand_total parse(const std::wstring & Str);
private:
type type_;
};
std::wostream & operator << (std::wostream & _Wostream, const grand_total & _Val);
}
APPLY_PARSE_XML_ATTRIBUTES(odf_types::grand_total);
}

View File

@ -219,6 +219,15 @@ enum ElementType
typeTableTableRowGroup,
typeTableTableRowNoGroup,
typeTableTableSource,
typeTableDataPilotTables,
typeTableDataPilotTable,
typeTableDataPilotField,
typeTableDatabaseSourceTable,
typeTableDatabaseSourceQuery,
typeTableDatabaseSourceSql,
typeTableSourceCellRange,
typeTableSourceService,
typeOfficeBody,
typeOfficeText,

View File

@ -34,7 +34,6 @@
#include <cpdoccore/xml/xmlchar.h>
#include <cpdoccore/xml/attributes.h>
#include <cpdoccore/xml/attributes.h>
#include "serialize_elements.h"
@ -52,6 +51,10 @@ void office_spreadsheet::add_child_element( xml::sax * Reader, const std::wstrin
{
CP_CREATE_ELEMENT(table_database_ranges_);
}
else if CP_CHECK_NAME(L"table", L"data-pilot-tables")
{
CP_CREATE_ELEMENT(table_data_pilot_tables_);
}
else
CP_CREATE_ELEMENT(content_);
}
@ -87,6 +90,10 @@ void office_spreadsheet::xlsx_convert(oox::xlsx_conversion_context & Context)
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
for (size_t i = 0; i < table_data_pilot_tables_.size(); i++)
{
table_data_pilot_tables_[i]->xlsx_convert(Context);
}
Context.end_office_spreadsheet();
}

View File

@ -66,6 +66,7 @@ public:
// TODO: table-decls
office_element_ptr_array table_database_ranges_;
office_element_ptr_array table_data_pilot_tables_;
office_element_ptr tracked_changes_;//??
office_element_ptr_array content_;

View File

@ -151,6 +151,9 @@ void style_chart_properties::add_attributes( const xml::attributes_wc_ptr & Attr
CP_APPLY_ATTR(L"chart:error-category", strVal);
if (strVal)content_.push_back(_property(L"error-category", chart_error_category(chart_error_category::parse(strVal.get())).get_type() ));
CP_APPLY_ATTR(L"chart:label-position", strVal);
if (strVal)content_.push_back(_property(L"label-position", chart_label_position(chart_label_position::parse(strVal.get())).get_type() ));
common_rotation_angle_attlist_.add_attributes(Attributes);
//CP_APPLY_ATTR(L"chart:scale-text", chart_scale_text_ );

View File

@ -49,6 +49,7 @@
#include "datatypes/charterrorcategory.h"
#include "datatypes/chartseriessource.h"
#include "datatypes/chartregressiontype.h"
#include "datatypes/chartlabelposition.h"
#include "datatypes/direction.h"
namespace cpdoccore {

View File

@ -35,11 +35,13 @@
#include <cpdoccore/CPOptional.h>
#include <cpdoccore/xml/xmlelement.h>
#include <cpdoccore/xml/nodetype.h>
#include "office_elements.h"
#include "office_elements_create.h"
#include "table_named_expressions.h"
#include "table_database_ranges.h"
#include "table_data_pilot_tables.h"
#include "calcext_elements.h"
#include "datatypes/tablemode.h"

View File

@ -0,0 +1,209 @@
/*
* (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 "table_data_pilot_tables.h"
#include <cpdoccore/xml/xmlchar.h>
#include <cpdoccore/xml/attributes.h>
#include "serialize_elements.h"
namespace cpdoccore {
using namespace odf_types;
namespace odf_reader {
//-------------------------------------------------------------------------------------------------
const wchar_t * table_data_pilot_tables::ns = L"table";
const wchar_t * table_data_pilot_tables::name = L"data-pilot-tables";
void table_data_pilot_tables::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_data_pilot_tables::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_data_pilot_tables::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_data_pilot_table::ns = L"table";
const wchar_t * table_data_pilot_table::name = L"data-pilot-table";
void table_data_pilot_table::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"table:name" , table_name_);
CP_APPLY_ATTR(L"table:application-data" , table_application_data_);
CP_APPLY_ATTR(L"table:buttons" , table_buttons_);
CP_APPLY_ATTR(L"table:drill-down-ondouble-click", table_drill_down_ondouble_click_);
CP_APPLY_ATTR(L"table:grand-total" , table_grand_total_);
CP_APPLY_ATTR(L"table:identify-categories" , table_identify_categories_);
CP_APPLY_ATTR(L"table:ignore-empty-rows" , table_ignore_empty_rows_);
CP_APPLY_ATTR(L"table:show-filterbutton" , table_show_filterbutton_);
CP_APPLY_ATTR(L"table:show-target-range-address", table_show_target_range_address_);
}
void table_data_pilot_table::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_data_pilot_table::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_data_pilot_field::ns = L"table";
const wchar_t * table_data_pilot_field::name = L"data-pilot-field";
void table_data_pilot_field::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_data_pilot_field::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_data_pilot_field::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_database_source_table::ns = L"table";
const wchar_t * table_database_source_table::name = L"database-source-table";
void table_database_source_table::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_database_source_table::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_database_source_table::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_database_source_query::ns = L"table";
const wchar_t * table_database_source_query::name = L"database-source-query";
void table_database_source_query::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_database_source_query::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_database_source_query::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_database_source_sql::ns = L"table";
const wchar_t * table_database_source_sql::name = L"database-source-sql";
void table_database_source_sql::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_database_source_sql::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_database_source_sql::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_source_cell_range::ns = L"table";
const wchar_t * table_source_cell_range::name = L"source-cell-range";
void table_source_cell_range::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_source_cell_range::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_source_cell_range::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
//-------------------------------------------------------------------------------------------------
const wchar_t * table_source_service::ns = L"table";
const wchar_t * table_source_service::name = L"source-service";
void table_source_service::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
}
void table_source_service::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
{
CP_CREATE_ELEMENT (content_);
}
void table_source_service::xlsx_convert(oox::xlsx_conversion_context & Context)
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->xlsx_convert(Context);
}
}
}
}

View File

@ -0,0 +1,227 @@
/*
* (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 <iosfwd>
#include <cpdoccore/CPOptional.h>
#include <cpdoccore/xml/xmlelement.h>
#include <cpdoccore/xml/nodetype.h>
#include "office_elements.h"
#include "office_elements_create.h"
#include "datatypes/common_attlists.h"
#include "datatypes/bool.h"
#include "datatypes/grandtotal.h"
namespace cpdoccore {
namespace odf_reader {
class table_data_pilot_tables : public office_element_impl<table_data_pilot_tables>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDataPilotTables;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_data_pilot_tables);
//-------------------------------------------------------------------------------------
class table_data_pilot_table : public office_element_impl<table_data_pilot_table>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDataPilotTable;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
_CP_OPT(std::wstring) table_name_;
_CP_OPT(std::wstring) table_application_data_;
_CP_OPT(std::wstring) table_buttons_;
_CP_OPT(odf_types::Bool) table_drill_down_ondouble_click_;
_CP_OPT(odf_types::grand_total)table_grand_total_;
_CP_OPT(odf_types::Bool) table_identify_categories_;
_CP_OPT(odf_types::Bool) table_ignore_empty_rows_;
_CP_OPT(odf_types::Bool) table_show_filterbutton_;
_CP_OPT(odf_types::Bool) table_show_target_range_address_;
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_data_pilot_table);
//-------------------------------------------------------------------------------------
class table_data_pilot_field : public office_element_impl<table_data_pilot_field>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDataPilotField;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_data_pilot_field);
//-------------------------------------------------------------------------------------
class table_database_source_table : public office_element_impl<table_database_source_table>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDatabaseSourceTable;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_database_source_table);
//-------------------------------------------------------------------------------------
class table_database_source_query : public office_element_impl<table_database_source_query>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDatabaseSourceQuery;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_database_source_query);
//-------------------------------------------------------------------------------------
class table_database_source_sql : public office_element_impl<table_database_source_sql>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableDatabaseSourceSql;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_database_source_sql);
//-------------------------------------------------------------------------------------
class table_source_cell_range : public office_element_impl<table_source_cell_range>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableSourceCellRange;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_source_cell_range);
//-------------------------------------------------------------------------------------
class table_source_service : public office_element_impl<table_source_service>
{
public:
static const wchar_t * ns;
static const wchar_t * name;
static const xml::NodeType xml_type = xml::typeElement;
static const ElementType type = typeTableSourceService;
CPDOCCORE_DEFINE_VISITABLE();
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
office_element_ptr_array content_;
};
CP_REGISTER_OFFICE_ELEMENT2(table_source_service);
//-------------------------------------------------------------------------------------
}
}

View File

@ -385,6 +385,14 @@
RelativePath="..\src\odf\datatypes\chartlabelarrangement.h"
>
</File>
<File
RelativePath="..\src\odf\datatypes\chartlabelposition.cpp"
>
</File>
<File
RelativePath="..\src\odf\datatypes\chartlabelposition.h"
>
</File>
<File
RelativePath="..\src\odf\datatypes\chartregressiontype.cpp"
>
@ -557,6 +565,14 @@
RelativePath="..\src\odf\datatypes\gradientstyle.h"
>
</File>
<File
RelativePath="..\src\odf\datatypes\grandtotal.cpp"
>
</File>
<File
RelativePath="..\src\odf\datatypes\grandtotal.h"
>
</File>
<File
RelativePath="..\src\odf\datatypes\hatchstyle.cpp"
>

View File

@ -1659,6 +1659,14 @@
RelativePath="..\src\odf\table_calculation_settings.h"
>
</File>
<File
RelativePath="..\src\odf\table_data_pilot_tables.cpp"
>
</File>
<File
RelativePath="..\src\odf\table_data_pilot_tables.h"
>
</File>
<File
RelativePath="..\src\odf\table_database_ranges.cpp"
>

View File

@ -31,7 +31,7 @@
*/
#pragma once
#include "../../../DesktopEditor/common/ASCVariant.h"
#include "../../DesktopEditor/common/ASCVariant.h"
#include <vector>

View File

@ -562,6 +562,7 @@
_IOS,
DONT_WRITE_EMBEDDED_FONTS,
AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -595,6 +596,7 @@
_IOS,
DONT_WRITE_EMBEDDED_FONTS,
AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",

View File

@ -51,7 +51,7 @@ const std::list<std::string> TxtFile::readAnsiOrCodePage() // == readUtf8without
std::list<std::string> result;
NSFile::CFileBinary file_binary;
if (file_binary.OpenFile(m_path) != S_OK) return result;
if (file_binary.OpenFile(m_path) == false) return result;
DWORD file_size = file_binary.GetFileSize();
char *file_data = new char[file_size];
@ -118,7 +118,7 @@ const std::list<std::wstring> TxtFile::readUnicode()
std::list<std::wstring> result;
NSFile::CFileBinary file_binary;
if (file_binary.OpenFile(m_path) != S_OK) return result;
if (file_binary.OpenFile(m_path) == false ) return result;
DWORD file_size = file_binary.GetFileSize();
char *file_data = new char[file_size];
@ -135,7 +135,7 @@ const std::list<std::wstring> TxtFile::readBigEndian()
std::list<std::wstring> result;
NSFile::CFileBinary file_binary;
if (file_binary.OpenFile(m_path) != S_OK) return result;
if (file_binary.OpenFile(m_path) == false) return result;
DWORD file_size = file_binary.GetFileSize();
char *file_data = new char[file_size];
@ -160,7 +160,7 @@ const std::list<std::string> TxtFile::readUtf8()
std::list<std::string> result;
NSFile::CFileBinary file_binary;
if (file_binary.OpenFile(m_path) != S_OK) return result;
if (file_binary.OpenFile(m_path) == false) return result;
DWORD file_size = file_binary.GetFileSize();
char *file_data = new char[file_size];

View File

@ -94,5 +94,6 @@ int _tmain(int argc, _TCHAR* argv[])
HRESULT hr = convert_single(argv[1]);
//HRESULT hr = convert_directory(argv[1]);
return hr;
}

View File

@ -51,7 +51,6 @@ public:
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeBRAI;

View File

@ -31,7 +31,7 @@
*/
#include "BookExt.h"
#include <Logic/Biff_structures/FrtHeader.h>
#include "../Biff_structures/FrtHeader.h"
namespace XLS
{

View File

@ -80,7 +80,7 @@ int Legend::serialize(std::wostream & _stream, int size)
{
CP_XML_NODE(L"c:legendPos")
{
if (y1Kf > 0.5)
if (y1Kf > 0.5 && y1Kf > x1Kf)
{
CP_XML_ATTR(L"val", "b");
x = x - (size - 1 ) * dx / 2;
@ -92,7 +92,7 @@ int Legend::serialize(std::wostream & _stream, int size)
y = y - (size - 1 ) * dy / 2;
dy = dy * size;
}
else if (x2Kf > 0.5)
else if (x2Kf > 0.5 && x2Kf > y2Kf)
{
CP_XML_ATTR(L"val", "l");
y = y - (size - 1 ) * dy / 2;

View File

@ -39,12 +39,10 @@ OleDbConn::OleDbConn()
{
}
OleDbConn::~OleDbConn()
{
}
BaseObjectPtr OleDbConn::clone()
{
return BaseObjectPtr(new OleDbConn(*this));
@ -52,9 +50,12 @@ BaseObjectPtr OleDbConn::clone()
void OleDbConn::readFields(CFRecord& record)
{
Log::error("OleDbConn record is not implemented.");
unsigned short flags;
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
record >> frtHeaderOld >> flags >> cst;
fPasswd = GETBIT(flags, 0);
fLocal = GETBIT(flags, 1);
}
} // namespace XLS

View File

@ -32,12 +32,11 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/FrtHeaderOld.h"
namespace XLS
{
// Logical representation of OleDbConn record in BIFF8
class OleDbConn: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(OleDbConn)
@ -47,12 +46,15 @@ public:
~OleDbConn();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeOleDbConn;
static const ElementType type = typeOleDbConn;
FrtHeaderOld frtHeaderOld;
bool fPasswd;
bool fLocal;
unsigned short cst;
};
} // namespace XLS

View File

@ -39,12 +39,10 @@ PivotChartBits::PivotChartBits()
{
}
PivotChartBits::~PivotChartBits()
{
}
BaseObjectPtr PivotChartBits::clone()
{
return BaseObjectPtr(new PivotChartBits(*this));
@ -52,8 +50,10 @@ BaseObjectPtr PivotChartBits::clone()
void PivotChartBits::readFields(CFRecord& record)
{
Log::error("PivotChartBits record is not implemented.");
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
unsigned short unused1, flags, reserved1, reserved2, reserved3;
record >> rt >> unused1 >> flags >> reserved1 >> reserved2 >> reserved3;
fGXHide = GETBIT(flags, 0);
}
} // namespace XLS

View File

@ -36,8 +36,6 @@
namespace XLS
{
// Logical representation of PivotChartBits record in BIFF8
class PivotChartBits: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(PivotChartBits)
@ -47,12 +45,13 @@ public:
~PivotChartBits();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typePivotChartBits;
static const ElementType type = typePivotChartBits;
unsigned short rt;
bool fGXHide;
};
} // namespace XLS

View File

@ -39,12 +39,10 @@ Qsi::Qsi()
{
}
Qsi::~Qsi()
{
}
BaseObjectPtr Qsi::clone()
{
return BaseObjectPtr(new Qsi(*this));
@ -52,9 +50,30 @@ BaseObjectPtr Qsi::clone()
void Qsi::readFields(CFRecord& record)
{
Log::error("Qsi record is not implemented.");
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
unsigned short flags1, flags2;
_UINT32 reserved;
record >> flags1 >> itblAutoFmt >> flags2 >> reserved >> rgchName;
fTitles = GETBIT(flags1, 0);
fRowNums = GETBIT(flags1, 1);
fDisableRefresh = GETBIT(flags1, 2);
fAsync = GETBIT(flags1, 3);
fNewAsync = GETBIT(flags1, 4);
fAutoRefresh = GETBIT(flags1, 5);
fShrink = GETBIT(flags1, 6);
fFill = GETBIT(flags1, 7);
fAutoFormat = GETBIT(flags1, 8);
fSaveData = GETBIT(flags1, 9);
fDisableEdit = GETBIT(flags1, 10);
fOverwrite = GETBIT(flags1, 13);
fibitAtrNum = GETBIT(flags2, 0);
fibitAtrFnt = GETBIT(flags2, 1);
fibitAtrAlc = GETBIT(flags2, 2);
fibitAtrBdr = GETBIT(flags2, 3);
fibitAtrPat = GETBIT(flags2, 4);
fibitAtrProt = GETBIT(flags2, 5);
}
} // namespace XLS

View File

@ -32,12 +32,11 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/BiffString.h"
namespace XLS
{
// Logical representation of Qsi record in BIFF8
class Qsi: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(Qsi)
@ -47,11 +46,31 @@ public:
~Qsi();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeQsi;
static const ElementType type = typeQsi;
bool fTitles;
bool fRowNums;
bool fDisableRefresh;
bool fAsync;
bool fNewAsync;
bool fAutoRefresh;
bool fShrink;
bool fFill;
bool fAutoFormat;
bool fSaveData;
bool fDisableEdit;
bool fOverwrite;
unsigned short itblAutoFmt; //AutoFmt8
bool fibitAtrNum;
bool fibitAtrFnt;
bool fibitAtrAlc;
bool fibitAtrBdr;
bool fibitAtrPat;
bool fibitAtrProt;
XLUnicodeString rgchName;
};
} // namespace XLS

View File

@ -39,12 +39,10 @@ Qsif::Qsif()
{
}
Qsif::~Qsif()
{
}
BaseObjectPtr Qsif::clone()
{
return BaseObjectPtr(new Qsif(*this));
@ -52,8 +50,22 @@ BaseObjectPtr Qsif::clone()
void Qsif::readFields(CFRecord& record)
{
Log::error("Qsif record is not implemented.");
record.skipNunBytes(record.getDataSize() - record.getRdPtr());
unsigned short flags1, flags2;
record >> frtHeaderOld >> flags1 >> flags2 >> idField;
fUserIns = GETBIT(flags1, 0);
fFillDown = GETBIT(flags1, 1);
fSortDes = GETBIT(flags1, 2);
iSortKey = GETBITS(flags1, 3, 10);
fRowNums = GETBIT(flags1, 11);
fSorted = GETBIT(flags1, 13);
fClipped = GETBIT(flags2, 0);
if (record.getRdPtr() >= record.getDataSize())
return;
record >> idList >> rgbTitle;
}
} // namespace XLS

View File

@ -32,12 +32,12 @@
#pragma once
#include "BiffRecord.h"
#include "../Biff_structures/FrtHeaderOld.h"
#include "../Biff_structures/BiffString.h"
namespace XLS
{
// Logical representation of Qsif record in BIFF8
class Qsif: public BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO(Qsif)
@ -47,12 +47,22 @@ public:
~Qsif();
BaseObjectPtr clone();
void readFields(CFRecord& record);
static const ElementType type = typeQsif;
static const ElementType type = typeQsif;
FrtHeaderOld frtHeaderOld;
bool fUserIns;
bool fFillDown;
bool fSortDes;
unsigned char iSortKey;
bool fRowNums;
bool fSorted;
bool fClipped;
_UINT32 idField;
_UINT32 idList;
XLUnicodeString rgbTitle;
};
} // namespace XLS

View File

@ -187,6 +187,27 @@ void SXAddl_SXCView_SXDId::readFields(CFRecord& record)
record >> stName;
}
//----------------------------------------------------------------------------
BaseObjectPtr SXAddl_SXCCacheField_SXDIfdbMempropMap::clone()
{
return BaseObjectPtr(new SXAddl_SXCCacheField_SXDIfdbMempropMap(*this));
}
void SXAddl_SXCCacheField_SXDIfdbMempropMap::readFields(CFRecord& record)
{
m_SXAddlHdr.load(record);
record.skipNunBytes(6);
int sz = record.getDataSize() - record.getRdPtr();
for (int i = 0; i < sz/2; i++)
{
unsigned short val;
record >> val;
rgMap.push_back(val);
}
}
} // namespace XLS

View File

@ -159,7 +159,14 @@ public:
class SXAddl_SXCCacheField_SXDCaption : public SXAddl {};
class SXAddl_SXCCacheField_SXDEnd : public SXAddl {};
class SXAddl_SXCCacheField_SXDId : public SXAddl {};
class SXAddl_SXCCacheField_SXDIfdbMempropMap: public SXAddl {};
class SXAddl_SXCCacheField_SXDIfdbMempropMap: public SXAddl
{
public:
virtual void readFields(CFRecord& record);
virtual BaseObjectPtr clone();
std::vector<unsigned short> rgMap;
};
class SXAddl_SXCCacheField_SXDIfdbMpMapCount: public SXAddl {};
class SXAddl_SXCCacheField_SXDProperty : public SXAddl {};
class SXAddl_SXCCacheField_SXDPropName : public SXAddl {};

View File

@ -49,11 +49,10 @@ public:
virtual void load(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs;
RgceAreaRel area;
ExtSheetPair iTabs;
RgceAreaRel area;
const CellRef& cell_base_ref;
};

View File

@ -81,8 +81,6 @@ const bool CHART::loadContent(BinProcessor& proc)
elements_.pop_back();
count--;
}
// reader.SeekNextSubstream();
return true;
}

View File

@ -101,7 +101,7 @@ int DBB::serialize(std::wostream & strm)
{
m_arSXOPER[indexOPER++]->serialize(CP_XML_STREAM());
}
else
else if (posBlob < dbb->size)
{
if (arPivotCacheFieldShortSize[i])//fShortIitms
{

View File

@ -190,11 +190,8 @@ int FDB::serialize(std::wostream & strm)
{
CP_XML_ATTR(L"name", fdb->stFieldName.value());
if (fdb_type->wTypeSql > 0)
{
CP_XML_ATTR(L"numFmtId", fdb_type->wTypeSql);
CP_XML_ATTR(L"numFmtId", fdb_type->wTypeSql);
//CP_XML_ATTR(L"sqlType", fdb_type->wTypeSql); //in db
}
if (m_arSRCSXOPER.empty() && m_arGRPSXOPER.empty() == false)
{
CP_XML_ATTR(L"databaseField", 0);
@ -250,6 +247,7 @@ int FDB::serialize(std::wostream & strm)
if (bNumber) bInteger = false;
else bNumber = true;
}
if ((bDate & bNumber) || (bNumber & bString))
{
CP_XML_ATTR(L"containsSemiMixedTypes", 1);
@ -262,13 +260,19 @@ int FDB::serialize(std::wostream & strm)
{
CP_XML_ATTR(L"containsSemiMixedTypes", 0);
}
if (bNumber) CP_XML_ATTR(L"containsNumber", 1);
if (bDate && ! (bNumber || bInteger || bString || bEmpty ))
{
CP_XML_ATTR(L"containsNonDate", 0);
}
if (bDate) CP_XML_ATTR(L"containsDate", 1);
if (!bString && (bInteger || bDate || bNumber || bEmpty))
{
CP_XML_ATTR(L"containsString", 0);
}
if (bEmpty) CP_XML_ATTR(L"containsBlank", 1);
if (bNumber) CP_XML_ATTR(L"containsNumber", 1);
if (bInteger) CP_XML_ATTR(L"containsInteger", 1);
if (!bString && (bInteger || bDate || bNumber || bEmpty))
CP_XML_ATTR(L"containsString", 0);
if (fdb->fnumMinMaxValid)
{
@ -296,8 +300,13 @@ int FDB::serialize(std::wostream & strm)
{
CP_XML_NODE(L"fieldGroup")
{
if (fdb->ifdbParent > 0)
if (fdb->fHasParent)
{
CP_XML_ATTR(L"par", fdb->ifdbParent);
CP_XML_ATTR(L"base", index);
}
else
CP_XML_ATTR(L"base", fdb->ifdbBase);
if (m_SXRANGE)
m_SXRANGE->serialize(CP_XML_STREAM());

View File

@ -67,7 +67,8 @@ public:
bool bInteger;
bool bBool;
GlobalWorkbookInfoPtr global_info;
int index;
GlobalWorkbookInfoPtr global_info;
};
} // namespace XLS

View File

@ -91,9 +91,13 @@ const bool PIVOTCACHE::loadContent(BinProcessor& proc)
}
count = proc.repeated<FDB>(0, 0);
int i = 0;
while(count--)
{
m_arFDB.push_back(elements_.front()); elements_.pop_front();
FDB* fdb = dynamic_cast<FDB*>(m_arFDB.back().get());
fdb->index = i++;
}
count = proc.repeated<DBB>(0, 0);

View File

@ -68,6 +68,14 @@ const bool PIVOTVIEW::loadContent(BinProcessor& proc)
}
m_PIVOTCORE = elements_.back();
elements_.pop_back();
PIVOTCORE *core = dynamic_cast<PIVOTCORE*>(m_PIVOTCORE.get());
SxView* view = dynamic_cast<SxView*>(core->m_SxView.get());
if (view)
{
name = view->stTable.value();
}
if (proc.optional<PIVOTFRT>())
{
@ -98,9 +106,7 @@ int PIVOTVIEW::serialize(std::wostream & strm)
CP_XML_ATTR(L"name", view->stTable.value());
CP_XML_ATTR(L"cacheId", view->iCache);
CP_XML_ATTR(L"useAutoFormatting", view->fAutoFormat);
CP_XML_ATTR(L"dataOnRows", view->sxaxis4Data.bRw);
CP_XML_ATTR(L"autoFormatId", view->itblAutoFmt);
CP_XML_ATTR(L"applyNumberFormats", view->fAtrNum);
CP_XML_ATTR(L"applyBorderFormats", view->fAtrBdr);
CP_XML_ATTR(L"applyFontFormats", view->fAtrFnt);
@ -111,15 +117,16 @@ int PIVOTVIEW::serialize(std::wostream & strm)
{
CP_XML_ATTR(L"dataCaption", view->stData.value());
}
//updatedVersion="2"
//asteriskTotals="1"
//showMemberPropertyTips="0"
//itemPrintTitles="1"
//createdVersion="1"
//indent="0"
//compact="0"
//compactData="0"
//gridDropZones="1"
CP_XML_ATTR(L"asteriskTotals", 1);
CP_XML_ATTR(L"showMemberPropertyTips", 0);
CP_XML_ATTR(L"useAutoFormatting", view->fAutoFormat);
CP_XML_ATTR(L"autoFormatId", view->itblAutoFmt);
CP_XML_ATTR(L"itemPrintTitles", 1);
CP_XML_ATTR(L"indent", 0);
CP_XML_ATTR(L"compact", 0);
CP_XML_ATTR(L"compactData", 0);
CP_XML_ATTR(L"gridDropZones", 1);
CP_XML_NODE(L"location")
{
CP_XML_ATTR(L"ref", view->ref.toString());

View File

@ -54,7 +54,8 @@ public:
BaseObjectPtr m_PIVOTCORE;
BaseObjectPtr m_PIVOTFRT;
//----------------------------------
int indexCache;
int indexCache;
std::wstring name;
};
} // namespace XLS

View File

@ -31,38 +31,36 @@
*/
#include "SERIESFORMAT.h"
#include <Logic/Biff_records/Series.h>
#include <Logic/Biff_records/Begin.h>
#include <Logic/Biff_records/SerToCrt.h>
#include <Logic/Biff_records/SerParent.h>
#include <Logic/Biff_records/SerAuxTrend.h>
#include <Logic/Biff_records/SerAuxErrBar.h>
#include <Logic/Biff_records/LegendException.h>
#include <Logic/Biff_records/End.h>
#include <Logic/Biff_records/SerAuxTrend.h>
#include <Logic/Biff_records/SerAuxErrBar.h>
#include <Logic/Biff_records/AttachedLabel.h>
#include "AI.h"
#include "SS.h"
#include "ATTACHEDLABEL.h"
#include "TEXTPROPS.h"
#include "CHARTFOMATS.h"
#include <Logic/Biff_unions/AI.h>
#include <Logic/Biff_unions/SS.h>
#include <Logic/Biff_unions/ATTACHEDLABEL.h>
#include <Logic/Biff_unions/TEXTPROPS.h>
#include <Logic/Biff_unions/CHARTFOMATS.h>
#include "../Biff_records/Series.h"
#include "../Biff_records/Begin.h"
#include "../Biff_records/SerToCrt.h"
#include "../Biff_records/SerParent.h"
#include "../Biff_records/SerAuxTrend.h"
#include "../Biff_records/SerAuxErrBar.h"
#include "../Biff_records/LegendException.h"
#include "../Biff_records/End.h"
#include "../Biff_records/SerAuxTrend.h"
#include "../Biff_records/SerAuxErrBar.h"
#include "../Biff_records/AttachedLabel.h"
#include "../Biff_records/BRAI.h"
namespace XLS
{
SERIESFORMAT::SERIESFORMAT()
{
}
SERIESFORMAT::~SERIESFORMAT()
{
}
// (SerToCrt / (SerParent (SerAuxTrend / SerAuxErrBar)))
class Parenthesis_SERIESFORMAT_1: public ABNFParenthesis
{
@ -353,5 +351,6 @@ int SERIESFORMAT::serialize_parent(std::wostream & _stream, CHARTFORMATS* chart_
return 0;
}
} // namespace XLS

View File

@ -75,7 +75,6 @@ public:
//-----------------------------------------------------------------------
BaseObjectPtr m_SERIESFORMAT_ext;
};
} // namespace XLS

View File

@ -130,7 +130,7 @@ int SXOPER::serialize(std::wostream & strm)
{
CP_XML_NODE(node)
{
if (!value.empty())
if (!value.empty() || bString)
{
CP_XML_ATTR(L"v", value);
}

View File

@ -32,64 +32,65 @@
#include "ChartSheetSubstream.h"
#include <Logic/Biff_records/WriteProtect.h>
#include <Logic/Biff_records/SheetExt.h>
#include <Logic/Biff_records/WebPub.h>
#include <Logic/Biff_records/HFPicture.h>
#include <Logic/Biff_records/PrintSize.h>
#include <Logic/Biff_records/HeaderFooter.h>
#include <Logic/Biff_records/Fbi.h>
#include <Logic/Biff_records/Fbi2.h>
#include <Logic/Biff_records/ClrtClient.h>
#include <Logic/Biff_records/Palette.h>
#include <Logic/Biff_records/SXViewLink.h>
#include <Logic/Biff_records/PivotChartBits.h>
#include <Logic/Biff_records/SBaseRef.h>
#include <Logic/Biff_records/MsoDrawingGroup.h>
#include <Logic/Biff_records/Units.h>
#include <Logic/Biff_records/CodeName.h>
#include <Logic/Biff_records/EOF.h>
#include <Logic/Biff_records/BOF.h>
#include <Logic/Biff_records/AreaFormat.h>
#include <Logic/Biff_records/SerToCrt.h>
#include <Logic/Biff_records/AxisParent.h>
#include <Logic/Biff_records/Series.h>
#include <Logic/Biff_records/BRAI.h>
#include <Logic/Biff_records/SIIndex.h>
#include <Logic/Biff_records/DataFormat.h>
#include <Logic/Biff_records/Text.h>
#include <Logic/Biff_records/Pos.h>
#include <Logic/Biff_records/Pie.h>
#include <Logic/Biff_records/ShtProps.h>
#include <Logic/Biff_records/Chart3d.h>
#include <Logic/Biff_records/ChartFormat.h>
#include <Logic/Biff_records/Legend.h>
#include <Logic/Biff_records/AttachedLabel.h>
#include <Logic/Biff_records/DataLabExtContents.h>
#include <Logic/Biff_records/CrtLine.h>
#include <Logic/Biff_records/Dat.h>
#include <Logic/Biff_records/Chart.h>
#include <Logic/Biff_records/ExternSheet.h>
#include "Biff_records/WriteProtect.h"
#include "Biff_records/SheetExt.h"
#include "Biff_records/WebPub.h"
#include "Biff_records/HFPicture.h"
#include "Biff_records/PrintSize.h"
#include "Biff_records/HeaderFooter.h"
#include "Biff_records/Fbi.h"
#include "Biff_records/Fbi2.h"
#include "Biff_records/ClrtClient.h"
#include "Biff_records/Palette.h"
#include "Biff_records/SXViewLink.h"
#include "Biff_records/PivotChartBits.h"
#include "Biff_records/SBaseRef.h"
#include "Biff_records/MsoDrawingGroup.h"
#include "Biff_records/Units.h"
#include "Biff_records/CodeName.h"
#include "Biff_records/EOF.h"
#include "Biff_records/BOF.h"
#include "Biff_records/AreaFormat.h"
#include "Biff_records/SerToCrt.h"
#include "Biff_records/AxisParent.h"
#include "Biff_records/Series.h"
#include "Biff_records/BRAI.h"
#include "Biff_records/SIIndex.h"
#include "Biff_records/DataFormat.h"
#include "Biff_records/Text.h"
#include "Biff_records/Pos.h"
#include "Biff_records/Pie.h"
#include "Biff_records/ShtProps.h"
#include "Biff_records/Chart3d.h"
#include "Biff_records/ChartFormat.h"
#include "Biff_records/Legend.h"
#include "Biff_records/AttachedLabel.h"
#include "Biff_records/DataLabExtContents.h"
#include "Biff_records/CrtLine.h"
#include "Biff_records/Dat.h"
#include "Biff_records/Chart.h"
#include "Biff_records/ExternSheet.h"
#include <Logic/Biff_unions/PAGESETUP.h>
#include <Logic/Biff_unions/BACKGROUND.h>
#include <Logic/Biff_unions/PROTECTION_COMMON.h>
#include <Logic/Biff_unions/OBJECTS.h>
#include <Logic/Biff_unions/CHARTFOMATS.h>
#include <Logic/Biff_unions/SERIESDATA.h>
#include <Logic/Biff_unions/WINDOW.h>
#include <Logic/Biff_unions/CUSTOMVIEW.h>
#include <Logic/Biff_unions/CRTMLFRT.h>
#include <Logic/Biff_unions/FRAME.h>
#include <Logic/Biff_unions/ATTACHEDLABEL.h>
#include <Logic/Biff_unions/SERIESFORMAT.h>
#include <Logic/Biff_unions/CRT.h>
#include <Logic/Biff_unions/AXISPARENT.h>
#include <Logic/Biff_unions/AXES.h>
#include <Logic/Biff_unions/SS.h>
#include <Logic/Biff_unions/AI.h>
#include <Logic/Biff_unions/LD.h>
#include <Logic/Biff_unions/DAT.h>
#include "Biff_unions/PAGESETUP.h"
#include "Biff_unions/BACKGROUND.h"
#include "Biff_unions/PROTECTION_COMMON.h"
#include "Biff_unions/OBJECTS.h"
#include "Biff_unions/CHARTFOMATS.h"
#include "Biff_unions/SERIESDATA.h"
#include "Biff_unions/WINDOW.h"
#include "Biff_unions/CUSTOMVIEW.h"
#include "Biff_unions/CRTMLFRT.h"
#include "Biff_unions/FRAME.h"
#include "Biff_unions/ATTACHEDLABEL.h"
#include "Biff_unions/SERIESFORMAT.h"
#include "Biff_unions/CRT.h"
#include "Biff_unions/AXISPARENT.h"
#include "Biff_unions/AXES.h"
#include "Biff_unions/SS.h"
#include "Biff_unions/AI.h"
#include "Biff_unions/LD.h"
#include "Biff_unions/DAT.h"
#include "Biff_unions/PIVOTVIEW.h"
#include "../../XlsXlsxConverter/XlsConverter.h"
#include "../../XlsXlsxConverter/xlsx_conversion_context.h"
@ -202,10 +203,30 @@ const bool ChartSheetSubstream::loadContent(BinProcessor& proc)
proc.optional<PROTECTION_COMMON>(); break;
case rt_Palette: proc.optional<Palette>(); break;
case rt_SXViewLink: proc.optional<SXViewLink>(); break;
case rt_PivotChartBits: proc.optional<PivotChartBits>(); break;
case rt_SBaseRef: proc.optional<SBaseRef>(); break;
case rt_SXViewLink:
{
if (proc.optional<SXViewLink>())
{
m_SXViewLink = elements_.back();
elements_.pop_back();
}
}break;
case rt_PivotChartBits:
{
if (proc.optional<PivotChartBits>())
{
m_PivotChartBits = elements_.back();
elements_.pop_back();
}
}break;
case rt_SBaseRef:
{
if (proc.optional<SBaseRef>())
{
m_SBaseRef = elements_.back();
elements_.pop_back();
}
}break;
case rt_Obj:
case rt_MsoDrawing:
{
@ -224,9 +245,18 @@ const bool ChartSheetSubstream::loadContent(BinProcessor& proc)
{
if (proc.optional<ExternSheet>())
{
m_ExternSheet = elements_.back();
elements_.pop_back();
}
}break;
case rt_Units: proc.mandatory<Units>(); break;
case rt_Units:
{
if (proc.mandatory<Units>())
{
m_Units = elements_.back();
elements_.pop_back();
}
}break;
case rt_Chart:
{
if ( proc.mandatory<CHARTFORMATS>() )
@ -348,15 +378,14 @@ void ChartSheetSubstream::recalc(SERIESDATA* data)
{
}
int ChartSheetSubstream::serialize (std::wostream & _stream)
int ChartSheetSubstream::serialize(std::wostream & _stream)
{
AreaFormat *chart_area_format = NULL;
CHARTFORMATS *chart_formats = dynamic_cast<CHARTFORMATS*>(m_CHARTFORMATS.get());
if (!chart_formats) return 0;
AreaFormat *chart_area_format = NULL;
FRAME *chart_frame = dynamic_cast<FRAME*>(chart_formats->m_FRAME.get());
if (chart_frame)
chart_area_format = dynamic_cast<AreaFormat*>(chart_frame->m_AreaFormat.get());
if (chart_frame) chart_area_format = dynamic_cast<AreaFormat*>(chart_frame->m_AreaFormat.get());
ShtProps *sht_props = dynamic_cast<ShtProps*>(chart_formats->m_ShtProps.get());
Chart *chart_rect = dynamic_cast<Chart*>(chart_formats->m_ChartRect.get());
@ -368,7 +397,26 @@ int ChartSheetSubstream::serialize (std::wostream & _stream)
if ((chart_area_format) && (chart_area_format->fInvertNeg)) CP_XML_ATTR(L"val", 1); //????
else CP_XML_ATTR(L"val", 0);
}
if (m_SXViewLink)
{
SXViewLink *link = dynamic_cast<SXViewLink*>(m_SXViewLink.get());
CP_XML_NODE(L"c:pivotSource")
{
CP_XML_NODE(L"c:name")
{
std::wstring name = link->stPivotTable.value();
std::wstring::size_type pos = name.find(L"]");
if (std::wstring::npos != pos)
name = L"[]" + name.substr(pos + 1);
CP_XML_STREAM() << name;
}
CP_XML_NODE(L"c:fmtId")
{
CP_XML_ATTR(L"val", 0);
}
}
}
CP_XML_NODE(L"c:chart")
{
serialize_title (CP_XML_STREAM());
@ -405,6 +453,40 @@ int ChartSheetSubstream::serialize (std::wostream & _stream)
}
}
}
if (m_SXViewLink)
{
CP_XML_NODE(L"c:extLst")
{
CP_XML_NODE(L"c:ext")
{
CP_XML_ATTR(L"uri", L"{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}");
CP_XML_ATTR(L"xmlns:c14", L"http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
CP_XML_NODE(L"c14:pivotOptions")
{
CP_XML_NODE(L"c14:dropZoneFilter")
{
CP_XML_ATTR(L"val", 1);
}
CP_XML_NODE(L"c14:dropZoneCategories")
{
CP_XML_ATTR(L"val", 1);
}
CP_XML_NODE(L"c14:dropZoneData")
{
CP_XML_ATTR(L"val", 1);
}
CP_XML_NODE(L"c14:dropZoneSeries")
{
CP_XML_ATTR(L"val", 1);
}
CP_XML_NODE(L"c14:dropZonesVisible")
{
CP_XML_ATTR(L"val", 1);
}
}
}
}
}
}
if (chart_rect)
@ -685,7 +767,7 @@ int ChartSheetSubstream::serialize_plot_area (std::wostream & _stream)
}
format->serialize(CP_XML_STREAM());
for (int i = 0 ; i < it->second.size(); i++)
for (size_t i = 0 ; i < it->second.size(); i++)
{
SERIESFORMAT * series = dynamic_cast<SERIESFORMAT *>(chart_formats->m_arSERIESFORMAT[it->second[i]].get());
if (series == NULL) continue;
@ -718,6 +800,11 @@ int ChartSheetSubstream::serialize_plot_area (std::wostream & _stream)
serialize_dPt(CP_XML_STREAM(), it->second[i], crt, (std::max)(ser->cValx, ser->cValy));//+bubbles
/* if (arPivotData.empty() == false)
{
series->set_ref(arPivotData, i * 2);
}*/
if (crt->m_iChartType == CHART_TYPE_Scatter ||
crt->m_iChartType == CHART_TYPE_Bubble)
{
@ -729,6 +816,7 @@ int ChartSheetSubstream::serialize_plot_area (std::wostream & _stream)
}
else
{
serialize_ser(L"c:cat", CP_XML_STREAM(), series_id, series->m_arAI[2], ser->sdtX, ser->cValx);
serialize_ser(L"c:val", CP_XML_STREAM(), series_id, series->m_arAI[1], ser->sdtY, ser->cValy);
}

View File

@ -75,6 +75,12 @@ public:
BaseObjectPtr m_OBJECTSCHART;
std::vector<BaseObjectPtr> m_arWINDOW;
std::vector<BaseObjectPtr> m_arCUSTOMVIEW;
BaseObjectPtr m_Units;
BaseObjectPtr m_ExternSheet;
BaseObjectPtr m_SXViewLink;
BaseObjectPtr m_PivotChartBits;
BaseObjectPtr m_SBaseRef;
private:
void recalc(CHARTFORMATS* charts);
@ -82,10 +88,7 @@ private:
std::map<int, std::vector<int>> m_mapTypeChart;//тут нужен несортированый .. пока оставим этот
GlobalWorkbookInfoPtr pGlobalWorkbookInfo;
};
} // namespace XLS

View File

@ -31,48 +31,49 @@
*/
#include "WorksheetSubstream.h"
#include <Logic/Biff_records/Uncalced.h>
#include <Logic/Biff_records/Index.h>
#include <Logic/Biff_unions/GLOBALS.h>
#include <Logic/Biff_unions/PAGESETUP.h>
#include <Logic/Biff_records/Dimensions.h>
#include <Logic/Biff_records/HFPicture.h>
#include <Logic/Biff_records/Note.h>
#include <Logic/Biff_records/DxGCol.h>
#include <Logic/Biff_records/MergeCells.h>
#include <Logic/Biff_records/LRng.h>
#include <Logic/Biff_records/CodeName.h>
#include <Logic/Biff_records/WebPub.h>
#include <Logic/Biff_records/Window1.h>
#include <Logic/Biff_records/CellWatch.h>
#include <Logic/Biff_records/SheetExt.h>
#include <Logic/Biff_records/EOF.h>
#include <Logic/Biff_records/BOF.h>
#include <Logic/Biff_records/DefaultRowHeight.h>
#include <Logic/Biff_records/Label.h>
#include <Logic/Biff_unions/BACKGROUND.h>
#include <Logic/Biff_unions/BIGNAME.h>
#include <Logic/Biff_unions/PROTECTION_COMMON.h>
#include <Logic/Biff_unions/COLUMNS.h>
#include <Logic/Biff_unions/SCENARIOS.h>
#include <Logic/Biff_unions/SORTANDFILTER.h>
#include <Logic/Biff_unions/CELLTABLE.h>
#include <Logic/Biff_unions/OBJECTS.h>
#include <Logic/Biff_unions/PIVOTVIEW.h>
#include <Logic/Biff_unions/DCON.h>
#include <Logic/Biff_unions/WINDOW.h>
#include <Logic/Biff_unions/CUSTOMVIEW.h>
#include <Logic/Biff_unions/SORT.h>
#include <Logic/Biff_unions/QUERYTABLE.h>
#include <Logic/Biff_unions/PHONETICINFO.h>
#include <Logic/Biff_unions/CONDFMTS.h>
#include <Logic/Biff_unions/HLINK.h>
#include <Logic/Biff_unions/DVAL.h>
#include <Logic/Biff_unions/FEAT.h>
#include <Logic/Biff_unions/FEAT11.h>
#include <Logic/Biff_unions/RECORD12.h>
#include <Logic/Biff_unions/SHFMLA_SET.h>
#include "Biff_records/Uncalced.h"
#include "Biff_records/Index.h"
#include "Biff_unions/GLOBALS.h"
#include "Biff_unions/PAGESETUP.h"
#include "Biff_records/Dimensions.h"
#include "Biff_records/HFPicture.h"
#include "Biff_records/Note.h"
#include "Biff_records/DxGCol.h"
#include "Biff_records/MergeCells.h"
#include "Biff_records/LRng.h"
#include "Biff_records/CodeName.h"
#include "Biff_records/WebPub.h"
#include "Biff_records/Window1.h"
#include "Biff_records/CellWatch.h"
#include "Biff_records/SheetExt.h"
#include "Biff_records/EOF.h"
#include "Biff_records/BOF.h"
#include "Biff_records/DefaultRowHeight.h"
#include "Biff_records/Label.h"
#include "Biff_unions/BACKGROUND.h"
#include "Biff_unions/BIGNAME.h"
#include "Biff_unions/PROTECTION_COMMON.h"
#include "Biff_unions/COLUMNS.h"
#include "Biff_unions/SCENARIOS.h"
#include "Biff_unions/SORTANDFILTER.h"
#include "Biff_unions/CELLTABLE.h"
#include "Biff_unions/OBJECTS.h"
#include "Biff_unions/PIVOTVIEW.h"
#include "Biff_unions/DCON.h"
#include "Biff_unions/WINDOW.h"
#include "Biff_unions/CUSTOMVIEW.h"
#include "Biff_unions/SORT.h"
#include "Biff_unions/QUERYTABLE.h"
#include "Biff_unions/PHONETICINFO.h"
#include "Biff_unions/CONDFMTS.h"
#include "Biff_unions/HLINK.h"
#include "Biff_unions/DVAL.h"
#include "Biff_unions/FEAT.h"
#include "Biff_unions/FEAT11.h"
#include "Biff_unions/RECORD12.h"
#include "Biff_unions/SHFMLA_SET.h"
#include "Biff_structures/ODRAW/OfficeArtDgContainer.h"
@ -292,6 +293,9 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc)
m_arPIVOTVIEW.insert(m_arPIVOTVIEW.begin(), elements_.back());
elements_.pop_back();
count--;
PIVOTVIEW *view = dynamic_cast<PIVOTVIEW*>(m_arPIVOTVIEW.back().get());
mapPivotViews.insert(std::make_pair(view->name, m_arPIVOTVIEW.back()));
}
}break;
case rt_DCon:

View File

@ -90,6 +90,9 @@ public:
std::vector<BiffStructurePtr> m_arHFPictureDrawing;
//-------------------------------------------------------------------
std::map<std::wstring, BaseObjectPtr> mapPivotViews;
private:
void LoadHFPicture(); //todoooo - обобщить

View File

@ -357,7 +357,11 @@ void XlsConverter::convert(XLS::WorkbookStreamObject* woorkbook)
xls_global_info->current_sheet = -1;
xlsx_context->start_table(xls_global_info->sheets_names.size() > i ? xls_global_info->sheets_names[i] : L"ChartSheet_" + std::to_wstring(count_chart_sheets));
convert_chart_sheet(dynamic_cast<XLS::ChartSheetSubstream*>(woorkbook->m_arWorksheetSubstream[i].get()));
xlsx_context->set_chart_view();
XLS::ChartSheetSubstream* chart = dynamic_cast<XLS::ChartSheetSubstream*>(woorkbook->m_arWorksheetSubstream[i].get());
convert_chart_sheet(chart);
}
xlsx_context->end_table();
@ -369,7 +373,7 @@ void XlsConverter::convert(XLS::WorkbookStreamObject* woorkbook)
}
}
void XlsConverter::convert(XLS::WorksheetSubstream* sheet)
void XlsConverter::convert (XLS::WorksheetSubstream* sheet)
{
if (sheet == NULL) return;

View File

@ -104,6 +104,13 @@ bool xlsx_conversion_context::start_table(const std::wstring & name)
return true;
}
void xlsx_conversion_context::set_chart_view()
{
if (sheets_.empty()) return;
get_table_context().set_chart_view();
}
void xlsx_conversion_context::set_state(const std::wstring & state)
{
if (state.empty()) return;

View File

@ -66,6 +66,7 @@ public:
bool start_table(const std::wstring & name);
void set_state(const std::wstring & state);
void set_chart_view();
void end_table();
void start_chart();

View File

@ -61,6 +61,21 @@ void xlsx_table_context::start_table(const std::wstring & name)
tables_state_.push_back( table_state_ptr(new table_state(context_)));
}
void xlsx_table_context::set_chart_view()
{
CP_XML_WRITER(context_.current_sheet().sheetViews())
{
CP_XML_NODE(L"sheetViews")
{
CP_XML_NODE(L"sheetView")
{
CP_XML_ATTR(L"showGridLines", 0);
CP_XML_ATTR(L"workbookViewId", 0);
}
}
}
}
void xlsx_table_context::end_table()
{
if (!get_drawing_context().empty())

View File

@ -60,6 +60,7 @@ public:
public:
void start_table(const std::wstring & name);
void set_chart_view();
void end_table();
xlsx_drawing_context & get_drawing_context();

0
Common/3dParty/openssl/build.sh Normal file → Executable file
View File

0
Common/3dParty/openssl/fetch.sh Normal file → Executable file
View File

View File

@ -213,6 +213,7 @@
690FE07F1E9BBA15004B26D0 /* DrawingExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 690FE07B1E9BBA15004B26D0 /* DrawingExt.h */; };
690FE0821E9BBA23004B26D0 /* DiagramData.h in Headers */ = {isa = PBXBuildFile; fileRef = 690FE0801E9BBA23004B26D0 /* DiagramData.h */; };
690FE0831E9BBA23004B26D0 /* DiagramDrawing.h in Headers */ = {isa = PBXBuildFile; fileRef = 690FE0811E9BBA23004B26D0 /* DiagramDrawing.h */; };
691C3E131F20C3D500F1775E /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 691C3E121F20C3D500F1775E /* File.cpp */; };
69F181EC1C7734A700B2952B /* strings_hack_printf.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F181EA1C7734A700B2952B /* strings_hack_printf.h */; };
/* End PBXBuildFile section */
@ -431,6 +432,7 @@
690FE07B1E9BBA15004B26D0 /* DrawingExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingExt.h; sourceTree = "<group>"; };
690FE0801E9BBA23004B26D0 /* DiagramData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagramData.h; sourceTree = "<group>"; };
690FE0811E9BBA23004B26D0 /* DiagramDrawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagramDrawing.h; sourceTree = "<group>"; };
691C3E121F20C3D500F1775E /* File.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; path = File.cpp; sourceTree = "<group>"; };
69F181EA1C7734A700B2952B /* strings_hack_printf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = strings_hack_printf.h; path = ../../Common/DocxFormat/Source/Base/strings_hack_printf.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -901,6 +903,7 @@
17E6B3BD1AC4298500F28F8B /* Base64.h */,
17E6B3BE1AC4298500F28F8B /* Directory.h */,
17E6B3BF1AC4298500F28F8B /* File.h */,
691C3E121F20C3D500F1775E /* File.cpp */,
17E6B3C01AC4298500F28F8B /* Path.h */,
17E6B3C11AC4298500F28F8B /* Types.h */,
69F181EA1C7734A700B2952B /* strings_hack_printf.h */,
@ -1163,6 +1166,7 @@
17C1FBAE1ACC4250006B99B3 /* oMath.cpp in Sources */,
17C1FBAF1ACC4250006B99B3 /* ChartSerialize.cpp in Sources */,
17C1FBB11ACC4250006B99B3 /* Position.cpp in Sources */,
691C3E131F20C3D500F1775E /* File.cpp in Sources */,
17C1FBB21ACC4250006B99B3 /* Vml.cpp in Sources */,
17C1FBB31ACC4250006B99B3 /* unicode_util.cpp in Sources */,
17C1FBB41ACC4250006B99B3 /* FldSimple.cpp in Sources */,
@ -1202,6 +1206,7 @@
unix,
_IOS,
DONT_WRITE_EMBEDDED_FONTS,
_XCODE,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
HEADER_SEARCH_PATHS = (
@ -1242,6 +1247,7 @@
unix,
_IOS,
DONT_WRITE_EMBEDDED_FONTS,
_XCODE,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
HEADER_SEARCH_PATHS = (

View File

@ -37,7 +37,7 @@
#include "unicode_util.h"
#include "../../../DesktopEditor/common/File.h"
#include "../../../../DesktopEditor/common/File.h"
#define _T(x) __T(x)
#define __T(x) L##x

View File

@ -31,7 +31,7 @@
*/
#pragma once
#include "../../../DesktopEditor/xml/include/xmlutils.h"
#include "../../../../DesktopEditor/xml/include/xmlutils.h"
namespace OOX

View File

@ -0,0 +1,92 @@
/*
* (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 "File.h"
#ifdef _IOS
#import <Foundation/Foundation.h>
static const char* fileSystemRepresentation(const std::wstring& sFileName)
{
NSString *path = [[NSString alloc] initWithBytes:(char*)sFileName.data()
length:sFileName.size()* sizeof(wchar_t)
encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF32LE)];
return (const char*)[path fileSystemRepresentation];
}
namespace NSFile
{
bool CFileBinary::OpenFile(const std::wstring& sFileName, bool bRewrite)
{
m_pFile = fopen(fileSystemRepresentation(sFileName), bRewrite ? "rb+" : "rb");
if (NULL == m_pFile)
return false;
fseek(m_pFile, 0, SEEK_END);
m_lFileSize = ftell(m_pFile);
fseek(m_pFile, 0, SEEK_SET);
m_lFilePosition = 0;
if (0 < sFileName.length())
{
if (((wchar_t)'/') == sFileName.c_str()[sFileName.length() - 1])
m_lFileSize = 0x7FFFFFFF;
}
unsigned int err = 0x7FFFFFFF;
unsigned int cur = (unsigned int)m_lFileSize;
if (err == cur)
{
CloseFile();
return false;
}
return true;
}
bool CFileBinary::CreateFileW(const std::wstring& sFileName)
{
m_pFile = fopen(fileSystemRepresentation(sFileName), "wb");
if (NULL == m_pFile)
return false;
m_lFilePosition = 0;
return true;
}
}
#endif

View File

@ -618,6 +618,14 @@ namespace NSFile
{
return m_lFilePosition;
}
#ifdef _IOS
bool OpenFile(const std::wstring& sFileName, bool bRewrite = false);
bool CreateFileW(const std::wstring& sFileName);
#else
bool OpenFile(const std::wstring& sFileName, bool bRewrite = false)
{
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(_WIN64)
@ -675,6 +683,9 @@ namespace NSFile
m_lFilePosition = 0;
return true;
}
#endif
bool CreateTempFile()
{
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(_WIN64)

View File

@ -437,6 +437,7 @@
_IOS,
FILTER_FLATE_DECODE_ENABLED,
_ARM_ALIGN_,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -476,6 +477,7 @@
_IOS,
FILTER_FLATE_DECODE_ENABLED,
_ARM_ALIGN_,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",

View File

@ -566,6 +566,18 @@
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
USE_LITE_READER,
_USE_LIBXML2_READER_,
_USE_XMLLITE_READER_,
LINUX,
MAC,
_IOS,
LIBXML_READER_ENABLED,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
@ -582,6 +594,18 @@
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
USE_LITE_READER,
_USE_LIBXML2_READER_,
_USE_XMLLITE_READER_,
LINUX,
MAC,
_IOS,
LIBXML_READER_ENABLED,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,

View File

@ -241,6 +241,7 @@
_IOS,
NOMINMAX,
LINUX,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -271,6 +272,7 @@
_IOS,
NOMINMAX,
LINUX,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",

View File

@ -36,7 +36,7 @@
69676CB81CA58BBD00D7A1D1 /* OfficeUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OfficeUtils.cpp; sourceTree = "<group>"; };
69676CB91CA58BBD00D7A1D1 /* OfficeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeUtils.h; sourceTree = "<group>"; };
69676CBA1CA58BBD00D7A1D1 /* OfficeUtilsCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeUtilsCommon.h; sourceTree = "<group>"; };
69676CBB1CA58BBD00D7A1D1 /* ZipUtilsCP.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ZipUtilsCP.cpp; sourceTree = "<group>"; };
69676CBB1CA58BBD00D7A1D1 /* ZipUtilsCP.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; fileEncoding = 4; path = ZipUtilsCP.cpp; sourceTree = "<group>"; };
69676CBC1CA58BBD00D7A1D1 /* ZipUtilsCP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZipUtilsCP.h; sourceTree = "<group>"; };
69676D291CA58BBD00D7A1D1 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = "<group>"; };
69676D2A1CA58BBD00D7A1D1 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
@ -292,6 +292,7 @@
MAC,
unix,
_IOS,
_XCODE,
);
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
OTHER_LDFLAGS = "-ObjC";
@ -309,6 +310,7 @@
MAC,
unix,
_IOS,
_XCODE,
);
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
OTHER_LDFLAGS = "-ObjC";

View File

@ -36,6 +36,10 @@
#include "../../DesktopEditor/common/Directory.h"
#include "../../DesktopEditor/common/Path.h"
#if _IOS
#import <Foundation/Foundation.h>
#endif
#define WRITEBUFFERSIZE 8192
#define READBUFFERSIZE 8192
@ -43,6 +47,13 @@ namespace ZLibZipUtils
{
static zipFile zipOpenHelp(const wchar_t* filename)
{
#ifdef _IOS
NSString *path =[[NSString alloc] initWithBytes:filename
length:wcslen(filename)*sizeof(*filename)
encoding:NSUTF32LittleEndianStringEncoding];
return zipOpen( (const char*)[path fileSystemRepresentation], APPEND_STATUS_CREATE );
#endif
#if defined(_WIN32) || defined (_WIN64)
zipFile zf = zipOpen( filename, APPEND_STATUS_CREATE );
#else
@ -56,6 +67,13 @@ namespace ZLibZipUtils
}
static unzFile unzOpenHelp(const wchar_t* filename)
{
#ifdef _IOS
NSString *path =[[NSString alloc] initWithBytes:filename
length:wcslen(filename)*sizeof(*filename)
encoding:NSUTF32LittleEndianStringEncoding];
return unzOpen ((const char*)[path fileSystemRepresentation]);
#endif
#if defined(_WIN32) || defined (_WIN64)
unzFile uf = unzOpen (filename);
#else

View File

@ -232,6 +232,7 @@
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
@ -260,6 +261,7 @@
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",

View File

@ -0,0 +1,459 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
7CC743FF1F20E97F006A9889 /* ASCConverters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC743F91F20E97F006A9889 /* ASCConverters.cpp */; };
7CC744001F20E97F006A9889 /* cextracttools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC743FB1F20E97F006A9889 /* cextracttools.cpp */; };
7CC744011F20E97F006A9889 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC743FD1F20E97F006A9889 /* main.cpp */; };
7CC744191F20E9BF006A9889 /* libASCOfficeDocxFile2Lib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744031F20E9BF006A9889 /* libASCOfficeDocxFile2Lib.a */; };
7CC7441A1F20E9BF006A9889 /* libCryptoPPLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744041F20E9BF006A9889 /* libCryptoPPLib.a */; };
7CC7441B1F20E9BF006A9889 /* libDjVuFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744051F20E9BF006A9889 /* libDjVuFile.dylib */; };
7CC7441C1F20E9BF006A9889 /* libDocFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744061F20E9BF006A9889 /* libDocFormatLib.a */; };
7CC7441D1F20E9BF006A9889 /* libdoctrenderer.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744071F20E9BF006A9889 /* libdoctrenderer.dylib */; };
7CC7441E1F20E9BF006A9889 /* libDocxFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744081F20E9BF006A9889 /* libDocxFormatLib.a */; };
7CC7441F1F20E9BF006A9889 /* libgraphics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744091F20E9BF006A9889 /* libgraphics.a */; };
7CC744201F20E9BF006A9889 /* libHtmlFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440A1F20E9BF006A9889 /* libHtmlFile.dylib */; };
7CC744211F20E9BF006A9889 /* libHtmlRenderer.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440B1F20E9BF006A9889 /* libHtmlRenderer.dylib */; };
7CC744221F20E9BF006A9889 /* liblibxml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440C1F20E9BF006A9889 /* liblibxml.a */; };
7CC744231F20E9BF006A9889 /* libOdfFileReaderLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440D1F20E9BF006A9889 /* libOdfFileReaderLib.a */; };
7CC744241F20E9BF006A9889 /* libOdfFileWriterLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440E1F20E9BF006A9889 /* libOdfFileWriterLib.a */; };
7CC744251F20E9BF006A9889 /* libOfficeUtils.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7440F1F20E9BF006A9889 /* libOfficeUtils.a */; };
7CC744261F20E9BF006A9889 /* libPdfReader.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744101F20E9BF006A9889 /* libPdfReader.dylib */; };
7CC744271F20E9BF006A9889 /* libPdfWriter.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744111F20E9BF006A9889 /* libPdfWriter.dylib */; };
7CC744281F20E9BF006A9889 /* libPptFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744121F20E9BF006A9889 /* libPptFormatLib.a */; };
7CC744291F20E9BF006A9889 /* libPPTXFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744131F20E9BF006A9889 /* libPPTXFormatLib.a */; };
7CC7442A1F20E9BF006A9889 /* libRtfFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744141F20E9BF006A9889 /* libRtfFormatLib.a */; };
7CC7442B1F20E9BF006A9889 /* libTxtXmlFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744151F20E9BF006A9889 /* libTxtXmlFormatLib.a */; };
7CC7442C1F20E9BF006A9889 /* libUnicodeConverter.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744161F20E9BF006A9889 /* libUnicodeConverter.dylib */; };
7CC7442D1F20E9BF006A9889 /* libXlsFormatLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744171F20E9BF006A9889 /* libXlsFormatLib.a */; };
7CC7442E1F20E9BF006A9889 /* libXpsFile.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744181F20E9BF006A9889 /* libXpsFile.dylib */; };
7CC744311F20E9D5006A9889 /* libicudata.55.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7442F1F20E9D5006A9889 /* libicudata.55.1.dylib */; };
7CC744321F20E9D5006A9889 /* libicuuc.55.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744301F20E9D5006A9889 /* libicuuc.55.1.dylib */; };
7CC744371F20EAE6006A9889 /* libboost_date_time.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744331F20EAE6006A9889 /* libboost_date_time.a */; };
7CC744381F20EAE6006A9889 /* libboost_filesystem.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744341F20EAE6006A9889 /* libboost_filesystem.a */; };
7CC744391F20EAE6006A9889 /* libboost_regex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744351F20EAE6006A9889 /* libboost_regex.a */; };
7CC7443A1F20EAE6006A9889 /* libboost_system.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC744361F20EAE6006A9889 /* libboost_system.a */; };
7CC7443C1F20F0A9006A9889 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CC7443B1F20F0A9006A9889 /* AppKit.framework */; };
7CC7443F1F20F114006A9889 /* xmldom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC7443D1F20F114006A9889 /* xmldom.cpp */; };
7CC744401F20F114006A9889 /* xmllight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC7443E1F20F114006A9889 /* xmllight.cpp */; };
7CC744421F20F128006A9889 /* OfficeFileFormatChecker2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC744411F20F128006A9889 /* OfficeFileFormatChecker2.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
7CC743EC1F20E952006A9889 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
7CC743EE1F20E952006A9889 /* x2t_macos */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = x2t_macos; sourceTree = BUILT_PRODUCTS_DIR; };
7CC743F91F20E97F006A9889 /* ASCConverters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASCConverters.cpp; path = ../../../../src/ASCConverters.cpp; sourceTree = "<group>"; };
7CC743FA1F20E97F006A9889 /* ASCConverters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASCConverters.h; path = ../../../../src/ASCConverters.h; sourceTree = "<group>"; };
7CC743FB1F20E97F006A9889 /* cextracttools.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cextracttools.cpp; path = ../../../../src/cextracttools.cpp; sourceTree = "<group>"; };
7CC743FC1F20E97F006A9889 /* cextracttools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cextracttools.h; path = ../../../../src/cextracttools.h; sourceTree = "<group>"; };
7CC743FD1F20E97F006A9889 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../../../src/main.cpp; sourceTree = "<group>"; };
7CC744031F20E9BF006A9889 /* libASCOfficeDocxFile2Lib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libASCOfficeDocxFile2Lib.a; path = ../../../../../build/lib/mac_64/libASCOfficeDocxFile2Lib.a; sourceTree = "<group>"; };
7CC744041F20E9BF006A9889 /* libCryptoPPLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libCryptoPPLib.a; path = ../../../../../build/lib/mac_64/libCryptoPPLib.a; sourceTree = "<group>"; };
7CC744051F20E9BF006A9889 /* libDjVuFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libDjVuFile.dylib; path = ../../../../../build/lib/mac_64/libDjVuFile.dylib; sourceTree = "<group>"; };
7CC744061F20E9BF006A9889 /* libDocFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDocFormatLib.a; path = ../../../../../build/lib/mac_64/libDocFormatLib.a; sourceTree = "<group>"; };
7CC744071F20E9BF006A9889 /* libdoctrenderer.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libdoctrenderer.dylib; path = ../../../../../build/lib/mac_64/libdoctrenderer.dylib; sourceTree = "<group>"; };
7CC744081F20E9BF006A9889 /* libDocxFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDocxFormatLib.a; path = ../../../../../build/lib/mac_64/libDocxFormatLib.a; sourceTree = "<group>"; };
7CC744091F20E9BF006A9889 /* libgraphics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgraphics.a; path = ../../../../../build/lib/mac_64/libgraphics.a; sourceTree = "<group>"; };
7CC7440A1F20E9BF006A9889 /* libHtmlFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libHtmlFile.dylib; path = ../../../../../build/lib/mac_64/libHtmlFile.dylib; sourceTree = "<group>"; };
7CC7440B1F20E9BF006A9889 /* libHtmlRenderer.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libHtmlRenderer.dylib; path = ../../../../../build/lib/mac_64/libHtmlRenderer.dylib; sourceTree = "<group>"; };
7CC7440C1F20E9BF006A9889 /* liblibxml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibxml.a; path = ../../../../../build/lib/mac_64/liblibxml.a; sourceTree = "<group>"; };
7CC7440D1F20E9BF006A9889 /* libOdfFileReaderLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOdfFileReaderLib.a; path = ../../../../../build/lib/mac_64/libOdfFileReaderLib.a; sourceTree = "<group>"; };
7CC7440E1F20E9BF006A9889 /* libOdfFileWriterLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOdfFileWriterLib.a; path = ../../../../../build/lib/mac_64/libOdfFileWriterLib.a; sourceTree = "<group>"; };
7CC7440F1F20E9BF006A9889 /* libOfficeUtils.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOfficeUtils.a; path = ../../../../../build/lib/mac_64/libOfficeUtils.a; sourceTree = "<group>"; };
7CC744101F20E9BF006A9889 /* libPdfReader.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libPdfReader.dylib; path = ../../../../../build/lib/mac_64/libPdfReader.dylib; sourceTree = "<group>"; };
7CC744111F20E9BF006A9889 /* libPdfWriter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libPdfWriter.dylib; path = ../../../../../build/lib/mac_64/libPdfWriter.dylib; sourceTree = "<group>"; };
7CC744121F20E9BF006A9889 /* libPptFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPptFormatLib.a; path = ../../../../../build/lib/mac_64/libPptFormatLib.a; sourceTree = "<group>"; };
7CC744131F20E9BF006A9889 /* libPPTXFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPPTXFormatLib.a; path = ../../../../../build/lib/mac_64/libPPTXFormatLib.a; sourceTree = "<group>"; };
7CC744141F20E9BF006A9889 /* libRtfFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRtfFormatLib.a; path = ../../../../../build/lib/mac_64/libRtfFormatLib.a; sourceTree = "<group>"; };
7CC744151F20E9BF006A9889 /* libTxtXmlFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTxtXmlFormatLib.a; path = ../../../../../build/lib/mac_64/libTxtXmlFormatLib.a; sourceTree = "<group>"; };
7CC744161F20E9BF006A9889 /* libUnicodeConverter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libUnicodeConverter.dylib; path = ../../../../../build/lib/mac_64/libUnicodeConverter.dylib; sourceTree = "<group>"; };
7CC744171F20E9BF006A9889 /* libXlsFormatLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libXlsFormatLib.a; path = ../../../../../build/lib/mac_64/libXlsFormatLib.a; sourceTree = "<group>"; };
7CC744181F20E9BF006A9889 /* libXpsFile.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXpsFile.dylib; path = ../../../../../build/lib/mac_64/libXpsFile.dylib; sourceTree = "<group>"; };
7CC7442F1F20E9D5006A9889 /* libicudata.55.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicudata.55.1.dylib; path = ../../../../../build/bin/icu/mac_64/libicudata.55.1.dylib; sourceTree = "<group>"; };
7CC744301F20E9D5006A9889 /* libicuuc.55.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicuuc.55.1.dylib; path = ../../../../../build/bin/icu/mac_64/libicuuc.55.1.dylib; sourceTree = "<group>"; };
7CC744331F20EAE6006A9889 /* libboost_date_time.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_date_time.a; path = ../../../../../Common/3dParty/boost/boost_1_58_0/build/mac_64/static/libboost_date_time.a; sourceTree = "<group>"; };
7CC744341F20EAE6006A9889 /* libboost_filesystem.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_filesystem.a; path = ../../../../../Common/3dParty/boost/boost_1_58_0/build/mac_64/static/libboost_filesystem.a; sourceTree = "<group>"; };
7CC744351F20EAE6006A9889 /* libboost_regex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_regex.a; path = ../../../../../Common/3dParty/boost/boost_1_58_0/build/mac_64/static/libboost_regex.a; sourceTree = "<group>"; };
7CC744361F20EAE6006A9889 /* libboost_system.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_system.a; path = ../../../../../Common/3dParty/boost/boost_1_58_0/build/mac_64/static/libboost_system.a; sourceTree = "<group>"; };
7CC7443B1F20F0A9006A9889 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
7CC7443D1F20F114006A9889 /* xmldom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xmldom.cpp; path = ../../../../../DesktopEditor/xml/src/xmldom.cpp; sourceTree = "<group>"; };
7CC7443E1F20F114006A9889 /* xmllight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xmllight.cpp; path = ../../../../../DesktopEditor/xml/src/xmllight.cpp; sourceTree = "<group>"; };
7CC744411F20F128006A9889 /* OfficeFileFormatChecker2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OfficeFileFormatChecker2.cpp; path = ../../../../../Common/OfficeFileFormatChecker2.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
7CC743EB1F20E952006A9889 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7CC7443C1F20F0A9006A9889 /* AppKit.framework in Frameworks */,
7CC744371F20EAE6006A9889 /* libboost_date_time.a in Frameworks */,
7CC744381F20EAE6006A9889 /* libboost_filesystem.a in Frameworks */,
7CC744391F20EAE6006A9889 /* libboost_regex.a in Frameworks */,
7CC7443A1F20EAE6006A9889 /* libboost_system.a in Frameworks */,
7CC744311F20E9D5006A9889 /* libicudata.55.1.dylib in Frameworks */,
7CC744321F20E9D5006A9889 /* libicuuc.55.1.dylib in Frameworks */,
7CC744191F20E9BF006A9889 /* libASCOfficeDocxFile2Lib.a in Frameworks */,
7CC7441A1F20E9BF006A9889 /* libCryptoPPLib.a in Frameworks */,
7CC7441B1F20E9BF006A9889 /* libDjVuFile.dylib in Frameworks */,
7CC7441C1F20E9BF006A9889 /* libDocFormatLib.a in Frameworks */,
7CC7441D1F20E9BF006A9889 /* libdoctrenderer.dylib in Frameworks */,
7CC7441E1F20E9BF006A9889 /* libDocxFormatLib.a in Frameworks */,
7CC7441F1F20E9BF006A9889 /* libgraphics.a in Frameworks */,
7CC744201F20E9BF006A9889 /* libHtmlFile.dylib in Frameworks */,
7CC744211F20E9BF006A9889 /* libHtmlRenderer.dylib in Frameworks */,
7CC744221F20E9BF006A9889 /* liblibxml.a in Frameworks */,
7CC744231F20E9BF006A9889 /* libOdfFileReaderLib.a in Frameworks */,
7CC744241F20E9BF006A9889 /* libOdfFileWriterLib.a in Frameworks */,
7CC744251F20E9BF006A9889 /* libOfficeUtils.a in Frameworks */,
7CC744261F20E9BF006A9889 /* libPdfReader.dylib in Frameworks */,
7CC744271F20E9BF006A9889 /* libPdfWriter.dylib in Frameworks */,
7CC744281F20E9BF006A9889 /* libPptFormatLib.a in Frameworks */,
7CC744291F20E9BF006A9889 /* libPPTXFormatLib.a in Frameworks */,
7CC7442A1F20E9BF006A9889 /* libRtfFormatLib.a in Frameworks */,
7CC7442B1F20E9BF006A9889 /* libTxtXmlFormatLib.a in Frameworks */,
7CC7442C1F20E9BF006A9889 /* libUnicodeConverter.dylib in Frameworks */,
7CC7442D1F20E9BF006A9889 /* libXlsFormatLib.a in Frameworks */,
7CC7442E1F20E9BF006A9889 /* libXpsFile.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
7CC743E51F20E952006A9889 = {
isa = PBXGroup;
children = (
7CC744411F20F128006A9889 /* OfficeFileFormatChecker2.cpp */,
7CC7443D1F20F114006A9889 /* xmldom.cpp */,
7CC7443E1F20F114006A9889 /* xmllight.cpp */,
7CC743F91F20E97F006A9889 /* ASCConverters.cpp */,
7CC743FA1F20E97F006A9889 /* ASCConverters.h */,
7CC743FB1F20E97F006A9889 /* cextracttools.cpp */,
7CC743FC1F20E97F006A9889 /* cextracttools.h */,
7CC743FD1F20E97F006A9889 /* main.cpp */,
7CC743F01F20E952006A9889 /* x2t_macos */,
7CC743EF1F20E952006A9889 /* Products */,
7CC744021F20E9BF006A9889 /* Frameworks */,
);
sourceTree = "<group>";
};
7CC743EF1F20E952006A9889 /* Products */ = {
isa = PBXGroup;
children = (
7CC743EE1F20E952006A9889 /* x2t_macos */,
);
name = Products;
sourceTree = "<group>";
};
7CC743F01F20E952006A9889 /* x2t_macos */ = {
isa = PBXGroup;
children = (
);
path = x2t_macos;
sourceTree = "<group>";
};
7CC744021F20E9BF006A9889 /* Frameworks */ = {
isa = PBXGroup;
children = (
7CC7443B1F20F0A9006A9889 /* AppKit.framework */,
7CC744331F20EAE6006A9889 /* libboost_date_time.a */,
7CC744341F20EAE6006A9889 /* libboost_filesystem.a */,
7CC744351F20EAE6006A9889 /* libboost_regex.a */,
7CC744361F20EAE6006A9889 /* libboost_system.a */,
7CC7442F1F20E9D5006A9889 /* libicudata.55.1.dylib */,
7CC744301F20E9D5006A9889 /* libicuuc.55.1.dylib */,
7CC744031F20E9BF006A9889 /* libASCOfficeDocxFile2Lib.a */,
7CC744041F20E9BF006A9889 /* libCryptoPPLib.a */,
7CC744051F20E9BF006A9889 /* libDjVuFile.dylib */,
7CC744061F20E9BF006A9889 /* libDocFormatLib.a */,
7CC744071F20E9BF006A9889 /* libdoctrenderer.dylib */,
7CC744081F20E9BF006A9889 /* libDocxFormatLib.a */,
7CC744091F20E9BF006A9889 /* libgraphics.a */,
7CC7440A1F20E9BF006A9889 /* libHtmlFile.dylib */,
7CC7440B1F20E9BF006A9889 /* libHtmlRenderer.dylib */,
7CC7440C1F20E9BF006A9889 /* liblibxml.a */,
7CC7440D1F20E9BF006A9889 /* libOdfFileReaderLib.a */,
7CC7440E1F20E9BF006A9889 /* libOdfFileWriterLib.a */,
7CC7440F1F20E9BF006A9889 /* libOfficeUtils.a */,
7CC744101F20E9BF006A9889 /* libPdfReader.dylib */,
7CC744111F20E9BF006A9889 /* libPdfWriter.dylib */,
7CC744121F20E9BF006A9889 /* libPptFormatLib.a */,
7CC744131F20E9BF006A9889 /* libPPTXFormatLib.a */,
7CC744141F20E9BF006A9889 /* libRtfFormatLib.a */,
7CC744151F20E9BF006A9889 /* libTxtXmlFormatLib.a */,
7CC744161F20E9BF006A9889 /* libUnicodeConverter.dylib */,
7CC744171F20E9BF006A9889 /* libXlsFormatLib.a */,
7CC744181F20E9BF006A9889 /* libXpsFile.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
7CC743ED1F20E952006A9889 /* x2t_macos */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7CC743F51F20E952006A9889 /* Build configuration list for PBXNativeTarget "x2t_macos" */;
buildPhases = (
7CC743EA1F20E952006A9889 /* Sources */,
7CC743EB1F20E952006A9889 /* Frameworks */,
7CC743EC1F20E952006A9889 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = x2t_macos;
productName = x2t_macos;
productReference = 7CC743EE1F20E952006A9889 /* x2t_macos */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
7CC743E61F20E952006A9889 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0800;
ORGANIZATIONNAME = "Oleg Korshul";
TargetAttributes = {
7CC743ED1F20E952006A9889 = {
CreatedOnToolsVersion = 8.0;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 7CC743E91F20E952006A9889 /* Build configuration list for PBXProject "x2t_macos" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 7CC743E51F20E952006A9889;
productRefGroup = 7CC743EF1F20E952006A9889 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
7CC743ED1F20E952006A9889 /* x2t_macos */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
7CC743EA1F20E952006A9889 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7CC744001F20E97F006A9889 /* cextracttools.cpp in Sources */,
7CC743FF1F20E97F006A9889 /* ASCConverters.cpp in Sources */,
7CC7443F1F20F114006A9889 /* xmldom.cpp in Sources */,
7CC744011F20E97F006A9889 /* main.cpp in Sources */,
7CC744401F20F114006A9889 /* xmllight.cpp in Sources */,
7CC744421F20F128006A9889 /* OfficeFileFormatChecker2.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
7CC743F31F20E952006A9889 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVES = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = "@executable_path";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
_MAC,
MAC,
_LINUX,
LINUX,
UNICODE,
_USE_LIBXML2_READER_,
_USE_XMLLITE_READER_,
USE_LITE_READER,
PPTX_DEF,
PPT_DEF,
ENABLE_PPT_TO_PPTX_CONVERT,
FILTER_FLATE_DECODE_ENABLED,
CXIMAGE_DONT_DECLARE_TCHAR,
DONT_WRITE_EMBEDDED_FONTS,
AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
LIBXML_READER_ENABLED,
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LIBRARY_SEARCH_PATHS = (
/Users/Oleg/Desktop/GIT/core/build/lib/mac_64,
/Users/Oleg/Desktop/GIT/core/Common/boost_1_58_0/stage/lib,
/Users/Oleg/Desktop/GIT/core/build/bin/icu/mac_64,
);
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-I./../../../../../Common/boost_1_58_0",
"-I./../../../../../DesktopEditor/xml/libxml2/include",
"-I./../../../../../DesktopEditor/freetype-2.5.2/include",
"-I./../../../../../DesktopEditor/agg-2.4/include",
"-I./../../../../../DesktopEditor/xml/build/qt",
);
SDKROOT = macosx;
};
name = Debug;
};
7CC743F41F20E952006A9889 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVES = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "@executable_path";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
_MAC,
MAC,
_LINUX,
LINUX,
UNICODE,
_USE_LIBXML2_READER_,
_USE_XMLLITE_READER_,
USE_LITE_READER,
PPTX_DEF,
PPT_DEF,
ENABLE_PPT_TO_PPTX_CONVERT,
FILTER_FLATE_DECODE_ENABLED,
CXIMAGE_DONT_DECLARE_TCHAR,
DONT_WRITE_EMBEDDED_FONTS,
AVS_USE_CONVERT_PPTX_TOCUSTOM_VML,
LIBXML_READER_ENABLED,
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LIBRARY_SEARCH_PATHS = (
/Users/Oleg/Desktop/GIT/core/build/lib/mac_64,
/Users/Oleg/Desktop/GIT/core/Common/boost_1_58_0/stage/lib,
/Users/Oleg/Desktop/GIT/core/build/bin/icu/mac_64,
);
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = (
"-I./../../../../../Common/boost_1_58_0",
"-I./../../../../../DesktopEditor/xml/libxml2/include",
"-I./../../../../../DesktopEditor/freetype-2.5.2/include",
"-I./../../../../../DesktopEditor/agg-2.4/include",
"-I./../../../../../DesktopEditor/xml/build/qt",
);
SDKROOT = macosx;
};
name = Release;
};
7CC743F61F20E952006A9889 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
7CC743F71F20E952006A9889 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
7CC743E91F20E952006A9889 /* Build configuration list for PBXProject "x2t_macos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7CC743F31F20E952006A9889 /* Debug */,
7CC743F41F20E952006A9889 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
7CC743F51F20E952006A9889 /* Build configuration list for PBXNativeTarget "x2t_macos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7CC743F61F20E952006A9889 /* Debug */,
7CC743F71F20E952006A9889 /* Release */,
);
defaultConfigurationIsVisible = 0;
};
/* End XCConfigurationList section */
};
rootObject = 7CC743E61F20E952006A9889 /* Project object */;
}

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>x2t_macos.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>7CC743ED1F20E952006A9889</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

2
X2tConverter/build/Qt/X2tConverter.pri Normal file → Executable file
View File

@ -7,7 +7,7 @@
QT -= core
QT -= gui
VERSION = 2.4.468.0
VERSION = 2.4.471.0
DEFINES += INTVER=$$VERSION
TARGET = x2t