Lothian, Nicholas (ETSA) Lothian.Nicholas at etsa.com.au
Sun Jun 27 22:19:28 EDT 1999

I know a little about this, from a university GUI course I did - mostly
in Motif, but some Xt/XLib stuff too.

XLib is the lowest level you can go with X programming. There is a
toolkit known as Xt which is written on top of XLib, and which most (Qt,
Motif) toolkits are based. GTK isn't though.

I'm not too sure writing everything in XLib is the way to go. I
understand all your arguments for it - it will give us the maximum
flexibility, but it is a HUGE amount of work.

There are already so many toolkits out there - we shouldn't duplicate
this work. Have a look at the amount of work that has been done on GTK.
We couldn't hope to duplicate that, just to write a development tool.

As for the cross platform.... GTK runs on Windows, QT runs on windows,
there are any number of other cross platform GUI toolkits. Pick one, and
use it. I prefer GTK, but that is just me - I think the themes stuff is
_SO_ cool *S*.

Now I realize GTK is not OO, but neither is native windows programming.
The VCL does a fairly good job of wrapping that - why can't we do the

I agree we should stay away from using all the GNOME CORBA stuff in the
IDE - maybe make it into a plugin of something.

In conclusion, I think we should do one of two things:
1) Settle on a single toolkit and use it. 
2) Write a set of "Compatibility Library" that wrap common GUI Objects
from each of the main toolkits, and write for that.
    e.g., we have a library for GTK, one for QT, one for Windows, and
each has a TForm class that wrap a GTK, QT or               Windows form

Nick Lothian

>From: 	Michael A. Hess[SMTP:mhess at miraclec.com]
>Sent: 	Monday, 28 June 1999 10:59
>To: 	lazarus at miraclec.com
>Subject: 	Re: [lazarus]
>Shane Miller wrote:
>> I'm not real familiar with XLib so let me ask this.  Is the XLib the
>> method that was used to write KDE and other GUI's?  Or is it simply
>> another component library?
>Xlib is the X11 system. It is what was used to write the GDK. Then GTK
>was written using the GDK. Then Gnome is written using the GTK. The same
>kind of process goes for KDE. Qt's primatives (I don't know their name)
>are written to the Xlib. The Qt widgets are written to use the Qt
>primiatives. KDE is written using the Qt widgets.
>What we are talking about is writting our own GTK or Qt or what we would
>call the FCL. Our FCL would talk to the Xlib directly. To skip some of
>this headache we could use GDK instead of going all the way down to
>> Can we then create a unit that has a CREATECOMPONENT and SENDMESSAGE
>> and such that will interface with X11 library?
>We would be able to do ANYTHING we wish. All of the messaging component
>interaction would be written by us in the FCL. We would not be calling
>or using any other libs other than the standard X11 libs which you have
>to use even with GTK. The GDK might be easier to use as the low level
>graphics primatives since it already takes care of many of the headaches
>involved with accessing the X11 libs.
>Think about it this way. If you look in the Delphi VCL most of the
>direct Windows API calls are only found within the Draw methods of any
>component. That is what we are talking about. All the rest of the
>component would be written entirely with FPC in Pascal. Only the Draw
>method would need to be written to address how the widget in question
>looks and is...well drawn. We could call Xlib directly or as I said
>overcome alot of Xlib headaches by using GDK. This is the "Graphics
>Drawing Kit" that is the basis of GTK. The other advantage to using the
>GDK is that it is already ported to Win32. If GTK has been ported to
>Win32, well then GDK has been as well. We would write our components
>once using GDK and any platform that has GTK/GDK would be able to use
>the FPC and the FCL. We still get the portability of the graphics
>primatives but aren't tied to the widget set of GTK.
>The GDK has all your basics:
>Draw Pixel
>Draw Lines
>Draw Rectangles
>Draw Polygons
>All of these than have the standard outlined or filled what color, etc.
>I think this way of doing the FCL gives us the most flexibility within
>FPC. We will not be tied to a limited widget set established by some
>other third party API.
>==== Programming my first best destiny! ====
>Michael A. Hess      Miracle Concepts, Inc.
>mhess at miraclec.com   http://www.miraclec.com
>     To unsubscribe: mail lazarus-request at miraclec.com with
>                "unsubscribe" as the Subject
>    archives at http://www.miraclec.com/list_archives/lazarus

More information about the Lazarus mailing list