Commit Graph

141 Commits

Author SHA1 Message Date
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
23d6bdc557 fpspreadsheet: Fix writing of empty strings to cell. Fix biff8 stream read error of hyperlinks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3981 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-03 00:06:15 +00:00
135ceb1eef fpspreadsheet: Fix WorksheetGrid to show selection of merged cell range correctly. Fix cell content of blank cells after adding a hyperlink.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3980 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-02 21:20:00 +00:00
7ad2d347ea fpspreadsheet: Begin migration of code related to AVLTrees to new unit fpsclasses. Hyperlinks and comments trees already migrated.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3978 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-02 12:23:52 +00:00
aca6971fe2 fpspreadsheet: Rename TsWorksheet.IsHyperlink to .HasHyperlink to be consistent with .HasComment
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3973 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-01 11:40:04 +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
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
99d3c528f3 fpspreadsheet: Fix TsWorksheetGrid ignoring worksheet's DefaulColWidth
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3939 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-08 22:22:40 +00:00
21398a50c5 fpspreadsheet: Fix occasionally incorrect width of row header column in TsWorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3934 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-08 09:41:10 +00:00
c896fa3733 fpspreadsheet: Fix "FitToCell" method of TsWorksheetGrid to be active only with nfGeneral-formatted numbers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3930 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-05 18:06:52 +00:00
e90222405a fpspreadsheet: Fix drawing of comment marker in TsWordsheetGrid for overflowing cells.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3929 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-05 17:50:23 +00:00
39d652bf60 fpspreadsheet: Read cell comments from BIFF8 files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3928 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-05 11:23:06 +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
cf5ece6e86 fpspreadsheet: Add writing of cell comments for opendocument files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3914 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-30 17:46:06 +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
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
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
185d4dc968 fpspreadsheet: Set default col/row headers of TsWorksheetGrid immediately after adding to form.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3881 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-11 16:23:47 +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
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
e4762b4fb7 fpspreadsheet: Prepare for next stable release 1.4
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3856 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-31 16:50:31 +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
d048bf3343 fpspreadsheet: TsSpreadsheetGrid shortens too-long text of number cells such that it fits into the cell
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3836 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-11 15:53:24 +00:00
a5a0030f72 fpspreadsheet: Fix TsWorksheetGrid.ReadFormula not working in connection with TsWorkbookSource. Improving some comments.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3834 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-11 12:09:43 +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
8ae43388f0 fpspreadsheet: Less compiler hints and warnings. Some clean-up.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3760 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-21 15:47:54 +00:00
f72590c226 fpspreadsheet: FPSpreadsheetGrid enters "enhanced edit mode" (remove formatting, show formulas) also by mouse click into cell (in addition to F2). Editing of cell content now seems to be consistent with Excel.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3750 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-19 08:48:07 +00:00
7c7258b395 fpspreadsheet: Improved in-place editor of the TsSpreadsheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3742 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-18 10:19:33 +00:00
3bd94275ba fpspreadsheet: Fix CopyFormat action. Complete menu of fpsctrls demo. Fix caption and hint assignment in fpspreadsheet standard actions.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3739 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-17 22:18:40 +00:00
32aa7437f9 fpspreadsheet: Add action for merging cells. Add combobox for font name and font size.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3733 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-16 21:59:52 +00:00
8c38687a90 fpspreadsheet: Add actions for font and background color selection.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3727 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-14 23:27:49 +00:00
cfe9cf68ee fpspreadsheet: Update chm help file (include fpspreadsheetctrls)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3709 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-08 23:41:35 +00:00
26ef279b23 fpspreadsheet: Check lcl version to activate worksheetgrid multi-selection (Laz r46767) for Laz trunk only
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3706 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-07 14:42:09 +00:00
1b86c7e3dd fpspreadsheet: Prepare TsWorksheetGrid for multiselection of ranges (not activated by default, requires the patch of issue #0027000). Add information on selected cell and selected ranges to TsWorksheet (stored/restored on changes of active sheet). Some more information in TsSpreadsheetInspector.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3704 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-05 23:45:48 +00:00
2b4925f0a8 fpspreadsheet: Rename the new properties SelectedCellCol/Row of TsWorksheet to ActiveCellCol/Row - the "selected" will become a more general meaning soon. Rename the "SelectedWorksheet" of TsWorkbookSource to "Worksheet" (less typing). Sorry for the inconvenience...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3703 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-04 21:56:24 +00:00
791032b964 fpspreadsheet: Initial version of fpspreadsheet controls, a set of visual controls to facilitate creation of a spreadsheet application.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3701 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-03 15:34:57 +00:00
32fbca7594 fpspreadsheet: Override TsWorksheetGrid's Sort method to the Sort method of the Worksheet. Hide OnCompareCells event.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3681 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 14:31:29 +00:00
7b3795dc03 fpspreadsheet: Less hints. Adapt spready code to differences between trunk and Laz 1.2.6, remove duplicate colorbox unit in spready.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3667 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 09:22:06 +00:00