Max Vlasov schrieb:
On Mon, Apr 18, 2011 at 10:57 AM, Hans-Peter Diettrich
<[email protected]> wrote:
ATN Vincenct Snijders, Dmitry Boyarintsev, chronos...
Mantis #18820, #18898, #18961...
The ListView component is in a bad state, and a review of the current item
handling is required, before proper solutions can be found. Problems arise
with OwnerData and sorting, and at least OwnerData should be made work
properly.
Is it something related in the process that prevents r31548 from
compiling on Linux
gtk2wscomctrls.pp(162,43) Error: Identifier not found "TSortDirection"
gtk2wscomctrls.pp(161,21) Error: There is no method in an ancestor
class to be overridden: "class TGtk2WSCustomListView.SetSort(const
TCustomListView,const TSortType,const LongInt,const <erroneous
type>);"
gtk2wscomctrls.pp(239,1) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
The widgetsets have to be updated accordingly, once we agree about
implementing sorting in general. I'm only experienced with the Win32
widgets, and don't know how other widgetsets support ListViews and
sorting at all.
There exist two general approaches WRT to the item lists:
1) either have everything stored and managed by the widget (Delphi),
2) or do everything in the LCL, leaving the widgets in OwnerData mode.
The current LCL implementation tries to do both at the same time, with
immense trouble in keeping both lists (LCL and widget) in sync. Delphi
manages this more clever, using [1] and a temporary list of items before
or between eventually required RecreateWnd calls. The "virtual" approach
[2] might be more appropriate with dumb widgetsets, which herefore only
must allow for an virtual (OwnerData) mode. Then a true OwnerData
control could be implemented as the LCL base class, with a derived class
that also implements an item list. Then all additional features can be
implemented in the LCL, the widgetsets must not be touched any more.
DoDi
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus