Commit Graph

485 Commits

Author SHA1 Message Date
95edadbd29 fpspreadsheet: Fix cell row and column enumerator sometimes failing
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4036 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-16 00:05:56 +00:00
3a9150acf3 fpspreadsheet: Add demo hyperlinkdemo which collects the sheets of linked workbooks to a new workbook
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4035 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-15 11:02:15 +00:00
0195417270 fpspreadsheet: Set correct output folder for opendocread demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4029 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-14 22:11:46 +00:00
b406d1e64d fpspreadsheet: Add measurement of file loading time to fpsctrls/demo_ctrl
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4028 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-14 22:10:29 +00:00
18e94d29b1 fpspreadsheet: Add settings dialogs from shared examples folder to fpsctrls/demo_ctrls demo project.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4024 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-13 22:54:42 +00:00
f94692451c fpspreadsheet: Fix duplicate unit issues for examples requiring installed visual package
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4022 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-13 17:49:33 +00:00
31bd092955 fpspreadsheet: Fix WorksheetGrid not calculating formulas in current cell
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4021 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-13 14:54:55 +00:00
380ac8247c fpspreadsheet: Rearrange most of the demos into folders "read_write" and "visual"
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4019 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-13 00:08:44 +00:00
c7c8d73179 fpspreadsheet: optimize workbook font infrastructure to avoid that missing font 4 dictated by Excel. Remove UsedFormattingField uffBold (obsolete since supporting fonts).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4015 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-11 22:28:07 +00:00
24b49277c1 fpspreadsheet: Fix incorrect assignment of cell format to hyperlinks when reading ods files (and some more bugs). Extend TsSpreadsheetInspector to display font and cell format lists of the workbook.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4014 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-10 23:48:30 +00:00
9365a1dff2 fpspreadsheet: Reduce support for shared formulas (too many problems...), only reading from xls and xlsx files supported.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3998 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-06 12:12:45 +00:00
c5f6cbe82d fpspreadsheet: Replace for-to loops by for-in loops if possible. Update example demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3991 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 10:35:32 +00:00
7e52faa49f fpspreadsheet: In fpspreadsheet.pas, extract cells AVLTree to fpsclasses.pas. Implement enumerator for the avl trees. Add unit tests for cell and comment enumeration.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3988 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-04 17:30:59 +00:00
58031aba3a fpspreadsheet: Modify hyperlink infrastructure to support non-label cells as well. Add hyperlinks to biff8 reader. Show hyperlink tooltip in TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3971 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-28 23:46:08 +00:00
0bfcd5c4f8 fpspreadsheet: Introduce "settings" records for each file format to define parameters needed for reading/writing. This fixes two unit test fails in Ubuntu (only 1 fail left).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3964 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-25 10:55:46 +00:00
ea36d2e089 fpspreadsheet: Shorten fpspreadsheet.pas by putting NumFormatList and CustomReader/Writer to separate units
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-25 09:43:37 +00:00
e0ba07f38b fpspreadsheet: Fix compilation errors
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3958 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-24 00:30:26 +00:00
20ad9c24f2 fpspreadsheet: read hyperlinks from xlsx files
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3957 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-23 22:51:42 +00:00
70b859530f fpspreadsheet: Improved user interface in TsSpreadsheetGrid for clicks on hyperlink cells.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3956 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-23 18:50:29 +00:00
4f6184f243 fpspreadsheet: Prepare infrastructure for cell hyperlinks
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3955 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-22 23:38:28 +00:00
eddf623803 fpspreadsheet: Restructure merged cells. Info on merged cells is no longer stored in cell, but in separate avltree, FMergedCells. Unit tests ok.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3954 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-22 00:12:16 +00:00
dd4e66216a fpspreadsheet: Add background fill styles for cells. Fully implemented for Biff5, Biff8 and OOXML; ODS writes an interpolated solid fill (like Open/LibreOffice); Biff2 supports only the 50% gray black&white fill.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3949 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-17 23:32:00 +00:00
03efde6cab fpspreadsheet: Rearrange cell comment architecture: to save memory cell comments are now stored in the worksheet's avltree "Comments". Replace cell's "CalcState" by more general "Flags" which signals that a cell contains a comment (to be extended...)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3943 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-15 11:45:08 +00:00
8e7a3b741a fpspreadsheet: Add unit xlsEscher for writing Microsoft Office shapes needed for cell comments in BIFF8. Writing of comments not yet working. Lots of additions to BIFFExplorer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3942 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-14 22:27:49 +00:00
ac387f67e4 fpspreadsheet: Improve codepage handling for biff2 and biff2 files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3924 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-04 18:15:19 +00:00
5d1c4ec7c7 fpspreadsheet: Read cell comments from xlsx files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3918 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-31 18:42:22 +00:00
b267fd7694 fpspreadsheet: Implement reading of cell comments from opendocument files. Fix cell text with manual line break in opendocument files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3913 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-30 16:50:23 +00:00
cca611b21b fpspreadsheet: Basic support for cell comments in fpspreadsheet.pas, fpspreadsheetgrid.pas and fpsactions.pas. Update chm help file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3912 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-30 14:48:51 +00:00
0ecf404c0a fpspreadsheet: Fix TsWorksheetGrid showing frozen cells with black border if TitleStyle is not tsNative. Fix TsSpreadsheetInspector and spready demo crashing due to ignoring the cell content type.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3908 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-29 12:39:52 +00:00
8f3d5d471f fpspreadsheet: Fix buffered stream reading speed issues.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3904 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-27 19:31:57 +00:00
22a7e50170 fpspreadsheet: Put numerical data of the TCell record into a variant record --> further reduction of memory consumption per cell (now by 70% of original TCell).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3898 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-24 22:52:22 +00:00
3113794fab fpspreadsheet: Fix crash when reading a BIFF5 file written by Excel97 (it has data (the directory) beyound the workbook stream which is not expected by the BIFF5/8 readers).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3897 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-24 22:19:55 +00:00
133bf09eb4 fpspreadsheet: Massive reconstruction: remove formatting attributes of TCell record and collect in TCellFormatList. TCell only has index into this list. Introduce record helpers to keep the old syntax. Reduction of memory consumption per cell by 50%.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3894 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-23 21:54:23 +00:00
2bf5464fc6 fpspreadsheet: Move type declarations from fpspreadsheet.pas to new unit fpstypes.pas. Update all examples.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3887 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-17 22:57:23 +00:00
80c2ec255c fpspreadsheet: Some improvements in Laz 1.0 compatibility, still issues. Fix style error in wikitable writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3885 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-14 15:34:20 +00:00
fd627c1fa1 fpspreadsheet: Introduce an include file (fps.inc) with all conditional defines. They are needed to compile the packages with older LCL/FPC versions (tested back to Laz1.0 / FPC2.4). All patched procedures are in fpspatches.pas and turned on/off by these defines.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3884 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-13 19:02:57 +00:00
2ef2765646 fpspreadsheet: Better way to avoid storing of TsWorksheetgrid's ColWidths/RowHeights in lfm, thanks to Engkin. Fix compilation error in fpsvisualutils.pas
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3883 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-12 11:42:23 +00:00
c65e2b60d5 fpspreadsheet: Working solution for avoiding storing TsWorksheetGrid's colwidths and rowheights in lfm file, requires Laz trunk.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3880 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-11 15:52:30 +00:00
988c2a3d7a fpspreadsheet: Less warnings. Prepare TsWorksheetGrid to avoid storing of colwidths and rowheights (requires Mantis #0027279 in Lazarus)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3879 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-09 22:25:20 +00:00
f1d5a14660 fpspreadsheet: Add demo "workbookchartsource" to "fpschart" folder. Move previous content of fpschart to subfolder "worksheetchartsource". Fix old fpschart demo to show a reasonable chart.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3877 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-08 17:36:41 +00:00
157a1133fb fpspreadsheet: Use interfaces in the notification mechanism of the visual controls - this avoids requiring the TAChart package even in case of non-chart-aware spreadsheet programs.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3872 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-06 17:42:54 +00:00
2c81897ffc fpspreadsheet: Avoid duplicate code in TsWorkbookChartSource. Fix crashes of the chartsource when used worksheets are renamed or deleted. More refined notification of visual controls.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3867 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-05 23:32:49 +00:00
098b7daf32 fpspreadsheet: FPSExport tries to determine cell format from the exported database field types.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3845 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-19 21:45:44 +00:00
aabdaed83f fpspreadsheet: Extend fpsExport to allow export of several dataset to multiple worksheets. Update db_import_export demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3844 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-19 14:47:59 +00:00
98e1c88c1e fpspreadsheet: Initial implementation of a simple clipboard (within appliation only) for TsWorksheetGrid. Not yet fully working.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3843 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-17 23:28:41 +00:00
42b8235d52 fpspreadsheet: Modify TsCellInspector to show size of last selected block. Restructure menu of fpsctrls demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3841 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-16 18:28:41 +00:00
6194b41ef0 fpspreadsheet: Add support for copying cell values and formulas. First unit test of copying values.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3814 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-30 23:45:08 +00:00
8080fd856f fpspreadsheet: Remove TsFontNameCombobox and TsFontSizeCombobox, use TsCellCombobox instead.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3805 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-28 10:51:07 +00:00
1b7d496a56 fpspreadsheet: TsCellCombobox finished.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3799 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-27 20:59:14 +00:00
c75c611846 fpspreadsheet: Some improvements of TsCellCombobox.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3798 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-27 15:20:29 +00:00