Commit Graph

445 Commits

Author SHA1 Message Date
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
ae6efc0f98 fpspreadsheet: Extend TsCellCombobox to handle several formatting items - will replace Fontname and FontSize combox. Not working correctly, yet. Update fpsctrls demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3790 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-26 23:45:09 +00:00
f4f6085351 fpspreadsheet: Correctly identify line endings in CSVParams form of spready demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3781 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-25 23:26:27 +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
30fa3200d0 fpspreadsheet: Add functionality for adding/deleting columns/rows to fpsctrl demo
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3745 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-19 00:04:53 +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
6721996b7a fpspreadsheet: Add loading and saving by actions to fpsctrls demo. Add action to copy format (not working yet).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3737 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-17 16:59:22 +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
bd2ef6579f fpspreadsheet: Add standard actions for predefined cell border combinations
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3731 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-15 22:32:51 +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
0a34c6314a fpspreadsheet: Improved increasing/decreasing of decimal count by means of action control.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3726 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-14 21:18:16 +00:00
235340289a fpspreadsheet: Add action to increment/decrement decimal places
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3725 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-14 15:09:16 +00:00
09777af546 fpspreadsheet: Add actions for number format, word wrap and text direction.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3724 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-14 13:48:30 +00:00
51972779d5 fpspreadsheet: Add actions for visual modification of font style, horizontal and vertical alignment of selected cells.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3721 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-12 22:55:22 +00:00
436387487b fpspreadsheet: Improved worksheet actions and related examples
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3715 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-10 16:51:22 +00:00
e111cf8fb9 fpspreadsheet: Initial implementation of fpsActions (a set of standard actions to simplify the main spreadsheet manipulation tasks)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3714 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-10 13:05:28 +00:00
a8582a0471 * fpspreadsheet: db_import_export example: add fpsexport method to existing virtual mode code.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3708 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-08 11:22:06 +00:00
ee8eb09244 * fpspreadsheet: cosmetic
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3707 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-08 08:59: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
ad1bdb294a fpspreadsheet: Remove ComboboxEx left-over in spready (http://forum.lazarus.freepascal.org/index.php/topic,26299.msg161924.html#msg161924).
Add a note to fpopendocument on difficulties when reading empty formatted cells. 
Add function "CopyCell" to TsWorksheet.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3705 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-06 15:19:20 +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
ae9f19553a fpspreadsheet: Add readme.txt to the new demo folders, fpsctrls and fpsctrls_no_install
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3702 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-11-03 15:54:50 +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
6d388ffc1a fpspreadsheet: Improved detection of built-in date/time formats in csv. Test case for date/time in CSV, passed.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3700 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-30 13:04:37 +00:00
a1fe949908 fpspreadsheet: Fix unit test for currencies, pass now for all file format (some kind of tweaking for Excel2 and fpc formatting inconsistencies though).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3699 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-29 22:36:03 +00:00
0396e0805d fpspreadsheet: Registration of currency symbols. Add currency dialog to spready. Automatic detection of currencies in in worksheet.WriteCellAsNumber. Avoid redundant code in csv reader's currency detection.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3698 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-29 16:39:49 +00:00
c4d1e08656 fpspreadsheet: Introduce string encoding when reading/writing csv files. Automatic detection of currency working now (€ symbol is detected correctly now). Use UTF8 encoded format settings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3687 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-24 20:44:37 +00:00
c1102886cc * fpspreadsheet: cosmetic: comments; harmonize code layout with existing code
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3685 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-24 10:46:04 +00:00
f9dc0c3370 fpspreadsheet: More sorting criteria: case-senstivity, numbers first or text first in case of mixed ranges. Update spready.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3680 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 13:38:41 +00:00
fb8faab20b fpspreadsheet: Fix compilation error introduced yesterday. Fix multi-key sorting which now passes all tests.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3679 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 09:07:20 +00:00
4a1a99044b fpspreadsheet: Fix circular unit reference bug (thanks, Michael). Add demo_sorting.pas unit missing from last commit. Some improvements with multi-key sorting, but still in error sometimes (--> sorting code is still experimental).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3678 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-22 23:25:26 +00:00
233c735db6 fpspreadsheet: Improved sorting parameters (individual sort direction for sort keys). Fix some bugs. Begin to write a sorting test case. Add a demo on sorting.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3676 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-21 22:57:02 +00:00
68649b7275 fpspreadsheet: Initial version of worksheet sorting. Add sorting parameters dialog to spready. Basic demonstration of sorting in spready.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3675 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-21 15:12:51 +00:00
4473d3b4a5 fpspreadsheet: More improvements for reading numbers in csv files and automatic format detection.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3672 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 21:04:20 +00:00
43acbe2908 fpspreadsheet: Improved detection of date/time values by csv reader.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3671 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 16:14:59 +00:00
8a56484d10 fpspreadsheet: Fix decimal and thousand separator not being visible in the FormatSettingsForm of spready
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3670 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 15:29:40 +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
2a61d87225 fpspreadsheet: Add detection of currency values to the csv reader. Spready: add configuration dialogs for csv parameters and formatsettings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3665 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-19 21:20:57 +00:00
9f014b6875 fpspreadsheet: Add reading/writing of boolean cell values for BIFF formats.
Add test case for boolean cell values for all formats (incl. CSV). 
Extend spready demo to be able to write sfExcel2 and sfExcel5 formats.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3656 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-14 21:44:00 +00:00
1262d95889 fpspreadsheet: Extend CSV reader to allow multi-line quoted text cells. Modify TsWorksheetGrid to display multi-line text in formulabar.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3654 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-14 12:06:11 +00:00