-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathkgrid_readme.txt
183 lines (161 loc) · 6.15 KB
/
kgrid_readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
Software: KGrid component for Delphi and Lazarus
Original authorship: Tomas Krysl (tk@tkweb.eu)
-------------------
NOTE:
-------------------
This readme only covers the KGrid component.
Refer to kcontrols_readme.txt for installation requirements and other information.
PLANNED:
-------------------
- filters (still a TODO, partially can be implemented now via editable fixed rows)
- multiple disjunct selections (like Excel, still a TODO)
- tree columns
KNOWN PROBLEMS:
-------------------
Delphi common:
-none, best performance
Lazarus common:
-KDBGrid demo does not draw unicode fields correctly for certain databases.
applies for all data aware controls, not just TKDBgrid
must be FPC/TWideStringField bug
-printing/Previewing works correctly in Win32 and Qt (for Lazarus versions with my implementation
of affine transformations for device contexts). For GTKx printing via TPostScriptPrinterCanvas,
there is no way to effectively implement affine transformations because this canvas is not implemented
via a device context mechanism.
Target specific:
Win32:
Delphi:
-none
-tested on Windows 98SE (some time ago), Windows XP 32bit, Windows Vista 32bit
Lazarus:
-transparent editor underpainting incorrect if TKGrid is placed onto TPageControl (LCL problem)
-tested on Windows XP 32bit
Win64: none
-untested, help appreciated!
WinCE:
-slow inplace editor performance (depending on device)
-tested partially, help appreciated!
GTK:
-bad check box painting, bad selected range color, drag window flickers, sometimes infinite painting,
sometimes clipping problems (all LCL/GTK problems)
-tested on Ubuntu Jaunty
GTK2:
-slightly slow inplace editor performance with huge grids (GTK2 problem)
-scrollbar arrows don't work correctly sometimes (GTK2 problem)
-tested on Ubuntu Jaunty
QT:
-slightly slow inplace editor performance with huge grids
-checkbox not transparent (cannot be solved)
-scrollbar arrows behave differently (cannot be solved)
-tested on QT4.5.2/Windows XP
Carbon:
-none
-untested, help appreciated!
CONTRIBUTORS:
-------------------
Gianluca Culot: idea for TKCustomGrid.OnChanged event
JR: some useful functions and ideas
aki: selectable fixed cells
VERSION HISTORY - NEW KCONTROLS PACKAGE
-------------------
Version 1.7 (August 2015):
Modified:
-TKDBGrid empty dataset exception fixed
Version 1.6 (July 2014):
Added:
-Columns property to TKDBGrid (not 100% compatible with TDBGrid)
Version 1.5 (July 2014):
Added:
-2 modes of mouse wheel scrolling in TKCustomGrid
VERSION HISTORY - OLD KGRID PACKAGE ONLY
-------------------
Version 1.7 (November 2010):
Added:
-Windows Vista/7 style selection,
-selectable and editable fixed cells (modified contibutions by aki)
-packages for Delphi XE
Modified:
-removed some obsolete methods, several bugfixes
Version 1.6 (October 2010):
Added:
-column/row/grid autosizing,
-automatic data type recognition and images in TKDBGrid,
-improvements in TKGridCellPainter (images, button shapes etc.),
-cell hints
-OnMouseDblClickCell event
-new features based on contributions by JR (OptionsEx property)
-PaintCell method
Modified:
-several bugfixes
Version 1.5 (October 2009):
Added:
-printing/previewing/on the fly previewing (TKPrintPreview, TKPrintPageSetup classes etc.),
in Lazarus works only for Win32(suppose Win64 too) widget set
-OnMouseClickCell and OnMouseLeaveCell, OnMouseClickCell events
Modified:
-painting and inplace editor performance for GTK2, QT yet slightly improved
Version 1.4 (October 2009):
Added:
-full Lazarus support (all official or beta state widget sets, tested on Win32/Win64, GTK, GTK2, QT)
-cell merging and splitting (CellSpan property & TKGridCell ColSpan and RowSpan properties)
-data aware control (TKDBGrid class)
-column/row individual maximum and minimum extent (TKGridAxisItem MinExtent & MaxExtent properties)
-smooth scrolling (ScrollModeHorz & ScrollModeVert properties)
-OnMouseEnterCell and OnMouseLeaveCell events
-KDBGrid demo for Delphi/Lazarus
Modified:
-HotFix 3.10: painting performance optimized for GTK2
-major modifications due to platform independency in Lazarus
-some generous functions moved from KGrids.pas to KGraphics.pas or KFunctions.pas
-(very) few incompatibilities with previous versions
-KGrid demo extended
-no more InnoSetup installation but generous zip package due to platform independency
-lower case introduced for unit names etc. due to platform independency
-documentation completed
Version 1.3 (August 2009):
Added:
-ported to Lazarus (Windows widgetset only)
-TKCustomGrid.ThroughClick property (clicking a cell will click the inplace editor as well)
-TKGridTextAttributes - text attributes (multiline text, end ellipsis, path ellipsis, word break)
-keyboard behavior extended
Modified:
-JCL not needed anymore (mainly because of the Lazarus support)
-inplace editor rendering
-documentation
Version 1.3 beta (July 2009):
Added:
-TKGridAxisItem.Visible property
-optional visual indication of hidden columns or rows
-goIndicateHiddenCells style in TKCustomGrid.Options
-goMouseCanHideCells style in TKCustomGrid.Options
-goHeaderAlignment style in TKCustomGrid.Options
-TKCustomGrid.SortStyle property
-TKCustomGrid.UpdateSortMode method
Modified:
-moving columns/rows via OnExchangeCols/OnExchangeRows (both normal and virtual mode)
-inplace editor rendering
-documentation
Version 1.2 (October 2008):
Added:
-OnChanged event handler
Modified:
-update to Delphi 2009
-painting of the themed header cells fixed
-painting of some inplace editors fixed (e.g. TRichEdit)
Version 1.1 (April 2008):
Added:
-sorting interface
-cell clipping and double buffering
-TKGridCellPainter class,
-improved compatibility with TStringGrid
-another small improvements and fixes
Modified:
-demo has been extended
-documentation
Version 1.0 (January 2008):
Added:
-index mapping
-small demo,
-documentation
-many other improvements and bug fixes
Version 0.9 (July 2007): Initial release