It makes sense as the programs in that 'bacon.tar.gz' package are also more than a year old.
Please use the programs shipped by Puppy Linux, or the current programs hosted on the
.
For fun I have adjusted the 'gtkabout1.bac' program so it compiles and runs with BaCon 1.0 build 19. Compare with the orignal one and you'll see the differences.
Code: Select all
' *************************************************
' Program: gtkabout1
' Purpose: Demo of GTK about function
' Author: Jan Bodnar
' Modded: Vovchik (Puppy forum)
' Added: added new png, text box, quit routine
' Date: 13 Nov 2009
'
' Modified for BaCon 1.0 build 19 by PvE - Nov. 2010
'
' *************************************************
TRAP LOCAL
GLOBAL NUL TYPE STRING
' ***********
' INIT VARS
' ***********
CONST GTK_WINDOW_TOPLEVEL = 0
CONST GTK_WIN_POS_CENTER = 1
CONST GDK_BUTTON_PRESS_MASK = 256
' ***********
' ***********
' LIB IMPORTS
' ***********
IMPORT "gtk_init(int*,void*)" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_window_new(int)" FROM "libgtk-x11-2.0.so" TYPE long
IMPORT "gtk_widget_show_all(long)" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_main" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_main_quit" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "g_signal_connect_data(long,char*,void*,long,long,int)" FROM "libgobject-2.0.so" TYPE void
IMPORT "g_object_unref(long)" FROM "libgobject-2.0.so.0" TYPE void
IMPORT "gdk_pixbuf_new_from_file(char*,void*)" FROM "libgdk_pixbuf_xlib-2.0.so" TYPE long
IMPORT "g_object_set(long,char*,...)" FROM "libgobject-2.0.so" TYPE void
IMPORT "gtk_show_about_dialog(long,char*,...)" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_check_version(int,int,int)" FROM "libgtk-x11-2.0.so" TYPE char*
' *********** added by vovchik
IMPORT "gtk_container_add(long,long)" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_label_new(char*)" FROM "libgtk-x11-2.0.so" TYPE long
IMPORT "gtk_table_new(int,int,int)" FROM "libgtk-x11-2.0.so" TYPE long
IMPORT "gtk_table_attach_defaults(long,long,int,int,int,int)" FROM "libgtk-x11-2.0.so" TYPE void
IMPORT "gtk_button_new_from_stock(char*)" FROM "libgtk-x11-2.0.so" TYPE long
IMPORT "gtk_exit(int)" FROM "libgtk-x11-2.0.so" TYPE void
' *********** end added by vovchik
' ***********
' SUBROUTINES
' ***********
' ***********
' Callback for
' closing window
' ***********
' ***********
SUB exit_prog
' ***********
gtk_exit(0)
' ***********
ENDSUB
' ***********
' ***********
SUB show_about(long widget, long event, long dialog)
' ***********
LOCAL pixbuf
LOCAL v$
IF gtk_check_version(2,12,0) EQ 0 THEN v$="program-name"
ELSE v$="name"
pixbuf = gdk_pixbuf_new_from_file("battery.png", NUL)
gtk_show_about_dialog(dialog,v$,"Battery","version","0.9a","copyright","(c) Jan Bodnar\nmodded by vovchik","comments","Battery is a simple tool for battery checking.","website","http://www.basic-converter.org","logo",pixbuf,NUL)
g_object_unref(pixbuf)
' ***********
END SUB
' ***********
' ***********
' FUNCTIONS
' ***********
' ***********
SUB BacMain()
' ***********
LOCAL window, table, label, button
gtk_init(0, 0)
window = gtk_window_new(GTK_WINDOW_TOPLEVEL)
g_object_set(window,"window-position",GTK_WIN_POS_CENTER,"title","Battery","default-width",220,"default-height",150,"events",GDK_BUTTON_PRESS_MASK,"border-width",15,NUL)
' *********** added by vochik
table = gtk_table_new(15, 15, 1)
gtk_container_add(window, table)
label = gtk_label_new("Click here for child window,\nplease! Pretty please!")
gtk_table_attach_defaults(table, label, 1, 8, 3, 7)
button = gtk_button_new_from_stock("gtk-cancel")
gtk_table_attach_defaults(table, button, 10, 14, 12, 14)
' *********** end added by vovchik
g_signal_connect_data(window,"button_press_event", show_about, window, 0, 0)
g_signal_connect_data(window,"destroy", gtk_main_quit, 0, 0, 0)
' *********** added by vochik
g_signal_connect_data(button, "clicked", exit_prog, 0, 0, 0)
' *********** end added by vovchik
gtk_widget_show_all(window)
gtk_main
' ***********
END SUB
' ***********
' ***********
' MAIN
' ***********
BacMain
' ***********
' END MAIN
' ***********