% PLGI port of spinbutton_example.py in PyGObject-Tutorial. % Copyright (C) GNU Free Documentation License 1.3 % This file is distributed under the same license as the Python GTK+ 3 Tutorial package. % Keri Harris , 2015. :- use_module(library(plgi)). :- plgi_use_namespace('Gtk'). on_numeric_toggled(Button, SpinButton) :- gtk_toggle_button_get_active(Button, IsActive), gtk_spin_button_set_numeric(SpinButton, IsActive). on_ifvalid_toggled(Button, SpinButton) :- ( gtk_toggle_button_get_active(Button, true) -> Policy = 'GTK_UPDATE_IF_VALID' ; Policy = 'GTK_UPDATE_ALWAYS' ), gtk_spin_button_set_update_policy(SpinButton, Policy). main :- gtk_window_new('GTK_WINDOW_TOPLEVEL', Window), gtk_window_set_title(Window, 'SpinButton Demo'), gtk_container_set_border_width(Window, 10), gtk_box_new('GTK_ORIENTATION_HORIZONTAL', 6, HBox), gtk_container_add(Window, HBox), gtk_adjustment_new(0, 0, 100, 1, 10, 0, Adjustment), gtk_spin_button_new(Adjustment, 0, 0, SpinButton), gtk_box_pack_start(HBox, SpinButton, false, false, 0), gtk_check_button_new_with_label('Numeric', NumericButton), g_signal_connect(NumericButton, 'toggled', on_numeric_toggled/2, SpinButton, _), gtk_box_pack_start(HBox, NumericButton, false, false, 0), gtk_check_button_new_with_label('If Valid', IfValidButton), g_signal_connect(IfValidButton, 'toggled', on_ifvalid_toggled/2, SpinButton, _), gtk_box_pack_start(HBox, IfValidButton, false, false, 0), g_signal_connect(Window, 'destroy', gtk_main_quit/0, {null}, _), gtk_widget_show_all(Window), gtk_main, halt. :- main.