[Lazarus] New TTabControl

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Sun Jul 24 19:03:56 CEST 2011


Hello,

On Sun, Jul 24, 2011 at 7:16 PM, Hans-Peter Diettrich
<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, so I deleted most of it's code and
now TTabControl basically works as a TPageControl until the
implementation is finished.

> The basic TCustomTabControl does not have pages any more,

I think that it has in the current Lazarus svn.

> 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.

> 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.

> 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.

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

-- 
Felipe Monteiro de Carvalho




More information about the Lazarus mailing list