Penguin

Differences between current version and revision by previous author of ToolKit.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 4 Last edited on Wednesday, January 21, 2004 12:56:35 pm by AristotlePagaltzis
Older page: version 2 Last edited on Monday, October 27, 2003 11:28:13 am by StuartYeates Revert
@@ -3,9 +3,12 @@
 In a [GUI] application written without a ToolKit the actual program is a long loop that continuously calls a function to poll incoming events and then feeds them into a huge switch construct that decides how to react to each event. Every single facet of the application's behaviour has to be reflected here. Needless to say, writing non-trivial applications this way is tiresome at best. 
  
 A [GUI] ToolKit's main responsibility is to abstract away this event loop in a way that it can be maintained and extended easily. To this end, the different "widgets" (such as buttons, labels, menus etc) of a [GUI] are treated as black boxes. An EventModel is then specified, which defines how events "propagate" across these blackboxes. The EventModel is a large factor in the design of an application's architecture. Different [ToolKit]s tend to use very different [EventModel]s, which can cause a great deal of confusion. 
  
-[GUI ] Toolkits include:  
-# Tk ( [Perl ], TCL)  
-# awt ( Java)  
-# swing (awt , [Java])  
-#  
+Popular [ToolKit ]s include  
+* [GTK ], the GimpToolKit, written in [C] but with bindings for many other languages, is the first choice for most any serious application on Linux and foundation of the [GNOME] DesktopEnvironment  
+* [Qt], written in and for [C++], is the ToolKit the [KDE] DesktopEnvironment is built on top of  
+* [Tk], a rather crufty and baroque ToolKit, was originally made for [ TCL], but now has bindings for several other scripting languages, most notably [Perl]  
+* [AWT], the first ToolKit of the [ Java] class library  
+* Swing , a more modern ToolKit that superseedes [AWT] in the [Java] class library  
+* [Motif], which is only of historical interest anymore  
+* LessTif, a [Free] [Motif] clone, barely more interesting