[Lazarus] New TTabControl

Hans-Peter Diettrich DrDiettrich1 at aol.com
Mon Jul 25 00:35:26 CEST 2011


Felipe Monteiro de Carvalho schrieb:
> <DrDiettrich1 at aol.com> wrote:
>> There seem to exist some issues with the new implementation, so that I'll
>> give some background information, about the new TCustomTabControl and
>> descendants.
> 
> Your implementation did not work,

Which widgetset?

> so I deleted most of it's code and
> now TTabControl basically works as a TPageControl until the
> implementation is finished.

The implementation was finished.

You should have removed the buggy widgetset implementation, if ever ;-)

>> The basic TCustomTabControl does not have pages any more,
> 
> I think that it has in the current Lazarus svn.

After my implementation was completely removed :-(


>> The new TCustomTabControl has been implemented and tested *only* with the
>> Win32 widgetset, because I don't know about implementation details of other
>> widgetsets. When an AV occurs in an widgetset, due to improper use of an
>> TCustomPage parameter, the related code should be skipped when
>> tabctrl.IsUnpaged is True.
> 
> Are you sure? I think that it shouldn't give any AVs now, and it works
> in all widgetsets. I did not commit exactly your changes.

The current implementation reverted TTabControl into a paged control. 
This step is useless, because it now is a crippled TPageControl with no 
designer, and incompatible with the Delphi implementation :-(


>> It also may be a good idea to move the ChildClassAllowed method from
>> TCustomTabControl into TPageControl, because the basic control is not
>> restricted to TTabSheet descendants for its child controls.
> 
> I think that the priority should be getting the widgetsets to be able
> to implement IsUnpaged.

ACK

>> For now I'd suggest to restore the TTabControl to its prior version, before
>> SVN 31782, and to successively fix the other (non-Win32) widgetsets.
> 
> Fix what? AFAIK the latest svn works fine everywhere. Maybe you need
> to update your svn, because there were some problems after my initial
> commits, but then I fixed some things.

Nothing really new after 31782 :-(

> Plus, the old TTabControl was completely broken and had a completely
> wrong class hierarchy, so reverting it doesn't fix anything.

Which SVN revision are you talking about?

DoDi





More information about the Lazarus mailing list