diff options
Diffstat (limited to 'tests/gtk/ex6.nim')
-rwxr-xr-x | tests/gtk/ex6.nim | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/tests/gtk/ex6.nim b/tests/gtk/ex6.nim deleted file mode 100755 index 5f18786fe..000000000 --- a/tests/gtk/ex6.nim +++ /dev/null @@ -1,52 +0,0 @@ - -import - glib2, gtk2 - -type - TButtonSignalState = record - Obj: PgtkObject - SignalID: int32 - Disable: bool - - PButtonSignalState = ptr TButtonSignalState - -proc destroy(widget: pGtkWidget, data: pgpointer){.cdecl.} = - gtk_main_quit() - -proc disablesignal(widget: pGtkWidget, data: pgpointer){.cdecl.} = - if PButtonSignalState(Data).Disable: - gtk_signal_handler_block(PButtonSignalState(Data).Obj, SignalID) - else: - gtk_signal_handler_unblock(PButtonSignalState(Data).Obj, SignalID) - PButtonSignalState(Data).disable = not PButtonSignalState(Data).disable - -var - window: PGtkWidget - quitbutton: PGtkWidget - disablebutton: PGTKWidget - windowbox: PGTKWidget - quitsignal: guint - QuitState: TButtonSignalState - -gtk_nimrod_init() -window = gtk_window_new(GTK_WINDOW_TOPLEVEL) -quitbutton = gtk_button_new_with_label("Quit program") -disablebutton = gtk_button_new_with_label("Disable button") -windowbox = gtk_vbox_new(TRUE, 10) -gtk_box_pack_start(GTK_BOX(windowbox), disablebutton, True, false, 0) -gtk_box_pack_start(GTK_BOX(windowbox), quitbutton, True, false, 0) -gtk_container_set_border_width(GTK_CONTAINER(Window), 10) -gtk_container_add(GTK_Container(window), windowbox) -gtk_signal_connect(GTKOBJECT(window), "destroy", - GTK_SIGNAL_FUNC(destroy), nil) -QuitState.Obj = GTKObject(QuitButton) -SignalID = gtk_signal_connect_object(QuitState.Obj, "clicked", GTK_SIGNAL_FUNC( - gtk_widget_destroy), GTKOBJECT(window)) -QuitState.Disable = True -discard gtk_signal_connect(GTKOBJECT(disablebutton), "clicked", - GTK_SIGNAL_FUNC(disablesignal), addr(QuitState)) -gtk_widget_show(quitbutton) -gtk_widget_show(disablebutton) -gtk_widget_show(windowbox) -gtk_widget_show(window) -gtk_main() |