Difference between revisions of "LCL Interface Redesign Idea"
From Lazarus wiki
Jump to navigationJump to searchLine 10: | Line 10: | ||
TWSxxWinControl.CreateHandle Returns a TLCLHandle | TWSxxWinControl.CreateHandle Returns a TLCLHandle | ||
− | + | TLCLHandle = IInterface; | |
− | + | TxxPrivate = class(TPrivate, TLCLHandle); | |
− | |||
− | TxxPrivate = class(TPrivate, | ||
TGtkPrivateButton = class(TGtkBin, TLCLHandle); | TGtkPrivateButton = class(TGtkBin, TLCLHandle); |
Revision as of 00:38, 4 April 2007
This is current Idea for managing the connection to the interface and how it relates to handles
Overview:
- Fork a branch of lazarus/
- Replace TWinControl.Handle with TWinControl.LCLHandle (there should exist no Handle yet)
- Try to get the LCL compiled and maybe the IDE so it doesn't use the (inefficient) .Handle anymore
- Introduce .Handle again, now as WSclass call
- Merge the branches
TWSxxWinControl.CreateHandle Returns a TLCLHandle
TLCLHandle = IInterface;
TxxPrivate = class(TPrivate, TLCLHandle);
TGtkPrivateButton = class(TGtkBin, TLCLHandle);
Other possibilities
{$IFDEF X11} TGtkPrivateWidget = class(TGtkPrivate, ILCLHandle, IX11);