Commit Graph

73 Commits

Author SHA1 Message Date
84d3ab4fb8 fpspreadsheet: Misc improvements of TsWorksheetGrid, fpsgrid and spready
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3551 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-11 22:57:55 +00:00
dcdd530d16 fpspreadsheet: Improved painting of merged cells by TsWorksheetGrid (but: scrolling paints over the fixed rows).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3549 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-11 13:53:45 +00:00
92cfcfb208 fpspreadsheet: Some fixes in fpspreadsheetgrid and spready demo (tabcontrol instead of pagecontrol for spreadsheetgrid, hang of TsWorksheetGrid due to bug in new code related to merged cells, updates of inspector, better handling of the file-not-found situation, improved commandline interface for spready).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3547 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-11 09:49:16 +00:00
e0241fd6d1 fpspreadsheet: Fix ODS reader crashing when finding unexpected nodes among row nodes (see http://forum.lazarus.freepascal.org/index.php/topic,25624.msg157029.html#msg157029).
Fix the ODS reader detecting underlined font style for the file of this discussion. 
Fix incorrect row height calculation of TsWorksheetGrid introduced in the previous commit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3544 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-10 22:46:22 +00:00
8950cbba9a fpspreadsheet: Initial version of showing merged cells in TsWorksheetGrid. Fix typo of xlsx extension in FileOpen dialog of fpsgrid demo (see http://forum.lazarus.freepascal.org/index.php/topic,25624.msg157029.html#msg157029)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3543 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-10 19:54:06 +00:00
e63ff6ab6c fpspreadsheet: Fix location of merged cells in TsWorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3539 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-10 16:44:56 +00:00
e277e09850 fpspreadsheet: Beginning with infrastructure for merging of cells
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3534 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-09 15:51:56 +00:00
e9bf681d97 fpspreadsheet: Avoid using column and row records when all column widths and row heights are equal. This fixes Mantis #0026686.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3528 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-07 22:25:11 +00:00
c87afdcdec fpspreadsheet: Redo handling for formulas:
- Allow processing of string formulas (conversion to/from rpn formulas, calculation). 
- Drop cell ContentType cctRPNFormula. 
- Drop field RPNFormulaValue of TCell record. 
- Remove all fekXXXX declarations for sheet functions. Function is specified by name now.
- Complete registration mechanism for user-defined formulas.
Adapt all demos
Test cases working
This commit does not yet support: shared formulas, formulas in ods.


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3506 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-30 18:03:22 +00:00
a043b77519 fpspreadsheet: Remove workbook property ReadFormulas, use option boReadFormulas instead. Update all demos affected. Modify most demos to no longer require the fps package.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3505 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-29 15:32:43 +00:00
03913876d3 fpspreadsheet: Implement automatic calculation of existing rpn formulas whenever a cell changes.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3476 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-13 14:05:29 +00:00
5e151d64a7 fpspreadsheet: Fix missing of some cell border lines in TsWorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3439 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-06 13:45:26 +00:00
e96b16b993 fpspreadsheet: Add support for diagonal border lines. Implemented for BIFF8 and ods (BIFF2 and 5 do not support diagonal borders, OOXML reader currently does not have border support). Test cases adapted. "spready" adapted to show diagonal borders.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3400 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-30 22:51:59 +00:00
e7f10f498f fpspreadsheet: Add methods InsertRow and InsertCol to TsWorksheet and TsWorksheetGrid. Update demo "spready".
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3381 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-26 17:05:21 +00:00
340efa7c8f fpspreadsheet: Implement virtual reading mode for biff2 and ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3373 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 15:56:03 +00:00
6606f62e79 fpspreadsheet: grid fix if FWorksheet not assigned from Aleksey Lagunov, issue #26521, thank you.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3371 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-07-24 08:26:03 +00:00
b6051c8785 fpspreadsheet: Complete missing doc-o-matic comments in fpspreadsheetgrid.pas. Update the chm help file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3237 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-25 08:22:37 +00:00
9eefbdaa06 fpspreadsheet: Fix bug 0026386 (in Excel, all sheets must be "active" and "selected"). New chm help file. Fix some issues with spready and fpsgrid due to range check errors. BiffExplorer shows detail info on SHEETPR record.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3236 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 22:47:15 +00:00
92ed17a049 * fpspreadsheet: documentation fixes
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3235 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 16:10:01 +00:00
2692b9beb6 fpspreadsheet: Rename TsWorksheetGrid method NewWorksheet to NewWorkbook (because that's what it does). Add doc-o-matic comments to fpspreadsheetgrid.pas.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3229 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-24 11:45:16 +00:00
1f2044e246 fpspreadsheet: Fix TsWorksheetGrid ignoring cell background color if cell is in frozen pane.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3225 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 14:13:46 +00:00
897ad1d9d2 fpspreadsheet: In TsWorksheetGrid, draw a borderline along frozen panes. Fix black background color appearing when re-saving an fpspreadsheet-created workbook in Excel. Some more extended comments for doc-o-matic.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3224 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 13:49:12 +00:00
13a9fb2603 fpspreadsheet: Remove built-in number formats nfSci (not suppored by ods and fpc) and nfAccounting/nfAccountingRed (too much display-oriented, too cumbersome to implement for reading and displaying in the grid). If needed in Excel they can still be written using nfCustom. Update all files and tests for these now no longer existing formats.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3222 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-23 09:15:56 +00:00
979d97ffd0 fpspreadsheet: Simplify fpsgrid demo (only new/load/save functionality). More complex version of the demo is available now as demo program "spready". Add "WriteCellAvalueAsString" to TsWorksheet which guesses from the passed string whether it is a number, percentage, date, or time.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3213 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-22 13:49:48 +00:00
e3ece8a30b fpspreadsheet: Write frozen panes to ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-21 12:19:19 +00:00
d0927d2d03 fpspreadsheet: Further reduction of hints and warnings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3206 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-20 15:58:22 +00:00
a85adcb61a fpspreadsheet: Reducing hints and warnings, still a lot...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3203 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-19 19:25:40 +00:00
9157573441 fpspreadsheet: Fix navigation by keyboard not working in TsSpreadsheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3190 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-17 22:00:23 +00:00
036383d658 fpspreadsheet: Add support for reading fonts from ods files.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3146 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-06 08:48:22 +00:00
6c0efaf6eb fpspreadsheet: Improvments of TsWorksheetGrid and fpsgrid demo: Fix currency symbol not shown when selecting currency format. Fix showing a zero value when assigning a number format to an empty cell. Fix formula display when selecting an empty cell. Reset number format when selecting "General" format. Move selection to entered cell address in address edit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-05 21:57:23 +00:00
73dc71627b fpspreadsheet: Add code for detection of date/time cells which are incorrectly written as float by Open/LibreOffice. Implement conditional number formats for all number types (sometimes falsely assigned). Reactivate ignored date test cases for ods-1899, pass. 1904 date mode still faulty, not clear if this will ever pass the test.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3133 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-03 22:04:11 +00:00
e6ad481905 fpspreadsheet: Fix TsWorksheetGrid header ignoring FixedColor setting for non-native TitleStyle.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3127 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-06-02 08:52:37 +00:00
33a8fdcb43 fpspreadsheet: Row height and column width reading/writing code for ods files complete. Test cases ok, but extremely slow speed of test application for numbertest and datetimetests. Changed units of row heights in worksheet: used to be points, is "lines" now (more consistent user interface - column width is in "standard characters", I prefer these units over centimeters because row heights/column widths become independent of screen pixels per inch this way)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3118 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-31 21:04:53 +00:00
39fcfc3016 fpspreadsheet: Add method NewSpreadsheet to TsWorksheetGrid. Add corresponding command to fpsgrid demo. Show cell address in fpsgrid demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3117 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 21:26:38 +00:00
e8f2524a91 fpspreadsheet: Reading of horizontal/vertical text alignment from ods files. Have to implement column styles to all formats correctly.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3113 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 16:23:50 +00:00
9757d10df3 fpspreadsheet: Fix text alignment issues of rotated text in TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3111 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-28 09:04:42 +00:00
d29219fc68 fpspreadsheet: Mark TsSpreadsheet.GetLastColNumber/GetLastRowNumber as deprecated, use GetLastColIndex/GetlastRowIndex instead.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3101 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-26 15:27:35 +00:00
4271ace593 fpspreadsheet: Construct Excel-like formula string out of an RPN formula and display it in fpsgrid demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3085 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-23 23:13:49 +00:00
08d3a8a137 fpspreadsheet: Add more format selection items to fpsgrid demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3083 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-23 15:45:07 +00:00
239633cb51 fpspreadsheet: Rename number format codes "nfCurrencyDash"/"nfCurrencyDashRed" to "nfAccounting"/"nfAccountingRed" and implement alignment of currency symbols as in Excel. Fix number format parser bug causing a failure in the corresponding test case.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3080 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-22 21:54:24 +00:00
f638eb928a fpspreadsheet: Write currency format codes for BIFF5 and BIFF8 (incl. "red" for negatives and "-" for zero).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3053 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-17 15:13:08 +00:00
705a7956ce fpspreadsheet: Pass visibility of gridlines and sheet headers from TsWorksheetGrid to underlying Worksheet for saving.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3041 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 16:22:48 +00:00
07824c46c1 fpspreadsheet: Add properties for direct cell font access by TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3040 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 16:16:59 +00:00
a954d389c0 fpspreadsheet: Add properties BackgroundColor(s) to TsWorksheetGrid and show usage in fpsgrid demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3039 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 11:56:20 +00:00
afe1013755 fpspreadsheet: Add properties TextRotation(s) to TsWorksheetGrid and use in fpsgrid demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3038 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 10:39:14 +00:00
0fe1742400 fpspreadsheet: Add properties for setting cell borders to TsWorksheetGrid. Redo border and selection painting again. Fix issues due to adjacent cells having different borders.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3037 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-11 09:20:52 +00:00
ee011598e4 fpspreadsheet: Introduce HorAlignment(s) and VertAlignment(s) properties to tsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3035 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-10 12:32:05 +00:00
e1ddf966a7 fpspreadsheet: Improved painting of the selection rectangle and cell borders in TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3032 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-09 22:00:53 +00:00
9d68a4809d fpspreadsheet: Improved painting of range-selected cells in TsWorksheetGrid, not perfect yet.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3030 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-08 22:44:52 +00:00
72bcfc3a5b fpspreadsheet: TsWorksheetGrid transfers row height and col width changes to underlying Worksheet. Automatic adjustment of row height if font changes in a chell.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3029 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-05-08 21:52:04 +00:00