Commit Graph

90 Commits

Author SHA1 Message Date
2be57b3dd5 fpspreadsheet: TsWorksheetGrid - Fix text-overflown cells being erased when mouse leaves them.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3634 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-06 13:37:24 +00:00
af452001d4 fpspreadsheet: Greatly reduce hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3632 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-06 10:43:10 +00:00
93da62030e fpspreadsheet: Less hints & warnings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3630 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-03 22:02:09 +00:00
e8694bcc58 fpspreadsheet: Fix rounding error in saving column widths by TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3629 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-03 19:34:08 +00:00
912f9979e5 fpspreadsheet: Fix TsWorksheet ignoring the workbook's default font after loading a file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3628 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-03 16:29:14 +00:00
6f14b93502 fpspreadsheet: Autoadjust column width and row height in TsWorksheetGrid by double-clicking at border between header cells; update demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3626 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-03 16:09:54 +00:00
19281ec8af fpspreadsheet: Fix incorrect cell background painting of text-overflown cells in TsWorksheetGrid.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3604 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-25 10:36:17 +00:00
55792a75f9 fpspreadsheet: In TsWorksheetGrid, fix a minor inaccuracy of cell text overflow due to ignoring constCellPadding value so far.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3602 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-24 12:45:59 +00:00
d796b836cd fpspreadsheet: More cosmetics
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3585 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-21 16:50:56 +00:00
10ad6b7a1a fpspreadsheet: Delete columns and rows from Worksheet and WorksheetGrid
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3571 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-16 15:03:17 +00:00
e07e322170 fpspreadsheet: Redo internal structure of merged cells (use MergeBase cell instead of neighbor links).
Suppress TsWorksheetGrid painting of inner grid lines of merged cells.
Fix inserting columns and rows running through merged cells. 
Silence some warnings. 
Fix ods reading merged cells incorrectly.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3569 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-15 20:54:39 +00:00
ce34aeb405 fpspreadsheet: Fix new TsWorksheetGrid crashing without workbook.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3567 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-15 07:33:55 +00:00
23e81afe48 fpspreadsheet: Add variant of the fpsgrid demo which does not require installation of the laz_fpspreadsheet_visual package. Fix incorrect centering of text in merged cells.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3565 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-14 22:53:45 +00:00
a3ed071349 fpspreadsheet: Fix cell range selection issue in TsWorksheetGrid if grid is in edit mode. Fix ods reporting an error due to a worksheet with empty name. Fix some bugs added when introducing text overflow cells (frozen cells incorrectly painted, failure to determine row heights correctly)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3564 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-14 20:40:58 +00:00
430d3770e7 fpspreadsheet: TsWorksheetGrid support overflowing cells now (i.e. text longer than a cell is wide is shown in the neighbor cell).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3563 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-14 16:16:23 +00:00
432cfcc6c0 fpspreadsheet: Some improvements of spready in relation to merged cells (improved row height calculation for merged block, lots of clean-up, in main form move "show header/gridlines" checkboxes to menu)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3561 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-13 18:59:18 +00:00
02a3b17e6e fpspreadsheet: Show info on Merge cell option in XF record by BIFF explorer. Trying to improve with of color box in spready.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3555 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-12 15:16:46 +00:00
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