'---updatedtoworkwih64bitmint20.1April262021'---setupforcompilingembeddedlibraryGTKPRAGMAOPTIONS`pkg-config--cflagsgtk+-3.0`PRAGMALDFLAGS`pkg-config--libsgtk+-3.0`PRAGMAINCLUDE<gtk-3.0/gtk/gtk.h>PRAGMACOMPILERgccPRAGMAOPTIONS-Wno-implicit-Wno-deprecated-declarationsOPTIONPARSEFALSEPROTOgtk_initPROTOgtk_window_newPROTOgtk_mainPROTOgtk_main_quitPROTOg_signal_connect_dataPROTOgtk_container_addPROTOgtk_widget_show_allPROTOgtk_switch_newPROTOgtk_window_set_titlePROTOgtk_window_set_default_sizePROTOgtk_container_set_border_widthPROTOgtk_switch_set_activePROTOgtk_grid_set_column_spacingPROTOgtk_grid_attachPROTOgtk_spinner_newPROTOgtk_spinner_startPROTOgtk_spinner_stopDECLAREwindowTYPEvoid*DECLAREgridTYPEvoid*DECLARElabelTYPEvoid*DECLARESW1TYPEintDECLAREspinnerTYPEvoid*DECLAREswitch1TYPEvoid*'=====================SUBexit_prog'=====================gtk_main_quitENDSUB'=====================SUBswitch_clicked()'=====================CLEARPRINT"switch button1"SW1=gtk_switch_get_active(switch1)IFSW1=1THENgtk_spinner_start(spinner)ELSEgtk_spinner_stop(spinner)ENDIFPRINTSW1ENDSUBgtk_init(0,0)'---Createawindowwithasettitleanddefaultsize.'---Also,setaborderwidthfortheamountofspace'---toleaveinsidethewindowindow=gtk_window_new(0)gtk_window_set_title(window,"Switch Example GTK3 2021")gtk_window_set_default_size(window,400,100)gtk_container_set_border_width(window,10)g_signal_connect_data(window,"delete-event",exit_prog,0,0,0)'---Createalabel---'label=gtk_label_new("Spin")'---Createaswitchwithadefaultactivestateswitch1=gtk_switch_new()gtk_switch_set_active(switch1,FALSE)spinner=gtk_spinner_new()'---Createagridandsetthecolumnspacing,'---attachthelabel'---switchontothegrid'---positionthemaccordinglygrid=gtk_grid_new()gtk_grid_set_column_spacing(grid,10)gtk_grid_attach(grid,label,0,0,1,1)gtk_grid_attach(grid,switch1,1,0,1,1)gtk_grid_attach(grid,spinner,2,0,20,20)'---Connectingtheclickedsignaltothecallbackg_signal_connect_data(switch1,"notify::active",switch_clicked,0,0,0)gtk_container_add(window,grid)gtk_widget_show_all(window)gtk_main
'---updatedtoworkwih64bitmint20.1April262021'---setupforcompilingembeddedlibraryGTKPRAGMAOPTIONS`pkg-config--cflagsgtk+-3.0`PRAGMALDFLAGS`pkg-config--libsgtk+-3.0`PRAGMAINCLUDE<gtk-3.0/gtk/gtk.h>PRAGMACOMPILERgccPRAGMAOPTIONS-Wno-implicit-Wno-deprecated-declarationsOPTIONPARSEFALSEPROTOgtk_initPROTOgtk_window_newPROTOgtk_main_quitPROTOg_signal_connect_dataPROTOgtk_mainPROTOgtk_container_addPROTOgtk_container_set_border_widthPROTOgtk_widget_show_allPROTOgtk_window_set_default_sizePROTOgtk_window_set_titlePROTOgtk_entry_get_textPROTOgtk_entry_newDECLAREwindowTYPEvoid*DECLAREentry_boxTYPEvoid*'=======================SUBEXIT_PROG()'=======================gtk_main_quitENDSUB'---Thisisthecallbackfunction.Itisahandlerfunction'---whichreactstothesignal.Inthiscase,itwillgrabthe'---textinputfromtheentryboxandprintoutalinetotheuser.'---whenyoupressenter'=======================SUBon_activate'=======================name$=(char*)gtk_entry_get_text(entry_box)PRINTname$ENDSUBgtk_init(0,0)'---Createawindowwithatitle,adefaultsize,'---andasetborderwidthwindow=gtk_window_new(0)gtk_window_set_title(window,"To get the entry press enter")gtk_window_set_default_size(window,350,100)gtk_container_set_border_width(window,10)g_signal_connect_data(window,"destroy",EXIT_PROG,0,0,0)'---Createanewentrybox,andaddittothewindowentry_box=gtk_entry_new()gtk_container_add(window,entry_box)'---Connectingtheactivatesignaltothecallbackg_signal_connect_data(entry_box,"activate",on_activate,0,0,0)gtk_widget_show_all(window)gtk_main
TOGGLE-SPINNER
Example code: toggle-spinner-gtk3-proto.bac
Last edit: big-bass 2021-04-28
ENTRY
source code ported from here
https://developer.gnome.org/gnome-devel-demos/stable/entry.c.html.en
Example code: entry-gtk3-proto.bac
Last edit: big-bass 2021-04-28
TABS3
Example code: tabs3-gtk3-proto.bac
Last edit: big-bass 2021-04-28