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