From 2b00698810cc8cc3fc1ad3f01aabc11c1f6e9441 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 31 Oct 2024 15:06:46 +0300 Subject: [PATCH] Add support iwork formats --- Apple/IWork.cpp | 137 ++++++++ Apple/IWork.h | 36 +++ Apple/IWork.pro | 514 ++++++++++++++++++++++++++++++ Apple/fetch.py | 27 ++ Apple/test/examples/DO NOT REMOVE | 0 Apple/test/main.cpp | 45 +++ Apple/test/test.pro | 20 ++ 7 files changed, 779 insertions(+) create mode 100644 Apple/IWork.cpp create mode 100644 Apple/IWork.h create mode 100644 Apple/IWork.pro create mode 100644 Apple/fetch.py create mode 100644 Apple/test/examples/DO NOT REMOVE create mode 100644 Apple/test/main.cpp create mode 100644 Apple/test/test.pro diff --git a/Apple/IWork.cpp b/Apple/IWork.cpp new file mode 100644 index 0000000000..06134cb311 --- /dev/null +++ b/Apple/IWork.cpp @@ -0,0 +1,137 @@ +#include "IWork.h" +#include "../DesktopEditor/common/File.h" + +#include +#include +#include +#include +#include + +#include +#include +#include + +class CIWorkFile_Private +{ +public: + std::wstring m_sTempDirectory; + +public: + CIWorkFile_Private() + { + } + ~CIWorkFile_Private() + { + } +}; + +CIWorkFile::CIWorkFile() +{ + m_internal = new CIWorkFile_Private(); +} + +CIWorkFile::~CIWorkFile() +{ + delete m_internal; +} + +IWorkFileType CIWorkFile::GetType(const std::wstring& sFile) +{ + std::string sFileA = U_TO_UTF8(sFile); + std::shared_ptr input; + if (librevenge::RVNGDirectoryStream::isDirectory(sFileA.c_str())) + input.reset(new librevenge::RVNGDirectoryStream(sFileA.c_str())); + else + input.reset(new librevenge::RVNGFileStream(sFileA.c_str())); + + libetonyek::EtonyekDocument::Type type = libetonyek::EtonyekDocument::TYPE_UNKNOWN; + const libetonyek::EtonyekDocument::Confidence confidence = libetonyek::EtonyekDocument::isSupported(input.get(), &type); + + if (libetonyek::EtonyekDocument::CONFIDENCE_NONE == confidence) + return IWorkFileType::None; + + switch (type) + { + case libetonyek::EtonyekDocument::TYPE_PAGES: + return IWorkFileType::Pages; + case libetonyek::EtonyekDocument::TYPE_NUMBERS: + return IWorkFileType::Numbers; + case libetonyek::EtonyekDocument::TYPE_KEYNOTE: + return IWorkFileType::Keynote; + default: + break; + } + + return IWorkFileType::None; +} + +int CIWorkFile::Convert2Odf(const std::wstring& sFile, const std::wstring& sOutputFile) +{ + std::string sFileA = U_TO_UTF8(sFile); + std::shared_ptr input; + if (librevenge::RVNGDirectoryStream::isDirectory(sFileA.c_str())) + input.reset(new librevenge::RVNGDirectoryStream(sFileA.c_str())); + else + input.reset(new librevenge::RVNGFileStream(sFileA.c_str())); + + libetonyek::EtonyekDocument::Type type = libetonyek::EtonyekDocument::TYPE_UNKNOWN; + const libetonyek::EtonyekDocument::Confidence confidence = libetonyek::EtonyekDocument::isSupported(input.get(), &type); + + if (libetonyek::EtonyekDocument::CONFIDENCE_NONE == confidence) + return -1; + + switch (type) + { + case libetonyek::EtonyekDocument::TYPE_PAGES: + { + StringDocumentHandler content; + OdtGenerator generator; + generator.addDocumentHandler(&content, ODF_FLAT_XML); + + bool bRes = libetonyek::EtonyekDocument::parse(input.get(), &generator); + if (!bRes) + return 1; + + std::wofstream output(sOutputFile); + output << content.cstr(); + return 0; + } + case libetonyek::EtonyekDocument::TYPE_NUMBERS: + { + StringDocumentHandler content; + OdsGenerator generator; + generator.addDocumentHandler(&content, ODF_FLAT_XML); + + bool bRes = libetonyek::EtonyekDocument::parse(input.get(), &generator); + if (!bRes) + return 1; + + std::wofstream output(sOutputFile.c_str()); + output << content.cstr(); + return 0; + } + case libetonyek::EtonyekDocument::TYPE_KEYNOTE: + { + StringDocumentHandler content; + OdpGenerator generator; + generator.addDocumentHandler(&content, ODF_FLAT_XML); + + bool bRes = libetonyek::EtonyekDocument::parse(input.get(), &generator); + if (!bRes) + return 1; + + std::wofstream output(sOutputFile.c_str()); + output << content.cstr(); + return 0; + } + default: + break; + } + + return -1; +} + +void CIWorkFile::SetTmpDirectory(const std::wstring& sFolder) +{ + m_internal->m_sTempDirectory = sFolder; +} diff --git a/Apple/IWork.h b/Apple/IWork.h new file mode 100644 index 0000000000..d51e8aca53 --- /dev/null +++ b/Apple/IWork.h @@ -0,0 +1,36 @@ +#ifndef _FB2FILE_FB2FILE_H +#define _FB2FILE_FB2FILE_H + +#include + +#ifndef IWORK_USE_DYNAMIC_LIBRARY +#define IWORK_FILE_DECL_EXPORT +#else +#include "../DesktopEditor/common/base_export.h" +#define IWORK_FILE_DECL_EXPORT Q_DECL_EXPORT +#endif + +enum class IWorkFileType +{ + Pages = 0, + Numbers = 1, + Keynote = 2, + + None = 255 +}; + +class CIWorkFile_Private; +class IWORK_FILE_DECL_EXPORT CIWorkFile +{ +private: + CIWorkFile_Private* m_internal; +public: + CIWorkFile(); + ~CIWorkFile(); + + IWorkFileType GetType(const std::wstring& sFile); + int Convert2Odf(const std::wstring& sFile, const std::wstring& sOutputFile); + void SetTmpDirectory(const std::wstring& sFolder); +}; + +#endif // _FB2FILE_FB2FILE_H diff --git a/Apple/IWork.pro b/Apple/IWork.pro new file mode 100644 index 0000000000..ac8232bb00 --- /dev/null +++ b/Apple/IWork.pro @@ -0,0 +1,514 @@ +QT -= core +QT -= gui + +VERSION = 0.0.0.1 +TARGET = IWorkFile +TEMPLATE = lib + +CONFIG += shared +CONFIG += plugin + +DEFINES += IWORK_USE_DYNAMIC_LIBRARY + +CORE_ROOT_DIR = $$PWD/.. +PWD_ROOT_DIR = $$PWD +include($$CORE_ROOT_DIR/Common/base.pri) + +ADD_DEPENDENCY(kernel, UnicodeConverter) + +INCLUDEPATH += \ + $$PWD + +# BOOST +CONFIG += core_boost_regex +include($$CORE_ROOT_DIR/Common/3dParty/boost/boost.pri) + +# ZLIB +CONFIG += build_all_zlib build_zlib_as_sources +include($$PWD/../OfficeUtils/OfficeUtils.pri) + +# LIBXML +CONFIG += core_static_link_xml_full +CONFIG += core_only_libxml +include($$PWD/../DesktopEditor/xml/build/qt/libxml2.pri) + +# LIBREVENGE +REVENGE_LIB_ROOT = $$PWD/librevenge + +INCLUDEPATH += \ + $$REVENGE_LIB_ROOT/inc + +HEADERS += \ + $$REVENGE_LIB_ROOT/librevenge/librevenge.h \ + $$REVENGE_LIB_ROOT/librevenge/librevenge-api.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGBinaryData.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGDrawingInterface.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGPresentationInterface.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGProperty.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGPropertyList.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGPropertyListVector.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGSpreadsheetInterface.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGString.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGStringVector.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGSVGDrawingGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge/RVNGTextInterface.h \ + \ + $$REVENGE_LIB_ROOT/librevenge-generators/librevenge-generators.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/librevenge-generators-api.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGCSVSpreadsheetGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGHTMLTextGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGRawDrawingGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGRawPresentationGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGRawSpreadsheetGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGRawTextGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGSVGPresentationGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGTextDrawingGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGTextPresentationGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGTextSpreadsheetGenerator.h \ + $$REVENGE_LIB_ROOT/librevenge-generators/RVNGTextTextGenerator.h \ + \ + $$REVENGE_LIB_ROOT/librevenge-stream/librevenge-stream.h \ + $$REVENGE_LIB_ROOT/librevenge-stream/librevenge-stream-api.h \ + $$REVENGE_LIB_ROOT/librevenge-stream/RVNGDirectoryStream.h \ + $$REVENGE_LIB_ROOT/librevenge-stream/RVNGStream.h \ + $$REVENGE_LIB_ROOT/librevenge-stream/RVNGStreamImplementation.h + +HEADERS += \ + $$REVENGE_LIB_ROOT/src/lib/librevenge_internal.h \ + $$REVENGE_LIB_ROOT/src/lib/RVNGMemoryStream.h \ + \ + $$REVENGE_LIB_ROOT/src/lib/RVNGHTMLTextTextStyle.h \ + $$REVENGE_LIB_ROOT/src/lib/RVNGHTMLTextTableStyle.h \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawGeneratorBase.h \ + \ + $$REVENGE_LIB_ROOT/src/lib/RVNGOLEStream.h \ + $$REVENGE_LIB_ROOT/src/lib/RVNGZipStream.h + +SOURCES += \ + $$REVENGE_LIB_ROOT/src/lib/RVNGBinaryData.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGMemoryStream.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGProperty.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGPropertyList.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGPropertyListVector.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGString.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGStringVector.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGSVGDrawingGenerator.cpp \ + \ + $$REVENGE_LIB_ROOT/src/lib/RVNGCSVSpreadsheetGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGHTMLTextGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGHTMLTextTextStyle.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGHTMLTextTableStyle.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawGeneratorBase.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawDrawingGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawPresentationGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawSpreadsheetGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGRawTextGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGSVGPresentationGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGTextDrawingGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGTextPresentationGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGTextSpreadsheetGenerator.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGTextTextGenerator.cpp \ + \ + $$REVENGE_LIB_ROOT/src/lib/RVNGStreamImplementation.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGDirectoryStream.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGOLEStream.cpp \ + $$REVENGE_LIB_ROOT/src/lib/RVNGZipStream.cpp + +# LIBODFGEN +ODF_LIB_ROOT = $$PWD/libodfgen + +INCLUDEPATH += \ + $$ODF_LIB_ROOT/inc + +HEADERS += \ + $$ODF_LIB_ROOT/inc/libodfgen/OdfDocumentHandler.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/OdgGenerator.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/OdpGenerator.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/OdsGenerator.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/OdtGenerator.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/libodfgen.hxx \ + $$ODF_LIB_ROOT/inc/libodfgen/libodfgen-api.hxx + +HEADERS += \ + $$ODF_LIB_ROOT/src/DocumentElement.hxx \ + $$ODF_LIB_ROOT/src/FilterInternal.hxx \ + $$ODF_LIB_ROOT/src/FontStyle.hxx \ + $$ODF_LIB_ROOT/src/GraphicFunctions.hxx \ + $$ODF_LIB_ROOT/src/GraphicStyle.hxx \ + $$ODF_LIB_ROOT/src/InternalHandler.hxx \ + $$ODF_LIB_ROOT/src/ListStyle.hxx \ + $$ODF_LIB_ROOT/src/PageSpan.hxx \ + $$ODF_LIB_ROOT/src/SectionStyle.hxx \ + $$ODF_LIB_ROOT/src/SheetStyle.hxx \ + $$ODF_LIB_ROOT/src/TableStyle.hxx \ + $$ODF_LIB_ROOT/src/TextRunStyle.hxx \ + $$ODF_LIB_ROOT/src/OdcGenerator.hxx \ + $$ODF_LIB_ROOT/src/OdfGenerator.hxx \ + $$ODF_LIB_ROOT/src/Style.hxx + +SOURCES += \ + $$ODF_LIB_ROOT/src/DocumentElement.cxx \ + $$ODF_LIB_ROOT/src/FilterInternal.cxx \ + $$ODF_LIB_ROOT/src/FontStyle.cxx \ + $$ODF_LIB_ROOT/src/GraphicFunctions.cxx \ + $$ODF_LIB_ROOT/src/GraphicStyle.cxx \ + $$ODF_LIB_ROOT/src/InternalHandler.cxx \ + $$ODF_LIB_ROOT/src/ListStyle.cxx \ + $$ODF_LIB_ROOT/src/PageSpan.cxx \ + $$ODF_LIB_ROOT/src/SectionStyle.cxx \ + $$ODF_LIB_ROOT/src/SheetStyle.cxx \ + $$ODF_LIB_ROOT/src/TableStyle.cxx \ + $$ODF_LIB_ROOT/src/TextRunStyle.cxx \ + $$ODF_LIB_ROOT/src/OdcGenerator.cxx \ + $$ODF_LIB_ROOT/src/OdfGenerator.cxx \ + $$ODF_LIB_ROOT/src/OdgGenerator.cxx \ + $$ODF_LIB_ROOT/src/OdpGenerator.cxx \ + $$ODF_LIB_ROOT/src/OdsGenerator.cxx \ + $$ODF_LIB_ROOT/src/OdtGenerator.cxx + +# LIBETONYEK +ETONYEK_LIB_ROOT = $$PWD/libetonyek + +INCLUDEPATH += \ + $$ETONYEK_LIB_ROOT/inc \ + $$ETONYEK_LIB_ROOT/src/lib \ + $$ETONYEK_LIB_ROOT/src/lib/contexts \ + $$PWD/mdds/include \ + $$PWD/glm + +HEADERS += \ + $$ETONYEK_LIB_ROOT/inc/libetonyek/libetonyek.hxx \ + $$ETONYEK_LIB_ROOT/inc/libetonyek/EtonyekDocument.hxx + +HEADERS += \ + $$ETONYEK_LIB_ROOT/src/lib/IWAField.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAMessage.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAObjectIndex.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAObjectType.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAParser.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAReader.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWASnappyStream.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWAText.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKChainedTokenizer.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKChart.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDictionary.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDiscardContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDocumentInterface.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKEnum.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKFormula.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKLanguageManager.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKMemoryStream.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKOutputElements.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKOutputManager.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKParser.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPath.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPath_fwd.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPresentationRedirector.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKProperties.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPropertyHandler.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPropertyInfo.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPropertyMap.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKRecorder.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKShape.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKSpreadsheetRedirector.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStyle.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStyleStack.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStyle_fwd.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStylesheet.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKSubDirStream.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTable.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTableRecorder.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKText.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTextRecorder.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTextRedirector.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKText_fwd.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKToken.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTokenInfo.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTokenizer.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTokenizerBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTransformation.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTypes.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTypes_fwd.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLParserState.h \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKZlibStream.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Dictionary.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1ParserState.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Token.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Dictionary.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2ParserState.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Token.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY6ObjectType.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEY6Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEYCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEYEnum.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEYProperties.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEYTypes.h \ + $$ETONYEK_LIB_ROOT/src/lib/KEYTypes_fwd.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Dictionary.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1ParserState.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Token.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM3ObjectType.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM3Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUMCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Dictionary.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1ParserState.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Token.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG5ObjectType.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG5Parser.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAGCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAGEnum.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAGProperties.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAGTypes.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBezierElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBinaryElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBrContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCalcEngineContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCellCommentDrawableInfoElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKChartInfoElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKColorElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKContainerContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCoreImageFilterDescriptorElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKDataElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKDirectCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFieldElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFillElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFilteredImageElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFormatElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFormulaElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKGeometryElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKGroupElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKHeaderFooterContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKImageContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKImageElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLayoutElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLineElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLineEndElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLinkElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelGeometriesProperty.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelGeometryElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelIndentsProperty.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelTypeinfoElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelTypesProperty.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListTextIndentsProperty.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKMediaElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKMetadataElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKMutableArrayElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKNumberConverter.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKNumberElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKNumericPropertyContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPathElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPositionElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPropertyContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPropertyContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPropertyMapElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPtrPropertyContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPushCollector.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKRefContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKShapeContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKSizeElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKSpanElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStringElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStrokeContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStyleContainer.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStyleContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStyleRefContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStylesContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStylesheetBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTableInfoElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabsElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabularInfoElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabularModelElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextBodyElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextLabelElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextStorageElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKUnfilteredElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKValueContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKWrapElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1ContentElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1DivElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1FillElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1SpanElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1StringConverter.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1StylesContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1TableElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY2StyleContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1AnnotationContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1AnnotationElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1FootnotesElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1ShapeContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1StyleContext.h \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1TextStorageElement.h \ + $$ETONYEK_LIB_ROOT/src/lib/libetonyek_utils.h \ + $$ETONYEK_LIB_ROOT/src/lib/libetonyek_xml.h + +SOURCES += \ + $$ETONYEK_LIB_ROOT/src/lib/EtonyekDocument.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAField.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAMessage.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAObjectIndex.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAParser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAReader.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWASnappyStream.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWAText.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKChainedTokenizer.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKChart.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKCollector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDictionary.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDiscardContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKDocumentInterface.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKFormula.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKLanguageManager.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKMemoryStream.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKOutputElements.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKOutputManager.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKParser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPath.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPresentationRedirector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKProperties.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPropertyHandler.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKPropertyMap.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKRecorder.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKShape.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKSpreadsheetRedirector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStyle.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStyleStack.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKStylesheet.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKSubDirStream.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTable.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTableRecorder.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKText.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTextRecorder.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTextRedirector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKToken.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTokenizer.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTokenizerBase.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTransformation.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKTypes.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLContextBase.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKXMLParserState.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/IWORKZlibStream.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Dictionary.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1ParserState.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY1Token.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Dictionary.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2ParserState.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY2Token.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEY6Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEYCollector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEYProperties.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/KEYTypes.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Dictionary.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1ParserState.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1Token.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUM1XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/NUM3Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/NUMCollector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Dictionary.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1ParserState.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1Token.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAG1XMLContextBase.h \ + $$ETONYEK_LIB_ROOT/src/lib/PAG5Parser.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAGCollector.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAGProperties.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/PAGTypes.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBezierElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBinaryElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKBrContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCalcEngineContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCellCommentDrawableInfoElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKChartInfoElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKColorElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKCoreImageFilterDescriptorElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKDataElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFieldElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFillElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFilteredImageElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFormatElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKFormulaElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKGeometryElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKGroupElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKHeaderFooterContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKImageContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKImageElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLayoutElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLineElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLineEndElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKLinkElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelGeometriesProperty.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelGeometryElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelIndentsProperty.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelTypeinfoElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListLabelTypesProperty.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKListTextIndentsProperty.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKMediaElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKMetadataElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKNumberConverter.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPathElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPositionElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPropertyContextBase.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKPropertyMapElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKRefContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKShapeContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKSizeElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKSpanElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStringElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStrokeContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStyleContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStyleRefContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStylesContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKStylesheetBase.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTableInfoElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabsElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabularInfoElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTabularModelElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextBodyElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextLabelElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKTextStorageElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKUnfilteredElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/IWORKWrapElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1ContentElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1DivElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1FillElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1SpanElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1StringConverter.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1StylesContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY1TableElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/KEY2StyleContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1AnnotationContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1AnnotationElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1FootnotesElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1ShapeContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1StyleContext.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/contexts/PAG1TextStorageElement.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/libetonyek_utils.cpp \ + $$ETONYEK_LIB_ROOT/src/lib/libetonyek_xml.cpp + +# TEST +HEADERS += $$ODF_LIB_ROOT/test/StringDocumentHandler.h +SOURCES += $$ODF_LIB_ROOT/test/StringDocumentHandler.cxx + +SOURCES += IWork.cpp + +HEADERS += IWork.h diff --git a/Apple/fetch.py b/Apple/fetch.py new file mode 100644 index 0000000000..7c24166b4f --- /dev/null +++ b/Apple/fetch.py @@ -0,0 +1,27 @@ +import sys +sys.path.append("../../build_tools/scripts") +import base +import os + +base.cmd("git", ["clone", "https://github.com/g-truc/glm.git"]) +base.cmd("git", ["clone", "https://github.com/kohei-us/mdds.git"]) +base.cmd("git", ["clone", "https://github.com/Distrotech/librevenge.git"]) +base.cmd("git", ["clone", "https://github.com/Distrotech/libodfgen.git"]) +base.cmd("git", ["clone", "https://github.com/LibreOffice/libetonyek.git"]) + +stat_windows = "" +stat_windows += "#if !defined(S_ISREG) && defined(S_IFMT) && defined(S_IFREG)\n" +stat_windows += "#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)\n" +stat_windows += "#endif\n" +stat_windows += "#if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR)\n" +stat_windows += "#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)\n" +stat_windows += "#endif\n" + +base.replaceInFile("./librevenge/src/lib/RVNGDirectoryStream.cpp", "#include ", + "#include \n\n" + stat_windows) + +base_gperf_args = ["--compare-strncmp", "--enum", "--null-strings", "--readonly-tables", "--language", "C++"] +base_gperf_files = ["IWORKToken.gperf", "KEY1Token.gperf", "KEY2Token.gperf", "NUM1Token.gperf", "PAG1Token.gperf"] + +for file in base_gperf_files: + base.cmd_in_dir("./libetonyek/src/lib", "gperf", base_gperf_args + [file, "--output-file", file[0:file.find(".")] + ".inc"]) diff --git a/Apple/test/examples/DO NOT REMOVE b/Apple/test/examples/DO NOT REMOVE new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Apple/test/main.cpp b/Apple/test/main.cpp new file mode 100644 index 0000000000..27ee48db62 --- /dev/null +++ b/Apple/test/main.cpp @@ -0,0 +1,45 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2023 + * + * 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 20A-6 Ernesta Birznieka-Upish + * street, Riga, Latvia, EU, LV-1050. + * + * 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 "../IWork.h" +#include "../../DesktopEditor/common/File.h" + +int main(int argc, char *argv[]) +{ + CIWorkFile oFile; + + std::wstring sExamplesDir = NSFile::GetProcessDirectory() + L"/../examples"; + oFile.Convert2Odf(sExamplesDir + L"/new.pages", sExamplesDir + L"/out_new.odt"); + oFile.Convert2Odf(sExamplesDir + L"/old.pages", sExamplesDir + L"/out_old.odt"); + + return 0; +} diff --git a/Apple/test/test.pro b/Apple/test/test.pro new file mode 100644 index 0000000000..eaabb05de8 --- /dev/null +++ b/Apple/test/test.pro @@ -0,0 +1,20 @@ +CONFIG -= qt +QT -= core gui + +TARGET = test +CONFIG += console +CONFIG -= app_bundle +TEMPLATE = app + +CORE_ROOT_DIR = $$PWD/../.. +PWD_ROOT_DIR = $$PWD +include($$CORE_ROOT_DIR/Common/base.pri) + +ADD_DEPENDENCY(UnicodeConverter, kernel, IWorkFile) + +core_linux:include($$PWD/../../Common/3dParty/icu/icu.pri) +core_windows:LIBS += -lgdi32 -ladvapi32 -luser32 -lshell32 + +SOURCES += main.cpp + +DESTDIR = $$PWD/build