mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-07 05:42:26 +00:00
parent
a4b8164ffc
commit
afff10cca3
10 changed files with 730 additions and 0 deletions
61
src/test/Gtk/HelloWorld.Mod
Normal file
61
src/test/Gtk/HelloWorld.Mod
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
(***************************************************************************
|
||||
Project: HelloWorld
|
||||
Purpose: A libglade-Hello-World with oo2c
|
||||
Version: 1.0
|
||||
Predecessor: -
|
||||
Changes: -
|
||||
Target: Linux
|
||||
Compiler: oo2c
|
||||
Date: Jan. 2009
|
||||
Author: Frank Hrebabetzky
|
||||
|
||||
-- converted to use with voc by noch
|
||||
***************************************************************************)
|
||||
|
||||
MODULE HelloWorld;
|
||||
|
||||
IMPORT
|
||||
SYSTEM, Args, Out := Console, G, Gdk, Gtk, Glade, handlers;
|
||||
|
||||
CONST
|
||||
(*GUIFILE = "gui.glade";*)
|
||||
ERRXML = 1; (* xml file problem *)
|
||||
ERRNOTFOUND = 2; (* widget not found *)
|
||||
|
||||
VAR
|
||||
argc : LONGINT;
|
||||
argv : Gtk.ArgVector;
|
||||
xml: Glade.XMLPtr;
|
||||
drawing: Gtk.WidgetPtr;
|
||||
GuiFile, name: Glade.CString;
|
||||
|
||||
PROCEDURE (*["Hello"]*) Hello* (widget:Gtk.WidgetPtr; data:SYSTEM.PTR);
|
||||
BEGIN
|
||||
Out.String("Hello, world!"); Out.Ln;
|
||||
END Hello;
|
||||
|
||||
|
||||
PROCEDURE (*["Draw"]*) Draw* (widget:Gtk.WidgetPtr;
|
||||
event:Gdk.EventExposePtr; data:G.pointer): G.boolean;
|
||||
VAR a: G.int;
|
||||
BEGIN
|
||||
a:= widget.allocation.width DIV 2;
|
||||
Gdk.drawArc (widget.window, widget.style.fgGc[ORD(widget.state)], G.TRUE,
|
||||
a DIV 2, a DIV 2, a, a, 0, 64*360);
|
||||
RETURN G.TRUE;
|
||||
END Draw;
|
||||
|
||||
BEGIN
|
||||
argc:= Args.argc;
|
||||
argv:= SYSTEM.VAL (Gtk.ArgVector, Args.argv);
|
||||
Gtk.init (argc, argv);
|
||||
NEW(GuiFile);
|
||||
COPY("gui.glade", GuiFile^);
|
||||
xml:= Glade.xmlNew (GuiFile, NIL, NIL);
|
||||
ASSERT (SYSTEM.VAL(SYSTEM.PTR, xml)#NIL, ERRXML);
|
||||
Glade.xmlSignalAutoconnect (xml);
|
||||
NEW(name); COPY("drawing", name^);
|
||||
drawing:= Glade.xmlGetWidget (xml, name);
|
||||
ASSERT (drawing#NIL, ERRNOTFOUND);
|
||||
Gtk.main;
|
||||
END HelloWorld.
|
||||
Loading…
Add table
Add a link
Reference in a new issue