[Lazarus] What are "widgets" in lazarus?
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Thu Jan 13 17:32:25 CET 2011
Graeme Geldenhuys schrieb:
>> The determination of a closer target (e.g. control) is up to the
>> application or library, that manages the layout of a window. Every
>> application or library can freely define their own "handles" for every
>
>
> Try and implement your own GUI toolkit, and we talk again.
What tools do you have in mind? One of my first GUI libraries
implemented Windows-compatible widgets on the Atari ST, during the beta
test of Turbo-C for ST.
> Just some (not all) of the problems Qt had to overcome are as follows:
Can you be a bit more specific with your examples? IMO you confuse
inter-process and cross-process operations.
> * XDND protocol requires mouse enter, exit and window properties to
> correctly get a source or target of a drag action. X11 Window
> handles are required for this.
>
> * Windows OLE drag-n-drop protocol requires window handles for each
> window or widget that can do DND.
As mentioned above, *every* dragmanager must have handles for all
involved components. An OS-wide dragmanager can only use OS-wide
handles, e.g. those of the OS-wide window manager.
Dunno about XDND, but sounds to be out-of-process as well.
> * Window clipping must now be handled by Qt itself.
In which context? During painting it depends on the screen graphics
library, whether the canvas implements some clipping, or allows to write
on the entire screen.
> * Window clipping between non-handle windows and handle-windows.
> eg: The form has a handle, but all normal widgets on that form
> have no handles. Now through in a OpenGL widget which must have
> a window handle. Now you have widgets on the form that has handles,
> and some that don't. Now apply all the previous items listed to the
> mix.
I don't see the consequences. Controls with an OS-wide window handle are
known to the window manager, others are not.
DoDi
More information about the Lazarus
mailing list