Code-Beispiel
GTK Versions-Check
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
GPLv3 | TJF | 26.04.2013 |
Ausgabe
Dieses Beispielprogramm prüft, ob auf dem System eine GTK-Installation verfügbar ist und meldet gegebenenfalls deren Versionsnummer in einem GTK-Fenster. Falls keine GTK-Installation gefunden wird, wird eine entsprechende Meldung in einem FBgfx-Fenster ausgegeben.
Der Code kann unter LINUX und win kompiliert werden (, wozu eine GTK-Installation vorhanden sein muss). Es werden die original GTK bindings verwendet, wie sie mit FreeBasic (0.20b/0.21) mitgeliefert werden (keine Zusatzinstallation notwendig).
' GtkTest.bas
' GPLv3: Copyright by TJF, 2010
#DEFINE __USE_GTK3__
#INCLUDE ONCE "gtk/gtk.bi"
#DEFINE NULL 0
DIM AS GtkWidget PTR win, frame, label
DIM AS INTEGER v1, v2, v3
DIM AS STRING GtkVersion
' Initialise GTK
IF gtk_init_check (@__FB_ARGC__, @__FB_ARGV__) THEN
v1 = 4 : WHILE gtk_check_version_(v1, v2, v3) : v1 -= 1 : WEND
v2 = 99 : WHILE gtk_check_version_(v1, v2, v3) : v2 -= 1 : WEND
v3 = 44 : WHILE gtk_check_version_(v1, v2, v3) : v3 -= 1 : WEND
GtkVersion = !"\n" & v1 & "." & v2 & "." & v3 & !"\n"
ELSE
SCREENRES 300, 70
?!"\n\nNo GTK installation found!\n\nPress a key to finish."
SLEEP
END -1
END IF
win = gtk_window_new (GTK_WINDOW_TOPLEVEL)
g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(@gtk_main_quit), NULL)
g_signal_connect(GTK_WIDGET(win), "key-press-event", G_CALLBACK(@gtk_main_quit), NULL)
gtk_window_set_title (GTK_WINDOW (win), "GtkTest")
gtk_container_set_border_width (GTK_CONTAINER (win), 70)
frame = gtk_frame_new (" installed version is ")
label = gtk_label_new (SADD(GtkVersion))
gtk_container_add (GTK_CONTAINER (frame), label)
gtk_container_add (GTK_CONTAINER (win), frame)
gtk_widget_show_all (win)
gtk_main ()
END 0
Zusätzliche Informationen und Funktionen |
- Das Code-Beispiel wurde am 07.10.2010 von TJF angelegt.
- Die aktuellste Version wurde am 26.04.2013 von TJF gespeichert.
|
|