mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Compare commits
621 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 743800155c | |||
| ee5fed4dbb | |||
| 894239a034 | |||
| b8091509f4 | |||
| 0239816790 | |||
| f0bda85e87 | |||
| 5a42572d79 | |||
| 8cd9dfaef4 | |||
| fa6b903edc | |||
| e45a14e8df | |||
| 953a14ce13 | |||
| ee79088f92 | |||
| 1e2614ece9 | |||
| b47e7155ab | |||
| ca2d91a7f8 | |||
| e796ed7d72 | |||
| ebb375dfda | |||
| 7f30be5eba | |||
| 6c1434724f | |||
| f6a0121f1a | |||
| 00a18714e4 | |||
| aecf675627 | |||
| ee3898085c | |||
| 915e41e0ac | |||
| b0e9f2a255 | |||
| 45d3a1d490 | |||
| ea70fb9404 | |||
| c09f25b8d0 | |||
| 132c041182 | |||
| 45121fa2f8 | |||
| 4fab74ffdd | |||
| d25a2a79d8 | |||
| 0773ad19e6 | |||
| c89a45e08b | |||
| d632fcc2a2 | |||
| e5472df42c | |||
| f395aa1257 | |||
| a326867444 | |||
| 45c7f8b9f6 | |||
| 6b4566fe9a | |||
| 59836490a3 | |||
| 20760b8ce2 | |||
| 8ab7ddd5ca | |||
| 60cbfc54e8 | |||
| 6a64a2849c | |||
| 2f330e16a6 | |||
| d1dc39447d | |||
| 8f1b0db9ae | |||
| e1e54ae2da | |||
| 804d0822f2 | |||
| e32f76c8db | |||
| b339ea1866 | |||
| 18f53a9350 | |||
| 9d42b9d4f4 | |||
| 574fa40950 | |||
| 561dc7e8c5 | |||
| 1fe1155834 | |||
| 52ae479593 | |||
| 5940f95c3f | |||
| f188a48f48 | |||
| c8f4f52e4f | |||
| cdae42d897 | |||
| 291edf8319 | |||
| 8c2534b572 | |||
| 80c5e10c9d | |||
| 12a18a4e03 | |||
| 95bca8599a | |||
| 4e8df0bc79 | |||
| b49aa4413f | |||
| 952d16458c | |||
| 2dc6aa71de | |||
| 94f51bda81 | |||
| 6c056e4289 | |||
| 9e98968d04 | |||
| 56925eff71 | |||
| 012f04acd2 | |||
| 388b680547 | |||
| 6b24197cf1 | |||
| 42478ac950 | |||
| 7dfe4af359 | |||
| c066c24449 | |||
| 4a6d338a08 | |||
| a9cb8de197 | |||
| 683955bb5e | |||
| db2930ed33 | |||
| a763b497a2 | |||
| ed86945e14 | |||
| 5a4ca8479f | |||
| 9018e9a252 | |||
| 8bd6f45fb2 | |||
| a5c4cb9438 | |||
| f3f627572f | |||
| 125110e805 | |||
| 04e58e38f0 | |||
| 6d94535ff8 | |||
| 8f29d012a2 | |||
| 79d5bdd78b | |||
| 1136916768 | |||
| e6b69fe2f4 | |||
| 795a7fcb3b | |||
| 85a551fb63 | |||
| b9d6b59991 | |||
| 487e9ae95a | |||
| d7521d04a7 | |||
| f42c1df7a9 | |||
| c434d82807 | |||
| b694019e19 | |||
| e0185bd0c3 | |||
| e13683874a | |||
| 28ac386e08 | |||
| 1870b3fba4 | |||
| fb079be1bd | |||
| fc342a90ee | |||
| 269855a862 | |||
| bdacbac1b2 | |||
| 88877241e3 | |||
| 4e0cd2f9b0 | |||
| 68582b65d1 | |||
| 2ef8b83da0 | |||
| 218b36ab8d | |||
| 5b7deea769 | |||
| eb75805c88 | |||
| 26fea8bf52 | |||
| b4f424737c | |||
| 2e054bf9d9 | |||
| c75e65eb4c | |||
| 18c41a4846 | |||
| 61735c2790 | |||
| e872a4c0ac | |||
| 5af2d1b472 | |||
| 6044929214 | |||
| f293394cf4 | |||
| c0c11cf928 | |||
| ecbc73d33b | |||
| 4f9d22bcb0 | |||
| 7a261ba649 | |||
| 81d95a9108 | |||
| 57b46c22ef | |||
| 7ecfa52517 | |||
| 8de5e88469 | |||
| 7f8988278c | |||
| 26b2256fa8 | |||
| 67facf5e69 | |||
| 92e2385650 | |||
| ebec731098 | |||
| 2fdcd75eab | |||
| ccb5105ff7 | |||
| efeaf9b8d1 | |||
| 9e7d7a366d | |||
| af4a07d12f | |||
| a3b83ecace | |||
| 955025a3a1 | |||
| c0dd3db439 | |||
| afe1c7b341 | |||
| 53fcb5e639 | |||
| 03a7332f8a | |||
| c8a848766d | |||
| d21ad2ae43 | |||
| e1ce3d8456 | |||
| 8b6c3c288b | |||
| 0f9433c7ce | |||
| dd474f72ea | |||
| 1b918413cb | |||
| eb2aada6d9 | |||
| 6dcf645e88 | |||
| f61bf56d14 | |||
| b78fca4290 | |||
| b6cc7c823a | |||
| da2bf87c2b | |||
| 15ed64791f | |||
| fc7751a4e3 | |||
| a98dc97e48 | |||
| 82dc397171 | |||
| 20e92bbf95 | |||
| 09862cdd1c | |||
| 30ed03be15 | |||
| 005fea0701 | |||
| e0bd7f3e84 | |||
| abec57becd | |||
| 02efc63109 | |||
| bdf1295693 | |||
| c3b8e90a3e | |||
| 8e0216281d | |||
| e721f6c942 | |||
| 20eb11bf3f | |||
| 9a4a9a805f | |||
| 1c9b9d5e0f | |||
| 0d5b92520b | |||
| 809020965f | |||
| d612b64b4b | |||
| 7c15562236 | |||
| 74a8455e13 | |||
| db83a36fc4 | |||
| 9d12314f22 | |||
| c352a057e8 | |||
| c95b3dd04b | |||
| 658d35739a | |||
| cbf727460b | |||
| 4aae8eabca | |||
| 53deeec405 | |||
| 6a77d1d1c6 | |||
| f2db638138 | |||
| 79087dda1e | |||
| 6d9778e913 | |||
| d7f98f26d0 | |||
| 995beaefa1 | |||
| 377f454872 | |||
| e3c6e9b3f9 | |||
| 62289d1310 | |||
| a324d9f8d9 | |||
| 9545a3e7f3 | |||
| 721fc5e7ac | |||
| b4c8269729 | |||
| 7b49631c73 | |||
| 76d3b45fb8 | |||
| 3727b7391a | |||
| a3cab2d098 | |||
| 3430f915d3 | |||
| f172cc86b3 | |||
| 22f6607545 | |||
| 95c96bbffc | |||
| 6ae8c69efa | |||
| 04bb20a8e4 | |||
| 2b8e9009a9 | |||
| ded9e12051 | |||
| 9134d0f087 | |||
| 21685704b6 | |||
| d4f7cc6d6f | |||
| 374af06be8 | |||
| 8b42268d7e | |||
| a22f0515e0 | |||
| a33de97309 | |||
| 707e610625 | |||
| 0e76a06c46 | |||
| 137d25cdbb | |||
| 29214ee77e | |||
| 3e922260d3 | |||
| a2c92066ba | |||
| b3530fa2dd | |||
| 67bd59e343 | |||
| 8b85428f82 | |||
| 99f44b62ed | |||
| ea6c30e2bd | |||
| 3e3aa0352d | |||
| 06c64fa222 | |||
| ebfa8da621 | |||
| 231daf9977 | |||
| 70473c80a0 | |||
| 2f4ae5ebc8 | |||
| 597155af11 | |||
| 69f2c29679 | |||
| e68fd292ba | |||
| b7129680c3 | |||
| 30d3472b62 | |||
| 48e3b820a3 | |||
| e845124498 | |||
| 72c2753cab | |||
| 5ff7ca9b4c | |||
| 5392788a72 | |||
| 0602d89de0 | |||
| fc91e7b9ce | |||
| 1c5a0bd0f4 | |||
| a7cd1c1210 | |||
| 9ecc2410a6 | |||
| ebf2680335 | |||
| 0294266863 | |||
| be04ee38b7 | |||
| b73ef690bb | |||
| d5189a952a | |||
| 87af894198 | |||
| 3ecdbe6d64 | |||
| 28220bbde7 | |||
| f6908517e2 | |||
| 3cb19a4ceb | |||
| 433c5b1cfe | |||
| cb51dc3e40 | |||
| 6ff569edf7 | |||
| 1e9e2ab603 | |||
| d1aa2ebfe3 | |||
| 9701fa9807 | |||
| fc7d427407 | |||
| 0bee7b0aaa | |||
| 722ab2c2ca | |||
| b547c28e72 | |||
| 17b25167b1 | |||
| 3c6096967b | |||
| ef99a5d92d | |||
| ada8f8beb8 | |||
| ea11a8c348 | |||
| 73362fd852 | |||
| b611a6b099 | |||
| c3b7d3de8b | |||
| b89180a549 | |||
| 958e1fcadf | |||
| 0793519bb0 | |||
| f5332a8b59 | |||
| 92d916fa57 | |||
| d1b7b280c5 | |||
| 113e15c391 | |||
| 2481578533 | |||
| 8950b3535a | |||
| b4701ac83c | |||
| 9e58de380e | |||
| 05c6260499 | |||
| 6dd1e80ce5 | |||
| 533d04e8f3 | |||
| a81115d2f3 | |||
| 3618465853 | |||
| e20588a3da | |||
| fafa2023d1 | |||
| 32823bd55a | |||
| 37a851ef98 | |||
| 9099a04b2d | |||
| af246c553e | |||
| 42e515dfec | |||
| 15da75c473 | |||
| e90b2957a6 | |||
| b0f77fddf1 | |||
| 276bc48a24 | |||
| 9d475122e3 | |||
| 6f01769c4d | |||
| 5495def631 | |||
| a6a2243099 | |||
| 90172d03ef | |||
| 6f321fc0e3 | |||
| c8e2b18f35 | |||
| 7956395c7c | |||
| d5cbd33a59 | |||
| 25fb7daee9 | |||
| afbb6fe4ff | |||
| 03e2fa60fa | |||
| efdc67e1ba | |||
| cb8f8c535c | |||
| ed9e6a83e6 | |||
| e9325f77e0 | |||
| 2ff6b62854 | |||
| 8e4750bb0b | |||
| 8dbe1da419 | |||
| c8cf662c1b | |||
| 81a1364ae0 | |||
| 57f1438949 | |||
| 45b6929dd4 | |||
| f66053508b | |||
| 82b11909f9 | |||
| 5bc07126a9 | |||
| 4836418528 | |||
| 4547a18aab | |||
| ed2f9e0035 | |||
| 20011c8647 | |||
| 1599d943f4 | |||
| b03b2a52bb | |||
| ad44fecc10 | |||
| 64b428a992 | |||
| 39f6dda5d8 | |||
| 3f73c12f83 | |||
| 5702a34d69 | |||
| 5487058744 | |||
| c75af891b2 | |||
| 3c1a598fd5 | |||
| d7c4ceba92 | |||
| 54e10c7b55 | |||
| 9327fce5ca | |||
| 0bd55565fe | |||
| 48121355f3 | |||
| d5d8c86e8e | |||
| 7569534cfd | |||
| e0fd7ff1f0 | |||
| d9217329eb | |||
| e3fa8c53bf | |||
| 26a677074c | |||
| 601f615a35 | |||
| c45b6034c7 | |||
| 2c2cfbe07d | |||
| 792915bb3a | |||
| 5de83dc86a | |||
| 7d5eb31f25 | |||
| 5910bbfa5d | |||
| 4ec1830847 | |||
| ee81e468ab | |||
| fcd824042a | |||
| 0df0b9774d | |||
| b81c634800 | |||
| 1b9541b2b6 | |||
| a7ef272cb5 | |||
| bafa576191 | |||
| 461809134c | |||
| aade9540d0 | |||
| 93b55d7936 | |||
| faeac14054 | |||
| 6148c337d9 | |||
| a4fcd4919d | |||
| b7d6948081 | |||
| 8fda6f48ce | |||
| ad2023083f | |||
| 83bf58cb93 | |||
| 21a9296e85 | |||
| d4a083c6ba | |||
| 8a29a3e9e4 | |||
| 4ac1c8c928 | |||
| abed5269b2 | |||
| 071c0e75c8 | |||
| c6823c617a | |||
| 5142761c85 | |||
| 9faf8bedd5 | |||
| f5ef1dd683 | |||
| 59eb3cfea5 | |||
| 761ceab8d2 | |||
| d2c8c14f8b | |||
| fbe9ba88b9 | |||
| e75b9dd848 | |||
| 34a525e74d | |||
| bcc1801edb | |||
| 709282dfd4 | |||
| f7c518d145 | |||
| 7779b864c1 | |||
| 4a5c027cf4 | |||
| a1caf0792d | |||
| 317d425ff2 | |||
| b4d2bff379 | |||
| 99742dd7b3 | |||
| f0e7921347 | |||
| 35fb50c226 | |||
| 0465a264aa | |||
| aaa24271e9 | |||
| c8ce35e4b9 | |||
| 934bbe2283 | |||
| cf3a73a548 | |||
| c06c0ad088 | |||
| 7b12ef172a | |||
| 6cb75bc53a | |||
| 4ce8c56fc9 | |||
| 1034f66555 | |||
| 2627e2a7dd | |||
| 93209acab6 | |||
| 36dc01463f | |||
| f9730a4a6d | |||
| d4de820fa3 | |||
| 7b0bc5a059 | |||
| 18a4775984 | |||
| 2dc8038257 | |||
| ef7281f362 | |||
| 016a90610f | |||
| 2e3b5e6d39 | |||
| f862f962e0 | |||
| da76475a51 | |||
| 521053adf8 | |||
| a234671ad2 | |||
| 5214162718 | |||
| 2845b2ea4b | |||
| d652e3c32f | |||
| 974b66aa60 | |||
| 6fb07e8ae3 | |||
| 6ad4a538eb | |||
| f47f27890c | |||
| b589dafb48 | |||
| 3872501d7f | |||
| 6f33e529e5 | |||
| 9ec56fb323 | |||
| cf65ec1448 | |||
| 2f8e492fc6 | |||
| 75866f2e86 | |||
| 9457fd7ac0 | |||
| 692890f75d | |||
| 5b3467290f | |||
| e711c7b993 | |||
| 25d3b69fde | |||
| db72b01e99 | |||
| e9e9a954ac | |||
| 2e4486b49b | |||
| f7a1773105 | |||
| b9782ddb7c | |||
| 79283a087a | |||
| 7abae785cb | |||
| 132c979174 | |||
| 33eb1a7ab7 | |||
| f8b730dbc8 | |||
| 72edf8e89d | |||
| 4fd0b0e461 | |||
| 3185ca0f36 | |||
| 5f96f5dbb7 | |||
| e6edae010a | |||
| 1b7b530906 | |||
| c7c25895c2 | |||
| da415dcbbd | |||
| bf2edb3776 | |||
| dd7010f2cd | |||
| cc7294cadb | |||
| 1f809a129d | |||
| edcdd0ab8e | |||
| da5a147393 | |||
| 321ca7e0ff | |||
| 04b9c9ae1d | |||
| 69d4a44b3c | |||
| 237fb15d19 | |||
| 124e90696c | |||
| d2ff657b81 | |||
| 8a39c5470e | |||
| 08d55a40ff | |||
| 1747439048 | |||
| 419d0ba99a | |||
| fe129f33ce | |||
| 2ed31b0b8a | |||
| 7b14e28ffa | |||
| 4c84e5f9a3 | |||
| 09d6d280a5 | |||
| a1b480b83e | |||
| 3a9cf26462 | |||
| 00db21d443 | |||
| dbc591ab44 | |||
| ebc9990f71 | |||
| c9144ea4c6 | |||
| 77ce9fbef3 | |||
| 2b29a23b26 | |||
| 38356d622a | |||
| b0c898b97e | |||
| edb7bc2fc3 | |||
| dee8a6d37a | |||
| f2da4416ae | |||
| f72475b172 | |||
| 1af0a7845d | |||
| 01d753cfc3 | |||
| 64dcd1d0d7 | |||
| 5ddbe33783 | |||
| 861833b792 | |||
| 0e666c8e17 | |||
| 2ea9e20bd4 | |||
| c525b15de2 | |||
| 3fb32cc029 | |||
| 3f0bb334ed | |||
| 2573f77c96 | |||
| 6f91f99649 | |||
| b41613a67f | |||
| 806dc7f21b | |||
| abe4b20d46 | |||
| 2b79302d2b | |||
| 0574712c5c | |||
| 15d5213146 | |||
| 2c4d2af648 | |||
| 010c73675e | |||
| 6d958038cb | |||
| 1990eb70d4 | |||
| fe1d0e8f4c | |||
| a5c97f8b57 | |||
| ecd62f9fcc | |||
| 33b7f5ffb7 | |||
| 729bdfd752 | |||
| 293805d0ef | |||
| 5255d356f3 | |||
| 03b0045ba9 | |||
| 01ed59348f | |||
| b82be5aac8 | |||
| 3e7519ff4f | |||
| 7763f666fd | |||
| f71d111641 | |||
| 9dae8f2b66 | |||
| ea4f885923 | |||
| ba5b250faf | |||
| 2bd9e8adf1 | |||
| 26aa839648 | |||
| 0cf5cf0bfa | |||
| 9d84c6a435 | |||
| 7e2e5c07c1 | |||
| 8f430b75c6 | |||
| d757c5c048 | |||
| beab3a36e1 | |||
| 4e761e9f1d | |||
| 62e0ca27d1 | |||
| c74b034372 | |||
| cff1d0e2ac | |||
| 86d34b1341 | |||
| 77ee0a7aab | |||
| 0d7983c905 | |||
| 242f4496e5 | |||
| 650268b474 | |||
| b97b0bfde3 | |||
| 420e2b8518 | |||
| 6369200c6e | |||
| dce5c3f1b0 | |||
| 72d9418fd5 | |||
| 1da52687ae | |||
| de80aa2e42 | |||
| 9f7f51fc82 | |||
| dee0cf0424 | |||
| cac21d43ad | |||
| de88587dde | |||
| 1b5766ac77 | |||
| ea281eb57c | |||
| 6676124c5b | |||
| 14e3951d7e | |||
| 923cab1fc0 | |||
| 882ac192a2 | |||
| db72b90d3a | |||
| 7cc4bff37c | |||
| ca66431f14 | |||
| 2e549efa1b | |||
| e30806413a | |||
| c4cad9ced9 | |||
| f03e7cf2a9 | |||
| f6e2e91a4d | |||
| ee296ff09d | |||
| f7b3f95bcb | |||
| d586befe30 | |||
| 4269b2862f | |||
| ccda615144 | |||
| 4d9e28ce09 | |||
| 7cb4914239 | |||
| ed498c296d | |||
| 27950b108b | |||
| e1f905ffe0 | |||
| 290b677dbe | |||
| c1855bbf2a | |||
| b8d663139b | |||
| b725ab4d75 | |||
| b683adb0ba | |||
| 17a84755ba | |||
| d58bd76f8c | |||
| d11c2e5b1b | |||
| 61f6422f4d | |||
| c3ab05b40e | |||
| 57cf4311a0 | |||
| e1d7bf74ba |
12
.gitignore
vendored
12
.gitignore
vendored
@ -26,3 +26,15 @@ Thumbs.db
|
||||
*.dat
|
||||
*.txt
|
||||
*.log
|
||||
|
||||
*.ipch
|
||||
*.ipch
|
||||
*.ipch
|
||||
|
||||
*.db-wal
|
||||
|
||||
*.db-shm
|
||||
|
||||
*.db
|
||||
|
||||
*.opendb
|
||||
|
||||
31
ASCOfficeDocFile/DocFormatLib/Win32/DocFormatLib.sln
Normal file
31
ASCOfficeDocFile/DocFormatLib/Win32/DocFormatLib.sln
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31624.102
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocFormatLib", "DocFormatLib.vcxproj", "{C5371405-338F-4B70-83BD-2A5CDF64F383}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x64.Build.0 = Debug|x64
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Debug|x86.Build.0 = Debug|Win32
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x64.ActiveCfg = Release|x64
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x64.Build.0 = Release|x64
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x86.ActiveCfg = Release|Win32
|
||||
{C5371405-338F-4B70-83BD-2A5CDF64F383}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {3EDBED06-16E0-41A4-B58C-20C41B41BE20}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@ -68,8 +68,8 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<IncludePath>D:\_Work\core\Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>D:\_Work\core\Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>..\..\..\Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>..\..\..\Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
@ -88,7 +88,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\DesktopEditor\freetype-2.5.2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
|
||||
@ -3535,10 +3535,6 @@ int Binary_CustomsTableReader::ReadCustomContent(BYTE type, long length, void* p
|
||||
{
|
||||
pCustomXMLProps->m_oCustomXmlContent = m_oBufferedStream.GetString3(length);
|
||||
}
|
||||
else if (c_oSerCustoms::ContentA == type)
|
||||
{
|
||||
pCustomXMLProps->m_oCustomXmlContentA = m_oBufferedStream.GetString2A();
|
||||
}
|
||||
else
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
return res;
|
||||
|
||||
@ -1158,8 +1158,7 @@ extern int g_nCurFormatVersion;
|
||||
Custom = 0,
|
||||
ItemId = 1,
|
||||
Uri = 2,
|
||||
Content = 3,
|
||||
ContentA = 4
|
||||
Content = 3
|
||||
};}
|
||||
namespace c_oSerApp{enum c_oSerApp
|
||||
{
|
||||
|
||||
@ -9058,8 +9058,11 @@ void BinaryCustomsTableWriter::Write(OOX::CDocument* pDocument)
|
||||
}
|
||||
}
|
||||
|
||||
int nCurPos2 = m_oBcw.WriteItemStart(c_oSerCustoms::ContentA);
|
||||
m_oBcw.m_oStream.WriteStringA(pCustomXml->m_sXmlA);
|
||||
int nCurPos2 = m_oBcw.WriteItemStart(c_oSerCustoms::Content);
|
||||
|
||||
std::wstring sXml = NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE*)pCustomXml->m_sXmlA.c_str(), pCustomXml->m_sXmlA.length());
|
||||
m_oBcw.m_oStream.WriteStringW3(sXml);
|
||||
|
||||
m_oBcw.WriteItemEnd(nCurPos2);
|
||||
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
|
||||
@ -14,6 +14,10 @@ include(../../Common/base.pri)
|
||||
#BOOST
|
||||
include($$PWD/../../Common/3dParty/boost/boost.pri)
|
||||
|
||||
INCLUDEPATH += ../../ASCOfficeXlsFile2/source/XlsFormat
|
||||
INCLUDEPATH += ../../ASCOfficeXlsFile2/source/Common
|
||||
INCLUDEPATH += ../../Common/DocxFormat/Source/XlsbFormat
|
||||
|
||||
DEFINES += UNICODE \
|
||||
_UNICODE \
|
||||
SOLUTION_ASCOFFICEDOCXFILE2 \
|
||||
|
||||
@ -70,8 +70,8 @@
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<IncludePath>D:\_Work\core\Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>D:\_Work\core\Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>../../Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>../../Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||
|
||||
@ -1,28 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Common">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\Common\OfficeFileFormatChecker.h">
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\Common\OfficeFileFormatChecker2.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Common\3dParty\pole\pole.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="OdfFileTest.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Common\DocxFormat\Source\Base\unicode_util.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Common">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\Common\OfficeFileFormatChecker.h">
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\Common\OfficeFileFormatChecker2.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Common\3dParty\pole\pole.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="OdfFileTest.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Common\DocxFormat\Source\Base\unicode_util.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -58,6 +58,7 @@ namespace formulasconvert {
|
||||
void replace_tilda(std::wstring& expr);
|
||||
void replace_vertical(std::wstring& expr);
|
||||
void replace_space(std::wstring& expr);
|
||||
void replace_apersand(std::wstring& expr);
|
||||
|
||||
std::wstring convert_named_ref(const std::wstring& expr, bool withTableName, std::wstring separator);
|
||||
std::wstring convert_named_expr(const std::wstring& expr, bool withTableName);
|
||||
@ -76,6 +77,17 @@ namespace formulasconvert {
|
||||
static std::wstring table_name_;
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------
|
||||
static std::wstring replace_apersand_formater(boost::wsmatch const & what)
|
||||
{
|
||||
if (what[1].matched)
|
||||
return L"&";
|
||||
else if (what[2].matched)
|
||||
return what[2].str();
|
||||
else if (what[3].matched)
|
||||
return what[3].str();
|
||||
else
|
||||
return L"";
|
||||
}
|
||||
static std::wstring replace_semicolons_formater(boost::wsmatch const & what)
|
||||
{
|
||||
if (what[1].matched)
|
||||
@ -128,6 +140,7 @@ namespace formulasconvert {
|
||||
XmlUtils::replace_all( expr, L"PROBEL", L" ");
|
||||
//XmlUtils::replace_all( expr, L"APOSTROF", L"'");
|
||||
//XmlUtils::replace_all( expr, L"KAVYCHKA", L"\"");
|
||||
XmlUtils::replace_all(expr, L"APERSAND", L"&");
|
||||
}
|
||||
static void replace_tmp(std::wstring &expr)
|
||||
{
|
||||
@ -172,6 +185,10 @@ namespace formulasconvert {
|
||||
{
|
||||
result += L"PROBEL";
|
||||
}break;
|
||||
case '&':
|
||||
{
|
||||
result += L"APERSAND";
|
||||
}break;
|
||||
default:
|
||||
{
|
||||
result += expr[pos];
|
||||
@ -495,6 +512,17 @@ namespace formulasconvert {
|
||||
|
||||
expr = res;
|
||||
}
|
||||
void odf2oox_converter::Impl::replace_apersand(std::wstring& expr)
|
||||
{
|
||||
const std::wstring res = boost::regex_replace(
|
||||
expr,
|
||||
//boost::wregex(L"(;)|(?:\".*?\")|(?:'.*?')"),
|
||||
boost::wregex(L"(&)|(\".*?\")|('.*?')"),
|
||||
&replace_apersand_formater,
|
||||
boost::match_default | boost::format_all);
|
||||
|
||||
expr = res;
|
||||
}
|
||||
// заменить вертикальную черту во всех вхождениях в фигурных скобках, но не внутри строк
|
||||
void odf2oox_converter::Impl::replace_vertical(std::wstring& expr)
|
||||
{
|
||||
@ -531,7 +559,8 @@ namespace formulasconvert {
|
||||
replace_semicolons (workstr);
|
||||
replace_tilda (workstr);
|
||||
replace_vertical (workstr);
|
||||
|
||||
replace_apersand (workstr);
|
||||
|
||||
if (isFormula)
|
||||
{
|
||||
XmlUtils::replace_all( workstr, L"FDIST(", L"_xlfn.F.DIST(");
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
#include <string>
|
||||
|
||||
#include "../CPSharedPtr.h"
|
||||
#include "../xml/nodetype.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "../CPOptional.h"
|
||||
#include "logging.h"
|
||||
#include "../logging.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace common {
|
||||
|
||||
@ -1,327 +1,330 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* 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-12 Ernesta Birznieka-Upisha
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <stack>
|
||||
#include <cassert>
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
|
||||
namespace xml
|
||||
{
|
||||
|
||||
namespace writer
|
||||
{
|
||||
|
||||
template <class T> struct chars { };
|
||||
|
||||
template <>
|
||||
struct chars<char>
|
||||
{
|
||||
static const char eq = '=';
|
||||
static const char quote = '\"';
|
||||
static const char space = ' ';
|
||||
static const char left_brocket = '<';
|
||||
static const char right_brocket = '>';
|
||||
static const char slash = '/';
|
||||
static const char colon = ':';
|
||||
static const char amp = '&';
|
||||
static const char apos = '\'';
|
||||
static const char * cdata_open() { return "<![CDATA["; }
|
||||
static const char * cdata_close() { return "]]>"; }
|
||||
static const char * amp_str(){ return "&"; }
|
||||
static const char * left_brocket_str() { return "<"; }
|
||||
static const char * right_brocket_str() { return ">"; }
|
||||
static const char * apos_str() { return "'"; }
|
||||
static const char * quote_str() { return """; }
|
||||
};
|
||||
|
||||
template <>
|
||||
struct chars<wchar_t>
|
||||
{
|
||||
static const wchar_t eq = L'=';
|
||||
static const wchar_t quote = L'\"';
|
||||
static const wchar_t space = L' ';
|
||||
static const wchar_t left_brocket = L'<';
|
||||
static const wchar_t right_brocket = L'>';
|
||||
static const wchar_t slash = L'/';
|
||||
static const wchar_t colon = L':';
|
||||
static const wchar_t amp = L'&';
|
||||
static const wchar_t apos = L'\'';
|
||||
static const wchar_t * cdata_open() { return L"<![CDATA["; }
|
||||
static const wchar_t * cdata_close() { return L"]]>"; }
|
||||
static const wchar_t * amp_str(){ return L"&"; }
|
||||
static const wchar_t * left_brocket_str() { return L"<"; }
|
||||
static const wchar_t * right_brocket_str() { return L">"; }
|
||||
static const wchar_t * apos_str() { return L"'"; }
|
||||
static const wchar_t * quote_str() { return L"""; }
|
||||
};
|
||||
|
||||
template <class V>
|
||||
class element;
|
||||
|
||||
//
|
||||
// xml::writer class
|
||||
//
|
||||
template <class T>
|
||||
class writer
|
||||
{
|
||||
public:
|
||||
// writer must be bound to an ostream
|
||||
writer(std::basic_ostream<T>& os, bool need_header = false) : level_(0), os_(os), need_header_(need_header) {}
|
||||
~writer(void) { assert(elements_.empty()); }
|
||||
|
||||
private:
|
||||
size_t level_;
|
||||
std::basic_ostream<T>& os_; // output stream
|
||||
bool need_header_; // have we written an XML header yet?
|
||||
std::stack<element<T>*> elements_; // stack of open element tags
|
||||
|
||||
|
||||
// write XML header, if necessary
|
||||
writer& header()
|
||||
{
|
||||
if (need_header_)
|
||||
{
|
||||
// TODO
|
||||
//os_ << "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
|
||||
need_header_ = false;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write a single character to the output stream
|
||||
writer& putc(T c)
|
||||
{
|
||||
os_.put(c);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write a string to the output stream
|
||||
writer& puts(const T* str) {
|
||||
os_ << str;
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class V>
|
||||
friend class element;
|
||||
};
|
||||
|
||||
//
|
||||
// xml::element class
|
||||
//
|
||||
template <class T>
|
||||
class element
|
||||
{
|
||||
public:
|
||||
// create a new element tag, bound to an xml::writer
|
||||
element(writer<T>& wr, std::basic_string<T, std::char_traits<T>, std::allocator<T> > const & name) : wr_(wr), name_(name)
|
||||
{
|
||||
wr_.level_++;
|
||||
check_parent();
|
||||
wr_.header().putc('<').puts(name_.c_str());
|
||||
tagopen_ = true;
|
||||
wr_.elements_.push(this);
|
||||
}
|
||||
|
||||
// close the current element tag
|
||||
~element()
|
||||
{
|
||||
if (!wr_.elements_.empty() && wr_.elements_.top() == this)
|
||||
{
|
||||
wr_.elements_.pop();
|
||||
if (tagopen_)
|
||||
wr_.putc(chars<T>::slash)
|
||||
.putc(chars<T>::right_brocket);
|
||||
else
|
||||
wr_.putc(chars<T>::left_brocket)
|
||||
.putc(chars<T>::slash)
|
||||
.puts(name_.c_str())
|
||||
.putc(chars<T>::right_brocket);
|
||||
}
|
||||
wr_.level_--;
|
||||
}
|
||||
|
||||
// write an attribute for the current element
|
||||
element& attr(const T* name, const T* value)
|
||||
{
|
||||
assert(name != 0);
|
||||
assert(value != 0);
|
||||
assert(tagopen_);
|
||||
wr_.putc(chars<T>::space)
|
||||
.puts(name)
|
||||
.putc(chars<T>::eq)
|
||||
.putc(chars<T>::quote);
|
||||
qputs(value);
|
||||
wr_.putc(chars<T>::quote);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// attr() overload for std::string type
|
||||
element& attr(const T* name, const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& value)
|
||||
{
|
||||
return attr(name, value.c_str());
|
||||
}
|
||||
|
||||
// attr() function template for all streamable types
|
||||
template <class V>
|
||||
element& attr(const T* name, V value)
|
||||
{
|
||||
std::basic_stringstream<T, std::char_traits<T>, std::allocator<T> > ss;
|
||||
ss << value;
|
||||
attr(name, ss.str());
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write text content for the current element
|
||||
element& contents(const T* str)
|
||||
{
|
||||
assert(str != 0);
|
||||
check_parent();
|
||||
qputs(str);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// contents() overload for std::string type
|
||||
element& contents(const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& str)
|
||||
{
|
||||
return contents(str.c_str());
|
||||
}
|
||||
|
||||
// contents() function template for all streamable types
|
||||
template <class V>
|
||||
element& contents(V value)
|
||||
{
|
||||
std::basic_stringstream<T, std::char_traits<T>, std::allocator<T> > ss;
|
||||
ss << value;
|
||||
contents(ss.str());
|
||||
return *this;
|
||||
}
|
||||
|
||||
std::basic_ostream<T>& stream()
|
||||
{
|
||||
check_parent();
|
||||
return wr_.os_;
|
||||
}
|
||||
|
||||
// write CDATA section
|
||||
element& cdata(const T * str)
|
||||
{
|
||||
assert(str != 0);
|
||||
check_parent();
|
||||
wr_.puts(chars<T>::cdata_open());
|
||||
wr_.puts(str);
|
||||
wr_.puts(chars<T>::cdata_close());
|
||||
return *this;
|
||||
}
|
||||
|
||||
// cdata() overload for std::string type
|
||||
element& cdata(const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& str)
|
||||
{
|
||||
return cdata(str.c_str());
|
||||
}
|
||||
|
||||
private:
|
||||
writer<T>& wr_; // bound XML writer
|
||||
//const T* name_; // name of current element
|
||||
const std::basic_string<T, std::char_traits<T>, std::allocator<T> > name_;
|
||||
bool tagopen_; // is the element tag for this element still open?
|
||||
|
||||
// write a string quoting characters which have meaning in xml
|
||||
element& qputs(const T* str)
|
||||
{
|
||||
for (; *str; ++str)
|
||||
{
|
||||
switch (*str)
|
||||
{
|
||||
case chars<T>::amp:
|
||||
wr_.puts(chars<T>::amp_str()); break;
|
||||
|
||||
case chars<T>::left_brocket:
|
||||
wr_.puts(chars<T>::left_brocket_str()); break;
|
||||
|
||||
case chars<T>::right_brocket:
|
||||
wr_.puts(chars<T>::right_brocket_str()); break;
|
||||
|
||||
case chars<T>::apos:
|
||||
wr_.puts(chars<T>::apos_str()); break;
|
||||
|
||||
case chars<T>::quote:
|
||||
wr_.puts(chars<T>::quote_str()); break;
|
||||
|
||||
default:
|
||||
wr_.putc(*str); break;
|
||||
}
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
// check to see if we have a parent tag which needs to be closed
|
||||
void check_parent()
|
||||
{
|
||||
if (!wr_.elements_.empty() && wr_.elements_.top()->tagopen_)
|
||||
{
|
||||
wr_.putc(chars<T>::right_brocket);
|
||||
wr_.elements_.top()->tagopen_ = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
typedef xml::writer::writer<wchar_t> xml_writer;
|
||||
typedef xml::writer::element<wchar_t> xml_element;
|
||||
|
||||
#define CP_XML_WRITER(STRM) if (bool _b_ = false) {} else for (xml_writer _xml_wr_((STRM));!_b_;_b_=true)
|
||||
#define CP_XML_NODE(NAME) if (bool _b_ = false) {} else for (xml_element _xml_node_(_xml_wr_, (NAME));!_b_;_b_=true)
|
||||
#define CP_XML_ATTR(NAME, VAL) _xml_node_.attr((NAME),(VAL))
|
||||
#define CP_XML_ATTR2(NAME, VAL) _xml_node_.attr((std::wstring(NAME).c_str()),(VAL))
|
||||
#define CP_XML_CONTENT(VAL) _xml_node_.contents((VAL))
|
||||
#define CP_XML_STREAM() _xml_node_.stream()
|
||||
|
||||
#define CP_GET_XML_NODE() _xml_node_
|
||||
|
||||
#define CP_ATTR_NODE xml_element & _xml_node_
|
||||
|
||||
|
||||
|
||||
#define CP_XML_ATTR_OPT(NAME, VAL) if (VAL)CP_XML_ATTR(NAME, (*VAL))
|
||||
|
||||
#define CP_XML_NODE_SIMPLE() std::wstring NS_NAME = std::wstring(ns) + std::wstring(L":") + std::wstring(name); CP_XML_NODE(NS_NAME)
|
||||
|
||||
}
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* 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-12 Ernesta Birznieka-Upisha
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <stack>
|
||||
#include <cassert>
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
|
||||
namespace xml
|
||||
{
|
||||
|
||||
namespace writer
|
||||
{
|
||||
|
||||
template <class T> struct chars { };
|
||||
|
||||
template <>
|
||||
struct chars<char>
|
||||
{
|
||||
static const char eq = '=';
|
||||
static const char quote = '\"';
|
||||
static const char space = ' ';
|
||||
static const char left_brocket = '<';
|
||||
static const char right_brocket = '>';
|
||||
static const char slash = '/';
|
||||
static const char colon = ':';
|
||||
static const char amp = '&';
|
||||
static const char apos = '\'';
|
||||
static const char * cdata_open() { return "<![CDATA["; }
|
||||
static const char * cdata_close() { return "]]>"; }
|
||||
static const char * amp_str(){ return "&"; }
|
||||
static const char * left_brocket_str() { return "<"; }
|
||||
static const char * right_brocket_str() { return ">"; }
|
||||
static const char * apos_str() { return "'"; }
|
||||
static const char * quote_str() { return """; }
|
||||
};
|
||||
|
||||
template <>
|
||||
struct chars<wchar_t>
|
||||
{
|
||||
static const wchar_t eq = L'=';
|
||||
static const wchar_t quote = L'\"';
|
||||
static const wchar_t space = L' ';
|
||||
static const wchar_t left_brocket = L'<';
|
||||
static const wchar_t right_brocket = L'>';
|
||||
static const wchar_t slash = L'/';
|
||||
static const wchar_t colon = L':';
|
||||
static const wchar_t amp = L'&';
|
||||
static const wchar_t apos = L'\'';
|
||||
static const wchar_t * cdata_open() { return L"<![CDATA["; }
|
||||
static const wchar_t * cdata_close() { return L"]]>"; }
|
||||
static const wchar_t * amp_str(){ return L"&"/* L"&"*/; }
|
||||
static const wchar_t * left_brocket_str() { return L"<"; }
|
||||
static const wchar_t * right_brocket_str() { return L">"; }
|
||||
static const wchar_t * apos_str() { return L"'"; }
|
||||
static const wchar_t * quote_str() { return L"""; }
|
||||
};
|
||||
|
||||
template <class V>
|
||||
class element;
|
||||
|
||||
//
|
||||
// xml::writer class
|
||||
//
|
||||
template <class T>
|
||||
class writer
|
||||
{
|
||||
public:
|
||||
// writer must be bound to an ostream
|
||||
writer(std::basic_ostream<T>& os, bool need_header = false) : level_(0), os_(os), need_header_(need_header) {}
|
||||
~writer(void) { assert(elements_.empty()); }
|
||||
|
||||
private:
|
||||
size_t level_;
|
||||
std::basic_ostream<T>& os_; // output stream
|
||||
bool need_header_; // have we written an XML header yet?
|
||||
std::stack<element<T>*> elements_; // stack of open element tags
|
||||
|
||||
|
||||
// write XML header, if necessary
|
||||
writer& header()
|
||||
{
|
||||
if (need_header_)
|
||||
{
|
||||
// TODO
|
||||
//os_ << "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
|
||||
need_header_ = false;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write a single character to the output stream
|
||||
writer& putc(T c)
|
||||
{
|
||||
os_.put(c);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write a string to the output stream
|
||||
writer& puts(const T* str) {
|
||||
os_ << str;
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class V>
|
||||
friend class element;
|
||||
};
|
||||
|
||||
//
|
||||
// xml::element class
|
||||
//
|
||||
template <class T>
|
||||
class element
|
||||
{
|
||||
public:
|
||||
// create a new element tag, bound to an xml::writer
|
||||
element(writer<T>& wr, std::basic_string<T, std::char_traits<T>, std::allocator<T> > const & name) : wr_(wr), name_(name)
|
||||
{
|
||||
wr_.level_++;
|
||||
check_parent();
|
||||
wr_.header().putc('<').puts(name_.c_str());
|
||||
tagopen_ = true;
|
||||
wr_.elements_.push(this);
|
||||
}
|
||||
|
||||
// close the current element tag
|
||||
~element()
|
||||
{
|
||||
if (!wr_.elements_.empty() && wr_.elements_.top() == this)
|
||||
{
|
||||
wr_.elements_.pop();
|
||||
if (tagopen_)
|
||||
wr_.putc(chars<T>::slash)
|
||||
.putc(chars<T>::right_brocket);
|
||||
else
|
||||
wr_.putc(chars<T>::left_brocket)
|
||||
.putc(chars<T>::slash)
|
||||
.puts(name_.c_str())
|
||||
.putc(chars<T>::right_brocket);
|
||||
}
|
||||
wr_.level_--;
|
||||
}
|
||||
|
||||
// write an attribute for the current element
|
||||
element& attr(const T* name, const T* value)
|
||||
{
|
||||
assert(name != 0);
|
||||
assert(value != 0);
|
||||
assert(tagopen_);
|
||||
wr_.putc(chars<T>::space)
|
||||
.puts(name)
|
||||
.putc(chars<T>::eq)
|
||||
.putc(chars<T>::quote);
|
||||
qputs(value);
|
||||
wr_.putc(chars<T>::quote);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// attr() overload for std::string type
|
||||
element& attr(const T* name, const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& value)
|
||||
{
|
||||
return attr(name, value.c_str());
|
||||
}
|
||||
|
||||
// attr() function template for all streamable types
|
||||
template <class V>
|
||||
element& attr(const T* name, V value)
|
||||
{
|
||||
std::basic_stringstream<T, std::char_traits<T>, std::allocator<T> > ss;
|
||||
ss << value;
|
||||
attr(name, ss.str());
|
||||
return *this;
|
||||
}
|
||||
|
||||
// write text content for the current element
|
||||
element& contents(const T* str)
|
||||
{
|
||||
assert(str != 0);
|
||||
check_parent();
|
||||
qputs(str);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// contents() overload for std::string type
|
||||
element& contents(const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& str)
|
||||
{
|
||||
return contents(str.c_str());
|
||||
}
|
||||
|
||||
// contents() function template for all streamable types
|
||||
template <class V>
|
||||
element& contents(V value)
|
||||
{
|
||||
std::basic_stringstream<T, std::char_traits<T>, std::allocator<T> > ss;
|
||||
ss << value;
|
||||
contents(ss.str());
|
||||
return *this;
|
||||
}
|
||||
|
||||
std::basic_ostream<T>& stream()
|
||||
{
|
||||
check_parent();
|
||||
return wr_.os_;
|
||||
}
|
||||
|
||||
// write CDATA section
|
||||
element& cdata(const T * str)
|
||||
{
|
||||
assert(str != 0);
|
||||
check_parent();
|
||||
wr_.puts(chars<T>::cdata_open());
|
||||
wr_.puts(str);
|
||||
wr_.puts(chars<T>::cdata_close());
|
||||
return *this;
|
||||
}
|
||||
|
||||
// cdata() overload for std::string type
|
||||
element& cdata(const std::basic_string<T, std::char_traits<T>, std::allocator<T> >& str)
|
||||
{
|
||||
return cdata(str.c_str());
|
||||
}
|
||||
|
||||
private:
|
||||
writer<T>& wr_; // bound XML writer
|
||||
//const T* name_; // name of current element
|
||||
const std::basic_string<T, std::char_traits<T>, std::allocator<T> > name_;
|
||||
bool tagopen_; // is the element tag for this element still open?
|
||||
|
||||
// write a string quoting characters which have meaning in xml
|
||||
element& qputs(const T* str)
|
||||
{
|
||||
for (; *str; ++str)
|
||||
{
|
||||
switch (*str)
|
||||
{
|
||||
case chars<T>::amp:
|
||||
wr_.puts(chars<T>::amp_str()); break;
|
||||
|
||||
case chars<T>::left_brocket:
|
||||
wr_.puts(chars<T>::left_brocket_str()); break;
|
||||
|
||||
case chars<T>::right_brocket:
|
||||
wr_.puts(chars<T>::right_brocket_str()); break;
|
||||
|
||||
case chars<T>::apos:
|
||||
wr_.puts(chars<T>::apos_str()); break;
|
||||
|
||||
case chars<T>::quote:
|
||||
wr_.puts(chars<T>::quote_str()); break;
|
||||
|
||||
default:
|
||||
wr_.putc(*str); break;
|
||||
}
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
// check to see if we have a parent tag which needs to be closed
|
||||
void check_parent()
|
||||
{
|
||||
if (!wr_.elements_.empty() && wr_.elements_.top()->tagopen_)
|
||||
{
|
||||
wr_.putc(chars<T>::right_brocket);
|
||||
wr_.elements_.top()->tagopen_ = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
typedef xml::writer::writer<wchar_t> xml_writer;
|
||||
typedef xml::writer::element<wchar_t> xml_element;
|
||||
|
||||
#define CP_XML_WRITER(STRM) if (bool _b_ = false) {} else for (xml_writer _xml_wr_((STRM));!_b_;_b_=true)
|
||||
#define CP_XML_NODE(NAME) if (bool _b_ = false) {} else for (xml_element _xml_node_(_xml_wr_, (NAME));!_b_;_b_=true)
|
||||
#define CP_XML_ATTR(NAME, VAL) _xml_node_.attr((NAME),(VAL))
|
||||
#define CP_XML_ATTR2(NAME, VAL) _xml_node_.attr((std::wstring(NAME).c_str()),(VAL))
|
||||
#define CP_XML_CONTENT(VAL) _xml_node_.contents((VAL))
|
||||
#define CP_XML_STREAM() _xml_node_.stream()
|
||||
|
||||
#define CP_GET_XML_NODE() _xml_node_
|
||||
|
||||
#define CP_ATTR_NODE xml_element & _xml_node_
|
||||
|
||||
|
||||
#define CP_XML_ATTR_OPT(NAME, VAL) if (VAL)CP_XML_ATTR(NAME, (*VAL))
|
||||
#define CP_XML_ATTR_OPT_ENCODE_STRING(NAME, STR) if (STR)CP_XML_ATTR(NAME, XmlUtils::EncodeXmlString(XmlUtils::EncodeXmlString(*STR)))
|
||||
|
||||
#define CP_XML_NODE_SIMPLE() std::wstring NS_NAME = std::wstring(ns) + std::wstring(L":") + std::wstring(name); CP_XML_NODE(NS_NAME)
|
||||
|
||||
#define CP_XML_NODE_SIMPLE_NONS() CP_XML_NODE(std::wstring(name))
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#include <iostream>
|
||||
|
||||
#include "conversionelement.h"
|
||||
#include "logging.h"
|
||||
#include "../include/logging.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -30,9 +30,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <xml/attributes.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "docx_content_type.h"
|
||||
#include "namespaces.h"
|
||||
|
||||
@ -33,7 +33,9 @@
|
||||
|
||||
#include <string>
|
||||
#include <iosfwd>
|
||||
#include <xml/xmlelement.h>
|
||||
#include <vector>
|
||||
|
||||
#include "../../include/xml/xmlelement.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <xml/utils.h>
|
||||
#include <odf/odf_document.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/utils.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "docx_conversion_context.h"
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
#include "docx_package.h"
|
||||
#include "xlsx_package.h"
|
||||
#include "oox_rels.h"
|
||||
#include "logging.h"
|
||||
#include "../../include/logging.h"
|
||||
|
||||
#include "../../../DesktopEditor/graphics/pro/Fonts.h"
|
||||
#include "../../../Common/DocxFormat/Source/XML/Utils.h"
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include "docx_drawing.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/datatypes/custom_shape_types_convert.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -33,9 +33,6 @@
|
||||
|
||||
#include <iosfwd>
|
||||
#include <iostream>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/attributes.h>
|
||||
|
||||
#include "oox_drawing.h"
|
||||
#include "mediaitems.h"
|
||||
|
||||
@ -34,8 +34,6 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <CPSharedPtr.h>
|
||||
|
||||
#include "oox_rels.h"
|
||||
#include "docx_content_type.h"
|
||||
#include "oox_package.h"
|
||||
|
||||
@ -29,11 +29,12 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#include <iostream>
|
||||
|
||||
#include "docx_conversion_context.h"
|
||||
#include "logging.h"
|
||||
#include <iostream>
|
||||
#include <odf/odf_document.h>
|
||||
|
||||
#include "../../include/logging.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
#include "../odf/odfcontext.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -46,7 +46,12 @@ struct _rect
|
||||
double x;
|
||||
double y;
|
||||
};
|
||||
|
||||
enum _anchor_rel
|
||||
{
|
||||
anchor_none = 0,
|
||||
anchor_start = 1,
|
||||
anchor_end = 2
|
||||
};
|
||||
struct drawing_object_description
|
||||
{
|
||||
bool bNotes_;
|
||||
@ -58,6 +63,7 @@ struct drawing_object_description
|
||||
|
||||
_CP_OPT(_rect) svg_rect_;
|
||||
|
||||
_anchor_rel anchor_rel_;
|
||||
std::wstring anchor_;
|
||||
double anchor_x_;
|
||||
double anchor_y_;
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "hyperlinks.h"
|
||||
|
||||
#include <xml/utils.h>
|
||||
#include "../../include/xml/utils.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#include "measuredigits.h"
|
||||
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <logging.h>
|
||||
|
||||
#include "../../include/logging.h"
|
||||
#include "../../../DesktopEditor/graphics/pro/Fonts.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -34,14 +34,14 @@
|
||||
|
||||
#include <boost/regex.hpp>
|
||||
|
||||
#include <xml/utils.h>
|
||||
#include "../../include/xml/utils.h"
|
||||
|
||||
#include "../../Common/DocxFormat/Source/Base/Base.h"
|
||||
#include "../../Common/DocxFormat/Source/SystemUtility/File.h"
|
||||
#include "../../../Common/DocxFormat/Source/Base/Base.h"
|
||||
#include "../../../Common/DocxFormat/Source/SystemUtility/File.h"
|
||||
|
||||
#include "../../DesktopEditor/common/Directory.h"
|
||||
#include "../../DesktopEditor/raster/ImageFileFormatChecker.h"
|
||||
#include "../../DesktopEditor/graphics/pro/Fonts.h"
|
||||
#include "../../../DesktopEditor/common/Directory.h"
|
||||
#include "../../../DesktopEditor/raster/ImageFileFormatChecker.h"
|
||||
#include "../../../DesktopEditor/graphics/pro/Fonts.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -30,10 +30,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_chart_axis.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "oox_title.h"
|
||||
#include "oox_chart_shape.h"
|
||||
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
|
||||
#include "oox_chart_shape.h"
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_rels.h"
|
||||
#include "oox_chart_context.h"
|
||||
|
||||
@ -32,10 +32,10 @@
|
||||
#pragma once
|
||||
#include "oox_package.h"
|
||||
|
||||
#include <CPNoncopyable.h>
|
||||
#include "../../include/CPNoncopyable.h"
|
||||
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
|
||||
#include "oox_title.h"
|
||||
#include "oox_plot_area.h"
|
||||
@ -75,9 +75,12 @@ public:
|
||||
}
|
||||
void set_3D_chart(bool val)
|
||||
{
|
||||
for (size_t i = 0 ; i < plot_area_.charts_.size(); i++)
|
||||
for (size_t i = 0 ; i < plot_area_.charts_.size(); ++i)
|
||||
{
|
||||
plot_area_.charts_[i]->is3D_ = val;
|
||||
|
||||
for (size_t j = 0; j < plot_area_.charts_[i]->series_.size(); ++j)
|
||||
plot_area_.charts_[i]->series_[j]->is3D_ = val;
|
||||
}
|
||||
}
|
||||
void set_externalData(const std::wstring & href);
|
||||
|
||||
@ -32,11 +32,9 @@
|
||||
|
||||
|
||||
#include <boost/functional.hpp>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_chart_legend.h"
|
||||
|
||||
#include "oox_chart_shape.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
#include "oox_layout.h"
|
||||
|
||||
|
||||
@ -34,13 +34,13 @@
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/ref.hpp>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
#include "xlsx_utils.h"
|
||||
|
||||
#include "oox_chart_series.h"
|
||||
#include "../formulasconvert/formulasconvert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
|
||||
#include "oox_chart_shape.h"
|
||||
|
||||
@ -58,6 +58,7 @@ oox_chart_series::oox_chart_series()
|
||||
iSymbolMarkerType_ = 0;
|
||||
bCacheOnly_ = false;
|
||||
labelPosEnabled_ = true;
|
||||
is3D_ = false;
|
||||
}
|
||||
void oox_chart_series::setName(const std::wstring &value)
|
||||
{
|
||||
@ -571,10 +572,30 @@ void oox_bar_series::oox_serialize(std::wostream & _Wostream)
|
||||
CP_XML_NODE(L"c:ser")
|
||||
{
|
||||
oox_serialize_common(CP_XML_STREAM());
|
||||
|
||||
if (is3D_)
|
||||
{
|
||||
CP_XML_NODE(L"c:shape")
|
||||
{
|
||||
switch (iSolidType.get_value_or(0))
|
||||
{
|
||||
case 1: CP_XML_ATTR(L"val", L"cylinder"); break;
|
||||
case 2: CP_XML_ATTR(L"val", L"cone"); break;
|
||||
case 3: CP_XML_ATTR(L"val", L"pyramid"); break;
|
||||
case 0:
|
||||
default: CP_XML_ATTR(L"val", L"box"); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void oox_bar_series::set_properties(std::vector<odf_reader::_property> g)
|
||||
{
|
||||
oox_chart_series::set_properties(g);
|
||||
|
||||
odf_reader::GetProperty(g, L"solid-type", iSolidType);
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
_CP_PTR(oox_chart_series) oox_line_series::create()
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
|
||||
#include "../odf/chart_objects.h"
|
||||
|
||||
#include "oox_chart_values.h"
|
||||
@ -55,6 +55,8 @@ public:
|
||||
|
||||
virtual void oox_serialize(std::wostream & _Wostream) = 0;
|
||||
|
||||
bool is3D_;
|
||||
|
||||
bool labelPosEnabled_;
|
||||
_oox_chart_values values_[5]; //cat, common, x, y, bubble,
|
||||
|
||||
@ -78,6 +80,8 @@ public:
|
||||
|
||||
odf_reader::chart::series content_;
|
||||
|
||||
virtual void set_properties(std::vector<odf_reader::_property> g) {}
|
||||
|
||||
//extLst (Chart Extensibility) §21.2.2.64
|
||||
//idx (Index) §21.2.2.84
|
||||
//order (Order) §21.2.2.128
|
||||
@ -95,7 +99,11 @@ public:
|
||||
|
||||
static oox_series_ptr create();
|
||||
|
||||
virtual void set_properties(std::vector<odf_reader::_property> g);
|
||||
|
||||
virtual void oox_serialize(std::wostream & _Wostream);
|
||||
|
||||
_CP_OPT(int) iSolidType;
|
||||
};
|
||||
//cat (Category Axis Data) §21.2.2.24
|
||||
//errBars (Error Bars) §21.2.2.55
|
||||
|
||||
@ -30,8 +30,7 @@
|
||||
*
|
||||
*/
|
||||
#include <boost/functional.hpp>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_chart_shape.h"
|
||||
#include "oox_drawing.h"
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
#include "../odf/chart_objects.h"
|
||||
#include "oox_drawing_fills.h"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -33,9 +33,9 @@
|
||||
#include "oox_conversion_context.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <xml/utils.h>
|
||||
#include <odf/odf_document.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/utils.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "../odf/odfcontext.h"
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
@ -29,10 +29,7 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_data_labels.h"
|
||||
#include "oox_chart_shape.h"
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
#include <vector>
|
||||
#include <boost/noncopyable.hpp>
|
||||
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/xml/attributes.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
|
||||
@ -33,8 +33,7 @@
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include "oox_drawing.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/datatypes/custom_shape_types_convert.h"
|
||||
|
||||
using namespace cpdoccore;
|
||||
|
||||
@ -33,9 +33,6 @@
|
||||
|
||||
#include <iosfwd>
|
||||
#include <iostream>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/attributes.h>
|
||||
|
||||
#include "mediaitems.h"
|
||||
#include "oox_drawing_fills.h"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "oox_drawing_fills.h"
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,12 +32,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <CPOptional.h>
|
||||
#include <CPSharedPtr.h>
|
||||
|
||||
#include "../odf/datatypes/lengthorpercent.h"
|
||||
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
|
||||
#include "oox_layout.h"
|
||||
#include <boost/functional.hpp>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,8 +32,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
|
||||
#include "../odf/chart_objects.h"
|
||||
|
||||
|
||||
@ -34,14 +34,14 @@
|
||||
|
||||
#include <boost/ref.hpp>
|
||||
|
||||
#include <utf8cpp/utf8.h>
|
||||
#include "../../include/utf8cpp/utf8.h"
|
||||
|
||||
#include "mediaitems.h"
|
||||
#include "../../DesktopEditor/common/File.h"
|
||||
#include "../../DesktopEditor/common/SystemUtils.h"
|
||||
#include "../../DesktopEditor/graphics/pro/Image.h"
|
||||
#include "../../DesktopEditor/raster/ImageFileFormatChecker.h"
|
||||
#include "../../Common/DocxFormat/Source/Base/Base.h"
|
||||
#include "../../../DesktopEditor/common/File.h"
|
||||
#include "../../../DesktopEditor/common/SystemUtils.h"
|
||||
#include "../../../DesktopEditor/graphics/pro/Image.h"
|
||||
#include "../../../DesktopEditor/raster/ImageFileFormatChecker.h"
|
||||
#include "../../../Common/DocxFormat/Source/Base/Base.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -29,12 +29,13 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#ifndef _CPDOCCORE_OOX_PACKAGE_H_75f74d15
|
||||
#define _CPDOCCORE_OOX_PACKAGE_H_75f74d15
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <CPNoncopyable.h>
|
||||
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include "../../include/CPNoncopyable.h"
|
||||
#include "../../include/CPOptional.h"
|
||||
|
||||
#include "docx_content_type.h"
|
||||
#include "oox_rels.h"
|
||||
@ -269,4 +270,3 @@ private:
|
||||
} // namespace oox
|
||||
} // namespace cpdoccore
|
||||
|
||||
#endif
|
||||
|
||||
@ -33,14 +33,15 @@
|
||||
#include "oox_plot_area.h"
|
||||
|
||||
#include <random>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
#include "oox_chart_shape.h"
|
||||
#include "../../ASCOfficeOdfFile/src/odf/datatypes/chartclass.h"
|
||||
|
||||
#include "../odf/datatypes/chartclass.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,8 +32,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
|
||||
#include "oox_types_chart.h"
|
||||
#include "oox_chart_axis.h"
|
||||
|
||||
@ -31,9 +31,10 @@
|
||||
*/
|
||||
|
||||
#include "oox_rels.h"
|
||||
#include <xml/attributes.h>
|
||||
#include "namespaces.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/attributes.h"
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <iosfwd>
|
||||
#include <xml/xmlelement.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/xml/xmlelement.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
|
||||
#include "oox_title.h"
|
||||
#include <boost/functional.hpp>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/odfcontext.h"
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
#include "oox_layout.h"
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "oox_types_chart.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
@ -59,6 +59,7 @@ void oox_chart::set_name(const std::wstring& val)
|
||||
void oox_chart::set_content_series(odf_reader::chart::series & content)
|
||||
{
|
||||
series_.back()->content_= content;
|
||||
series_.back()->set_properties(content.properties_);
|
||||
}
|
||||
|
||||
void oox_chart::set_values_series(int ind, std::vector<std::wstring> & val)
|
||||
@ -146,6 +147,7 @@ void oox_bar_chart::set_properties(std::vector<odf_reader::_property> g)
|
||||
|
||||
odf_reader::GetProperty(g, L"gap-width", iGapWidth);
|
||||
odf_reader::GetProperty(g, L"overlap", iOverlap);
|
||||
odf_reader::GetProperty(g, L"solid-type", iSolidType);
|
||||
}
|
||||
|
||||
void oox_bar_chart::set_additional_properties(std::vector<odf_reader::_property> g)
|
||||
@ -199,7 +201,14 @@ void oox_bar_chart::oox_serialize(std::wostream & _Wostream)
|
||||
{
|
||||
CP_XML_NODE(L"c:shape")
|
||||
{
|
||||
CP_XML_ATTR(L"val", L"box");
|
||||
switch (iSolidType.get_value_or(0))
|
||||
{
|
||||
case 1: CP_XML_ATTR(L"val", L"cylinder"); break;
|
||||
case 2: CP_XML_ATTR(L"val", L"cone"); break;
|
||||
case 3: CP_XML_ATTR(L"val", L"pyramid"); break;
|
||||
case 0:
|
||||
default: CP_XML_ATTR(L"val", L"box"); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ class oox_bar_chart: public oox_chart
|
||||
_CP_OPT(bool) bConnectBars;
|
||||
_CP_OPT(int) iGapWidth;
|
||||
_CP_OPT(int) iOverlap;
|
||||
|
||||
_CP_OPT(int) iSolidType;
|
||||
|
||||
//gapWidth (Gap Width) §21.2.2.75
|
||||
//overlap (Overlap) §21.2.2.131
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include <string>
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "pptx_comments.h"
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "oox_rels.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include "../../include/xml/attributes.h"
|
||||
#include "mediaitems.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -34,8 +34,6 @@
|
||||
|
||||
#include <string>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
|
||||
#include "pptx_comments.h"
|
||||
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
|
||||
#include "pptx_package.h"
|
||||
|
||||
#include <odf/odf_document.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/odf/odf_document.h"
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
|
||||
@ -31,7 +31,8 @@
|
||||
*/
|
||||
|
||||
#include "pptx_drawing.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/datatypes/custom_shape_types_convert.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -33,9 +33,6 @@
|
||||
|
||||
#include <iosfwd>
|
||||
#include <iostream>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/attributes.h>
|
||||
|
||||
#include "oox_drawing.h"
|
||||
#include "mediaitems.h"
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_rels.h"
|
||||
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include "../../include/xml/attributes.h"
|
||||
#include "mediaitems.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#include <boost/make_shared.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "pptx_output_xml.h"
|
||||
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPNoncopyable.h>
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/CPNoncopyable.h"
|
||||
|
||||
#include "oox_rels.h"
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "pptx_package.h"
|
||||
#include "pptx_output_xml.h"
|
||||
|
||||
#include <utf8cpp/utf8.h>
|
||||
#include "../../include/utf8cpp/utf8.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -31,8 +31,9 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "../../include/CPNoncopyable.h"
|
||||
|
||||
#include "oox_package.h"
|
||||
#include <CPNoncopyable.h>
|
||||
#include "pptx_comments.h"
|
||||
|
||||
namespace NSFonts
|
||||
|
||||
@ -31,9 +31,10 @@
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include <xml/utils.h>
|
||||
#include <odf/odf_document.h>
|
||||
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../include/xml/utils.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
|
||||
#include "pptx_drawing.h"
|
||||
#include "pptx_drawings.h"
|
||||
|
||||
@ -32,15 +32,15 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include <odf/odf_document.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
|
||||
#include "../odf/odfcontext.h"
|
||||
#include "../odf/draw_common.h"
|
||||
#include "../odf/calcs_styles.h"
|
||||
#include "../odf/datatypes/borderstyle.h"
|
||||
|
||||
#include "logging.h"
|
||||
#include "../../include/logging.h"
|
||||
|
||||
#include "pptx_conversion_context.h"
|
||||
|
||||
|
||||
@ -37,9 +37,9 @@
|
||||
#include <iostream>
|
||||
#include <list>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include <odf/odf_document.h>
|
||||
#include <xml/utils.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../include/odf/odf_document.h"
|
||||
#include "../../include/xml/utils.h"
|
||||
|
||||
#include "../odf/odfcontext.h"
|
||||
#include "../odf/calcs_styles.h"
|
||||
|
||||
@ -33,10 +33,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
#include "oox_conversion_context.h"
|
||||
#include "../odf/datatypes/stylefamily.h"
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
#include <ostream>
|
||||
#include <boost/functional.hpp>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <string>
|
||||
#include "../../include/CPOptional.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
|
||||
@ -32,8 +32,7 @@
|
||||
|
||||
#include "xlsx_border.h"
|
||||
#include <boost/functional.hpp>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../odf/style_text_properties.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -32,7 +32,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
#include <boost/functional.hpp>
|
||||
#include <boost/unordered_set.hpp>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "xlsx_border.h"
|
||||
#include "../odf/datatypes/length.h"
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace odf_reader {
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "xlsx_cell_style.h"
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -29,14 +29,13 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#ifndef _CPDOCCORE_XLSX_CELL_STYLE_H_
|
||||
#define _CPDOCCORE_XLSX_CELL_STYLE_H_
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <string>
|
||||
|
||||
#include <CPSharedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
#include "../../include/CPOptional.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
@ -54,4 +53,3 @@ namespace oox {
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
#include <vector>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "xlsx_cell_styles.h"
|
||||
#include "xlsx_cell_style.h"
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,10 +32,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPOptional.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "../../include/CPOptional.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "oox_rels.h"
|
||||
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -32,9 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/xml/attributes.h"
|
||||
#include "mediaitems.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -33,8 +33,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
#include "xlsx_comments.h"
|
||||
|
||||
|
||||
@ -29,11 +29,10 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#ifndef CPDOCCORE_COMPLEX_NUMBER_FORMAT
|
||||
#define CPDOCCORE_COMPLEX_NUMBER_FORMAT
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
@ -57,6 +56,4 @@ private:
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
@ -35,10 +35,10 @@
|
||||
|
||||
#include <vector>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../../Common/DocxFormat/Source/XML/Utils.h"
|
||||
|
||||
#include "../formulasconvert/formulasconvert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPOptional.h"
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include <string>
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -36,12 +36,13 @@
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../include/CPSharedPtr.h"
|
||||
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/algorithm/string/regex.hpp>
|
||||
|
||||
#include "../formulasconvert/formulasconvert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
#include "../../../Common/DocxFormat/Source/XML/Utils.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -31,8 +31,7 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include <string>
|
||||
|
||||
namespace cpdoccore {
|
||||
|
||||
@ -33,9 +33,9 @@
|
||||
#include "xlsx_defined_names.h"
|
||||
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "../formulasconvert/formulasconvert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
|
||||
@ -29,13 +29,12 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#ifndef _CPDOCCORE_XLSX_DEFINED_NAMES_H_
|
||||
#define _CPDOCCORE_XLSX_DEFINED_NAMES_H_
|
||||
#pragma once
|
||||
|
||||
#include <iosfwd>
|
||||
#include <string>
|
||||
#include <CPOptional.h>
|
||||
#include <CPScopedPtr.h>
|
||||
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
|
||||
namespace cpdoccore {
|
||||
namespace oox {
|
||||
@ -59,6 +58,3 @@ namespace oox {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
*/
|
||||
|
||||
#include "xlsx_drawing.h"
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include <xml/utils.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
#include "../../include/xml/utils.h"
|
||||
|
||||
#include "../odf/datatypes/custom_shape_types_convert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
|
||||
@ -33,9 +33,6 @@
|
||||
|
||||
#include <iosfwd>
|
||||
#include <iostream>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPOptional.h>
|
||||
#include <xml/attributes.h>
|
||||
|
||||
#include "oox_drawing.h"
|
||||
#include "xlsx_table_position.h"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include <iostream>
|
||||
#include <xml/utils.h>
|
||||
#include "../../include/xml/utils.h"
|
||||
|
||||
#include "xlsx_drawing.h"
|
||||
#include "xlsx_drawings.h"
|
||||
@ -41,7 +41,7 @@
|
||||
#include "xlsx_table_metrics.h"
|
||||
|
||||
#include "../odf/draw_common.h"
|
||||
#include "../formulasconvert/formulasconvert.h"
|
||||
#include "../../formulasconvert/formulasconvert.h"
|
||||
|
||||
#include "drawing_object_description.h"
|
||||
|
||||
@ -192,6 +192,7 @@ void xlsx_drawing_context::clear()
|
||||
impl_->object_description_.xlink_href_ = L"";
|
||||
impl_->object_description_.name_ = L"";
|
||||
impl_->object_description_.anchor_ = L"";
|
||||
impl_->object_description_.anchor_rel_ = anchor_none;
|
||||
impl_->object_description_.anchor_x_ = 0;
|
||||
impl_->object_description_.anchor_y_ = 0;
|
||||
impl_->object_description_.clipping_string_ = L"";
|
||||
@ -434,23 +435,42 @@ void xlsx_drawing_context::set_rel_anchor(_INT32 owner_cx, _INT32 owner_cy)
|
||||
impl_->object_description_.owner_cx_ = owner_cx;
|
||||
impl_->object_description_.owner_cy_ = owner_cy;
|
||||
}
|
||||
|
||||
void xlsx_drawing_context::set_anchor(std::wstring anchor, double x_pt, double y_pt, bool group)
|
||||
void xlsx_drawing_context::set_anchor_end(std::wstring anchor, double x_pt, double y_pt, bool group)
|
||||
{
|
||||
if (group)
|
||||
{
|
||||
impl_->groups_.back()->anchor_ = anchor;
|
||||
impl_->groups_.back()->anchor_x_ = x_pt;
|
||||
impl_->groups_.back()->anchor_y_ = y_pt;
|
||||
impl_->groups_.back()->anchor_rel_ = anchor_end;
|
||||
impl_->groups_.back()->anchor_ = anchor;
|
||||
impl_->groups_.back()->anchor_x_ = x_pt;
|
||||
impl_->groups_.back()->anchor_y_ = y_pt;
|
||||
}
|
||||
else
|
||||
{
|
||||
impl_->object_description_.anchor_ = anchor;
|
||||
impl_->object_description_.anchor_x_ = x_pt;
|
||||
impl_->object_description_.anchor_y_ = y_pt;
|
||||
impl_->object_description_.anchor_rel_ = anchor_end;
|
||||
impl_->object_description_.anchor_ = anchor;
|
||||
impl_->object_description_.anchor_x_ = x_pt;
|
||||
impl_->object_description_.anchor_y_ = y_pt;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void xlsx_drawing_context::set_anchor_start(std::wstring anchor, double x_pt, double y_pt, bool group)
|
||||
{
|
||||
if (group)
|
||||
{
|
||||
impl_->groups_.back()->anchor_rel_ = anchor_start;
|
||||
impl_->groups_.back()->anchor_ = anchor;
|
||||
impl_->groups_.back()->anchor_x_ = x_pt;
|
||||
impl_->groups_.back()->anchor_y_ = y_pt;
|
||||
}
|
||||
else
|
||||
{
|
||||
impl_->object_description_.anchor_rel_ = anchor_start;
|
||||
impl_->object_description_.anchor_ = anchor;
|
||||
impl_->object_description_.anchor_x_ = x_pt;
|
||||
impl_->object_description_.anchor_y_ = y_pt;
|
||||
}
|
||||
}
|
||||
void xlsx_drawing_context::set_property(odf_reader::_property p)
|
||||
{
|
||||
impl_->object_description_.additional_.push_back(p);
|
||||
@ -494,7 +514,7 @@ bool xlsx_drawing_context::vml_empty() const
|
||||
}
|
||||
void xlsx_drawing_context::process_common_properties(drawing_object_description & obj, _xlsx_drawing & drawing, xlsx_table_metrics & table_metrics)
|
||||
{
|
||||
if (obj.anchor_.empty())
|
||||
if (obj.anchor_rel_ == anchor_none)
|
||||
{
|
||||
if (obj.owner_cx_ && obj.owner_cy_)
|
||||
{
|
||||
@ -510,7 +530,7 @@ void xlsx_drawing_context::process_common_properties(drawing_object_description
|
||||
{
|
||||
xlsx_table_position from, to;
|
||||
|
||||
process_position_properties (obj, table_metrics, from, to);
|
||||
process_position_properties (obj, table_metrics, from, to, obj.anchor_rel_ == anchor_end);
|
||||
|
||||
drawing.from_.type = xlsx_drawing_position::from;
|
||||
drawing.from_.position.col = from.col;
|
||||
@ -549,7 +569,7 @@ void xlsx_drawing_context::process_common_properties(drawing_object_description
|
||||
drawing.hlinks = obj.hlinks_;
|
||||
drawing.action = obj.action_;
|
||||
}
|
||||
void xlsx_drawing_context::process_position_properties(drawing_object_description & obj, xlsx_table_metrics & table_metrics,xlsx_table_position & from,xlsx_table_position & to)
|
||||
void xlsx_drawing_context::process_position_properties(drawing_object_description & obj, xlsx_table_metrics & table_metrics,xlsx_table_position & from,xlsx_table_position & to, bool byEnd)
|
||||
{
|
||||
size_t column_anchor = 0, row_anchor = 0;
|
||||
|
||||
@ -568,23 +588,36 @@ void xlsx_drawing_context::process_position_properties(drawing_object_descriptio
|
||||
to = table_metrics.calc(x + cx, y + cy);
|
||||
from = table_metrics.calc(x, y);
|
||||
|
||||
if (distance.size() > 0 && !obj.anchor_.empty())
|
||||
if (!distance.empty() && !obj.anchor_.empty())
|
||||
{
|
||||
int ind_cell = distance.size()-1;
|
||||
getCellAddressInv(distance[ind_cell], column_anchor, row_anchor);
|
||||
|
||||
xlsx_table_position pos_anchor = table_metrics.calc(column_anchor, row_anchor, obj.anchor_x_, obj.anchor_y_); //-можно и не считать :) , но проверим ...
|
||||
xlsx_table_position pos_anchor = table_metrics.calc(column_anchor, row_anchor, obj.anchor_x_, obj.anchor_y_);
|
||||
|
||||
table_metrics.update_pt(column_anchor, row_anchor, obj.anchor_x_, obj.anchor_y_);
|
||||
|
||||
x = obj.anchor_x_ - cx;
|
||||
y = obj.anchor_y_ - cy;
|
||||
if (byEnd)
|
||||
{
|
||||
to = pos_anchor;
|
||||
|
||||
x = obj.anchor_x_ - cx;
|
||||
y = obj.anchor_y_ - cy;
|
||||
|
||||
if (x < 0) x = 0;
|
||||
if (y < 0) y = 0; // calcul dun MS.ods
|
||||
|
||||
from = table_metrics.calc(x, y);
|
||||
}
|
||||
else
|
||||
{
|
||||
from = pos_anchor;
|
||||
|
||||
if (x < 0) x = 0;
|
||||
if (y < 0) y = 0; // calcul dun MS.ods
|
||||
x = obj.anchor_x_ + cx;
|
||||
y = obj.anchor_y_ + cy;
|
||||
|
||||
to = pos_anchor;
|
||||
from = table_metrics.calc(x, y);
|
||||
to = table_metrics.calc(x, y);
|
||||
}
|
||||
|
||||
if (obj.svg_rect_)
|
||||
{
|
||||
|
||||
@ -32,8 +32,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
|
||||
#include "xlsx_drawings.h"
|
||||
|
||||
@ -123,8 +121,11 @@ public:
|
||||
void set_rotate (double angle, bool translate = false);
|
||||
|
||||
void set_rel_anchor (_INT32 owner_cx, _INT32 owner_cy);
|
||||
void set_anchor (std::wstring anchor, double x_pt, double y_pt, bool group = false);
|
||||
void set_clipping (const std::wstring & str );
|
||||
|
||||
void set_anchor_start(std::wstring anchor, double x_pt, double y_pt, bool group = false);
|
||||
void set_anchor_end (std::wstring anchor, double x_pt, double y_pt, bool group = false);
|
||||
|
||||
void set_clipping (const std::wstring & str );
|
||||
void set_fill (_oox_fill & fill);
|
||||
|
||||
void set_is_line_shape(bool val);
|
||||
@ -169,7 +170,7 @@ private:
|
||||
|
||||
void process_common_properties (drawing_object_description & obj, _xlsx_drawing & drawing, xlsx_table_metrics & table_metrics);
|
||||
|
||||
void process_position_properties(drawing_object_description & obj, xlsx_table_metrics & table_metrics, xlsx_table_position & from,xlsx_table_position & to);
|
||||
void process_position_properties(drawing_object_description & obj, xlsx_table_metrics & table_metrics, xlsx_table_position & from,xlsx_table_position & to, bool byEnd = true);
|
||||
|
||||
int hlinks_size_;
|
||||
std::wstring odf_packet_path_ ;
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "xlsx_drawing.h"
|
||||
|
||||
#include <vector>
|
||||
#include <xml/simple_xml_writer.h>
|
||||
#include "../../include/xml/simple_xml_writer.h"
|
||||
|
||||
#include "oox_rels.h"
|
||||
|
||||
|
||||
@ -32,9 +32,8 @@
|
||||
#pragma once
|
||||
|
||||
//#include <iosfwd>
|
||||
#include <CPScopedPtr.h>
|
||||
#include <CPSharedPtr.h>
|
||||
#include <xml/attributes.h>
|
||||
#include "../../include/CPScopedPtr.h"
|
||||
#include "../../include/xml/attributes.h"
|
||||
|
||||
#include "oox_rels.h"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user