Gtk2Hs/Tutorials/Intro: Difference between revisions
DuncanCoutts (talk | contribs) No edit summary |
DuncanCoutts (talk | contribs) No edit summary |
||
Line 9: | Line 9: | ||
Start with the most basic working hello world app. | Start with the most basic working hello world app. | ||
Then we compile it... | Then we compile it... | ||
Here's the most basic Gtk2Hs prog: | |||
import Graphics.UI.Gtk | |||
main = do | |||
initGUI | |||
window <- windowNew | |||
widgetShow window | |||
mainGUI | |||
=== Compiling Hello World === | === Compiling Hello World === |
Revision as of 14:49, 22 January 2006
Note: this page is under construction. Feel free to help out!
Introduction
Want to say who this tutorial is aimed at etc.
Hello World with Gtk2Hs
Start with the most basic working hello world app. Then we compile it...
Here's the most basic Gtk2Hs prog:
import Graphics.UI.Gtk main = do initGUI window <- windowNew widgetShow window mainGUI
Compiling Hello World
How to compile it with GHC on linux/mac/win32
Stepping through Hello World
Go through line by line of the hello world code to explain what each one does. It should not mention in too much detail how signals work yet, but note that they will be explained more fully shorty.
Signals
The concept of event driven GUI programming. What GObject signals are (without necessarily mentioning the term GObject yet)
Widget Types
The way that the class heiriaharcy is represented in Haskell using type classes. Breif mention of up casting & downcasting. We'll come back to downcasting in the glade section.
Attributes
Show the "set object [ attr := value ]" style syntax. Reccomend it over the more verbose "objectSetAttr object value" style.
Using Glade
We want to encourage people to use Glade to do their widget layout rather than doing it all in code. We can explain manual widget layout as a more advanced topic next.
Redo the hello world program using Glade.
Widget Layout
Doing widget layout in code rather than with Glade.