<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/baconproto/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/baconproto/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 28 Apr 2021 18:07:38 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/baconproto/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#41e2</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="progress"&gt;PROGRESS&lt;/h1&gt;
&lt;p&gt;&lt;img alt="alternate text" src="https://sourceforge.net/projects/baconproto/files/images/timeout.png"/&gt;&lt;/p&gt;
&lt;p&gt;This is how to add a timeout to GTK3&lt;br/&gt;
and use it with PROTO&lt;/p&gt;
&lt;p&gt;now the progressbar auto updates automatically&lt;br/&gt;
there wasn't a complete simple example so I had to make one&lt;/p&gt;
&lt;p&gt;and notice pointer free code&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: progress-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work with 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;


&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_attach_next_to&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_progress_bar_pulse&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_button_new_with_label&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_progress_bar_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_progress_bar_set_fraction&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_progress_bar_get_fraction&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt;  &lt;span class="n"&gt;g_timeout_add&lt;/span&gt;



&lt;span class="s1"&gt;'--- Declare variables&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;progress_bar&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="n"&gt;fraction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;

&lt;span class="s1"&gt;'---How to use a time out to update a progress bar&lt;/span&gt;

&lt;span class="s1"&gt;'=============================&lt;/span&gt;
&lt;span class="n"&gt;FUNCTION&lt;/span&gt; &lt;span class="n"&gt;timeout_callback&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="nb nb-Type"&gt;int&lt;/span&gt;
&lt;span class="s1"&gt;'=============================&lt;/span&gt;

    &lt;span class="n"&gt;gtk_progress_bar_pulse&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;progress_bar&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   

    &lt;span class="s1"&gt;'---Increase the bar by 10&lt;/span&gt;&lt;span class="si"&gt;% e&lt;/span&gt;&lt;span class="s1"&gt;ach time this function is called&lt;/span&gt;

    &lt;span class="s1"&gt;'---Fill in the bar with the new fraction&lt;/span&gt;
    &lt;span class="n"&gt;gtk_progress_bar_set_fraction&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;progress_bar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fraction&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;fraction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fraction&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;
    &lt;span class="n"&gt;IF&lt;/span&gt; &lt;span class="n"&gt;fraction&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;THEN&lt;/span&gt;
        &lt;span class="n"&gt;fraction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;IF&lt;/span&gt;

    &lt;span class="n"&gt;RETURN&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;

&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;FUNCTION&lt;/span&gt;



&lt;span class="s1"&gt;'==============&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;EXIT_PROG&lt;/span&gt;
&lt;span class="s1"&gt;'==============&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




    &lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="s1"&gt;'---Create the window and set a title&lt;/span&gt;
    &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Progress Example"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;270&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"destroy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;EXIT_PROG&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


    &lt;span class="s1"&gt;'---Create a button with a label&lt;/span&gt;
    &lt;span class="n"&gt;button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_button_new_with_label&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"QUIT"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="s1"&gt;'---Create the progress bar&lt;/span&gt;
    &lt;span class="n"&gt;progress_bar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_progress_bar_new&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="s1"&gt;'---Create a grid and attach the button and progress bar accordingly&lt;/span&gt;
    &lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_new&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_grid_attach_next_to&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; \
                         &lt;span class="n"&gt;progress_bar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; \
                         &lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; \
                         &lt;span class="n"&gt;GTK_POS_BOTTOM&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="s1"&gt;'---Connecting the clicked signal to the callback function&lt;/span&gt;
    &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;EXIT_PROG&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


    &lt;span class="n"&gt;g_timeout_add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;timeout_callback&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 18:07:38 -0000</pubDate><guid>https://sourceforge.netfb75cb8343613398c731344aa1dcff6043cb10fd</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#b54f</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="spinbutton3"&gt;SPINBUTTON3&lt;/h1&gt;
&lt;p&gt;original code ported and modified&lt;br/&gt;
&lt;a href="https://developer.gnome.org/gnome-devel-demos/stable/spinbutton.c.html.en" rel="nofollow"&gt;https://developer.gnome.org/gnome-devel-demos/stable/spinbutton.c.html.en&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: spinbutton-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;



&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_label_set_text&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_set_column_homogeneous&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_set_column_spacing&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_set_hexpand&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_adjustment_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_label_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_spin_button_get_value_as_int&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_spin_button_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;



&lt;span class="s1"&gt;'--- Declare variables&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;spin_button&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;adjustment&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;




&lt;span class="s1"&gt;'==============&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;EXIT_PROG&lt;/span&gt;
&lt;span class="s1"&gt;'==============&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="s1"&gt;'--- This is the callback function.&lt;/span&gt;
&lt;span class="s1"&gt;'--- It is a handler function which reacts to the signal.&lt;/span&gt;
&lt;span class="s1"&gt;'--- In this case, it will notify the user the value of their spinbutton&lt;/span&gt;

&lt;span class="s1"&gt;'==============&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;spin_clicked&lt;/span&gt;
&lt;span class="s1"&gt;'==============&lt;/span&gt;
    &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_spin_button_get_value_as_int&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_SPIN_BUTTON&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;spin_button&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;     
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;





&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Create a window with a title, a border width, and a default size&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW_TOPLEVEL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s2"&gt;"SpinButton Example 2021"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;330&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_CONTAINER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Connecting the clicked signal to the callback function&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"destroy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;EXIT_PROG&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Create a label to be shown in the window&lt;/span&gt;
&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_label_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Press enter to get the value"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Create an adjustment representing an adjustable bounded value&lt;/span&gt;
&lt;span class="n"&gt;adjustment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_adjustment_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="s1"&gt;'--- Create a spin button that is to be as wide as possible&lt;/span&gt;
&lt;span class="n"&gt;spin_button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_spin_button_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;adjustment&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_set_hexpand&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;spin_button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Connecting the "value-changed" signal for the spinbutton&lt;/span&gt;
&lt;span class="s1"&gt;'--- to the appropriate callback function.&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;spin_button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"activate"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;spin_clicked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Create a grid and arrange everything accordingly&lt;/span&gt;
&lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_new&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_set_column_spacing&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_GRID&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_set_column_homogeneous&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_GRID&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_GRID&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;spin_button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_GRID&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_CONTAINER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_main&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 17:47:10 -0000</pubDate><guid>https://sourceforge.net28fc4993ff62b8d3228d4ef0a60563db542369e6</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#6c88</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="switch"&gt;SWITCH&lt;/h1&gt;
&lt;p&gt;&lt;img alt="alternate text" src="https://sourceforge.net/projects/baconproto/files/images/switch-gtk3-proto.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: switch-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;implicit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;deprecated&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;declarations&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;


&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_switch_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_switch_set_active&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_set_column_spacing&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt;


&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;switch1&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;switch_clicked&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"switch button1"&lt;/span&gt;
    &lt;span class="n"&gt;SW1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_switch_get_active&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;switch1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="n"&gt;SW1&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;





&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Create a window with a set title and default size.&lt;/span&gt;
&lt;span class="s1"&gt;'---Also, set a border width for the amount of space&lt;/span&gt;
&lt;span class="s1"&gt;'---to leave inside the window&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Switch Example"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"delete-event"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;



&lt;span class="s1"&gt;'---Create a label---'&lt;/span&gt;
&lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_label_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Title"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="s1"&gt;'---Create a switch with a default active state&lt;/span&gt;
&lt;span class="n"&gt;switch1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_switch_new&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;gtk_switch_set_active&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;switch1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="s1"&gt;'---Create a grid and set the column spacing,&lt;/span&gt;
&lt;span class="s1"&gt;'---attach the label&lt;/span&gt;
&lt;span class="s1"&gt;'---switch onto the grid&lt;/span&gt;
&lt;span class="s1"&gt;'---position them accordingly&lt;/span&gt;
&lt;span class="n"&gt;grid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_grid_new&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_set_column_spacing&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_grid_attach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;switch1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Connecting the clicked signal to the callback&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;switch1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"notify::active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;switch_clicked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 17:34:00 -0000</pubDate><guid>https://sourceforge.net5b27d78508ae57a197c7fd60d2c1bb5a8b37ed65</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#9946</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="text"&gt;TEXT&lt;/h1&gt;
&lt;p&gt;&lt;img alt="image" rel="nofollow" src="https://developer.gnome.org/gnome-devel-demos/stable/media/textview.png"/&gt;&lt;/p&gt;
&lt;p&gt;another official example&lt;br/&gt;
&lt;a href="https://developer.gnome.org/gnome-devel-demos/stable/textview.c.html.en" rel="nofollow"&gt;https://developer.gnome.org/gnome-devel-demos/stable/textview.c.html.en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: text-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;implicit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;deprecated&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;declarations&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;




&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_set_policy&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_text_view_set_wrap_mode&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_new&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_window_new&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_new&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_text_buffer_new&lt;/span&gt; 
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_text_view_new_with_buffer&lt;/span&gt; 


&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;buffer&lt;/span&gt;  &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;text_view&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;scrolled_window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- Create a window with a title, and a default size &lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"TextView Example GTK3 2021"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"delete-event"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'--- The text buffer represents the text being edited &lt;/span&gt;
&lt;span class="n"&gt;buffer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_text_buffer_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="s1"&gt;'--- Text view is a widget in which can display the text buffer. &lt;/span&gt;
&lt;span class="s1"&gt;'--- The line wrapping is set to break lines in between words.&lt;/span&gt;

&lt;span class="n"&gt;text_view&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_text_view_new_with_buffer&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;buffer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_text_view_set_wrap_mode&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text_view&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GTK_WRAP_WORD&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 


&lt;span class="s1"&gt;'--- Create the scrolled window. Usually NULL is passed for both parameters so &lt;/span&gt;
&lt;span class="s1"&gt;'--- that it creates the horizontal/vertical adjustments automatically. Setting &lt;/span&gt;
&lt;span class="s1"&gt;'--- the scrollbar policy to automatic allows the scrollbars to only show up &lt;/span&gt;
&lt;span class="s1"&gt;'--- when needed. &lt;/span&gt;

&lt;span class="n"&gt;scrolled_window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_scrolled_window_set_policy&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GTK_POLICY_AUTOMATIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GTK_POLICY_AUTOMATIC&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="s1"&gt;'--- The function directly below is used to add children to the scrolled window &lt;/span&gt;
&lt;span class="s1"&gt;'--- with scrolling capabilities (e.g text_view), otherwise, &lt;/span&gt;
&lt;span class="s1"&gt;'--- gtk_scrolled_window_add_with_viewport() would have been used&lt;/span&gt;

&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text_view&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    
&lt;span class="n"&gt;gtk_main&lt;/span&gt;    
&lt;/pre&gt;&lt;/div&gt;


&lt;hr/&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 17:20:59 -0000</pubDate><guid>https://sourceforge.net5745962ab2de5b021db8f57923172b4558a27505</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#4ad7</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="radio"&gt;RADIO&lt;/h1&gt;
&lt;p&gt;&lt;img alt="image" rel="nofollow" src="https://developer.gnome.org/gnome-devel-demos/stable/media/radiobutton.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.gnome.org/gnome-devel-demos/stable/radiobutton.c.html.en" rel="nofollow"&gt;https://developer.gnome.org/gnome-devel-demos/stable/radiobutton.c.html.en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: radio-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;


&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_set_homogeneous&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;


&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;box&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;radio1&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;radio2&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;radio3&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;



&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;radio_clicked&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"button1"&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;


&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;radio_clicked2&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"button2"&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;



&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;radio_clicked3&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"button3"&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW_TOPLEVEL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s2"&gt;"Radio 2021"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;330&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="n"&gt;box&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_box_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_ORIENTATION_VERTICAL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_set_homogeneous&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"delete-event"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Create a radio button1 with a label&lt;/span&gt;
&lt;span class="n"&gt;radio1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_button_new_with_label_from_widget&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"I'm the first radio button."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;radio_clicked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Create a radio button2 with a label&lt;/span&gt;
&lt;span class="n"&gt;radio2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_button_new_with_label_from_widget&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"I'm the second radio button."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;radio_clicked2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Create a radio button3 with a label&lt;/span&gt;
&lt;span class="n"&gt;radio3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_button_new_with_label_from_widget&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"I'm the third radio button."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;radio_clicked3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s1"&gt;'---Pack them into a box, then show all the widgets&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;radio3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;hr/&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 17:15:41 -0000</pubDate><guid>https://sourceforge.net3e2be41c8c7e9b84212eb150ca0723c1ba4eedff</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#64df</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="spinner"&gt;SPINNER&lt;/h1&gt;
&lt;p&gt;original code was not complete to show callbacks and a fully working example &lt;br/&gt;
&lt;a href="https://developer.gnome.org/gnome-devel-demos/stable/spinner.c.html.en" rel="nofollow"&gt;https://developer.gnome.org/gnome-devel-demos/stable/spinner.c.html.en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="alternate text" src="https://sourceforge.net/projects/baconproto/files/images/spinner-gtk3-proto.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;had to add callbacks , buttons and signals&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: spinner-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;implicit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;deprecated&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;declarations&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;



&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_spinner_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_spinner_start&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_spinner_stop&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_set_homogeneous&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_action_set_group&lt;/span&gt;

&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;spinner&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;box&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;radio1&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;radio2&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;action&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;radio_clicked&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;

    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"button1"&lt;/span&gt;
    &lt;span class="n"&gt;gtk_spinner_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;spinner&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;




&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;radio_clicked2&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;CLEAR&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s2"&gt;"button2"&lt;/span&gt;
    &lt;span class="n"&gt;gtk_spinner_stop&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;spinner&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;





&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Spinner test"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"delete-event"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;box&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_box_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_ORIENTATION_VERTICAL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_set_homogeneous&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;spinner&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_spinner_new&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="s1"&gt;'---Create a radio button1 with a label&lt;/span&gt;
&lt;span class="n"&gt;radio1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_button_new_with_label_from_widget&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Start spinner."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;radio_clicked&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;



&lt;span class="s1"&gt;'---Create a radio button2 with a label&lt;/span&gt;
&lt;span class="n"&gt;radio2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_radio_button_new_with_label_from_widget&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Stop spinner."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"clicked"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;radio_clicked2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="s1"&gt;'---Pack them into a box, then show all the widgets&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;radio1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;radio2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_box_pack_start&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;spinner&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;box&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 16:56:27 -0000</pubDate><guid>https://sourceforge.net2cbc311729f8ca4ef19ba5555c92fca8132ef6db</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#7fa8</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="check"&gt;CHECK&lt;/h1&gt;
&lt;p&gt;how to convert official examples to Simplified embedded gtk ones in BaCon&lt;br/&gt;
using the new PROTO option&lt;/p&gt;
&lt;p&gt;using this official example code as the reference&lt;br/&gt;
&lt;a href="https://developer.gnome.org/gnome-devel-demos/stable/checkbutton.c.html.en" rel="nofollow"&gt;https://developer.gnome.org/gnome-devel-demos/stable/checkbutton.c.html.en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" rel="nofollow" src="https://developer.gnome.org/gnome-devel-demos/stable/media/checkbutton.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;  Example code: check-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="s1"&gt;'--- updated to work wih 64 bit mint 20.1  April 26 2021&lt;/span&gt;
&lt;span class="s1"&gt;'--- set up for compiling embedded library GTK&lt;/span&gt;

&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;COMPILER&lt;/span&gt; &lt;span class="n"&gt;gcc&lt;/span&gt;
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;OPTIONS&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;implicit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Wno&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;deprecated&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;declarations&lt;/span&gt;
&lt;span class="n"&gt;OPTION&lt;/span&gt; &lt;span class="n"&gt;PARSE&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_toggle_button_set_active&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_application_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_check_button_new_with_label&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_toggle_button_get_active&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;


&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="n"&gt;checkbutton&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;




&lt;span class="s1"&gt;'=====================&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s1"&gt;'=====================&lt;/span&gt;
    &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;





&lt;span class="s1"&gt;'====================&lt;/span&gt;
 &lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;toggled_cb&lt;/span&gt;
&lt;span class="s1"&gt;'====================&lt;/span&gt;

    &lt;span class="s1"&gt;'--- signal handler for "toggled" signal of the CheckButton &lt;/span&gt;
    &lt;span class="n"&gt;TBUT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_toggle_button_get_active&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;checkbutton&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;IF&lt;/span&gt; &lt;span class="n"&gt;TBUT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;THEN&lt;/span&gt;
            &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CheckButton Example"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ELSE&lt;/span&gt;
            &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Callback working"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;IF&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="n"&gt;TBUT&lt;/span&gt;       
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;


&lt;span class="n"&gt;gtk_init&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  
&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"CheckButton Example"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"delete-event"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;checkbutton&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_check_button_new_with_label&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Show Title"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_toggle_button_set_active&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;checkbutton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;checkbutton&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"notify::active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;toggled_cb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;checkbutton&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    
&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;hr/&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Wed, 28 Apr 2021 16:38:48 -0000</pubDate><guid>https://sourceforge.netcfa99fff79d83a7ed1db8f613d6b68fd39d53d5b</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/?limit=25#d380</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;SWITCH&lt;br/&gt;
image&lt;br/&gt;
Example code: switch-gtk3-proto.bac&lt;br/&gt;
PRAGMA LDFLAGS &lt;code&gt;pkg-config --cflags --libs gtk+-3.0&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;PROTO gtk_init&lt;br/&gt;
PROTO gtk_window_new&lt;br/&gt;
PROTO gtk_main&lt;br/&gt;
PROTO gtk_main_quit&lt;br/&gt;
PROTO g_signal_connect_data&lt;br/&gt;
PROTO gtk_box_set_homogeneous&lt;br/&gt;
PROTO gtk_box_new&lt;br/&gt;
PROTO gtk_box_pack_start&lt;br/&gt;
PROTO gtk_container_add&lt;br/&gt;
PROTO gtk_widget_show_all&lt;br/&gt;
PROTO gtk_switch_new &lt;/p&gt;
&lt;p&gt;'--- set undeclared values&lt;br/&gt;
GTK_WINDOW_TOPLEVEL = 0&lt;br/&gt;
GTK_ORIENTATION_VERTICAL = 1&lt;/p&gt;
&lt;p&gt;'=====================&lt;br/&gt;
SUB exit_prog&lt;br/&gt;
'=====================&lt;br/&gt;
    gtk_main_quit&lt;br/&gt;
END SUB&lt;/p&gt;
&lt;p&gt;'=====================&lt;br/&gt;
SUB switch_clicked()&lt;br/&gt;
'=====================&lt;br/&gt;
    CLEAR&lt;br/&gt;
    PRINT "switch button1"&lt;br/&gt;
    SW1 = gtk_switch_get_active (switch1)&lt;br/&gt;
    PRINT SW1&lt;br/&gt;
    END SUB&lt;/p&gt;
&lt;p&gt;'=====================&lt;br/&gt;
SUB switch_clicked2()&lt;br/&gt;
'=====================&lt;br/&gt;
    CLEAR&lt;br/&gt;
    PRINT "switch button2"&lt;br/&gt;
    SW2 = gtk_switch_get_active (switch2)&lt;br/&gt;
    PRINT SW2&lt;br/&gt;
END SUB&lt;/p&gt;
&lt;p&gt;'=====================&lt;br/&gt;
SUB switch_clicked3()&lt;br/&gt;
'=====================&lt;br/&gt;
    CLEAR&lt;br/&gt;
    PRINT "switch button3"&lt;br/&gt;
    SW3 = gtk_switch_get_active (switch3)&lt;br/&gt;
    PRINT SW3&lt;br/&gt;
END SUB&lt;/p&gt;
&lt;p&gt;gtk_init(0, 0)&lt;/p&gt;
&lt;p&gt;window = gtk_window_new (GTK_WINDOW_TOPLEVEL)&lt;/p&gt;
&lt;p&gt;box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)&lt;br/&gt;
gtk_box_set_homogeneous (box, TRUE)&lt;br/&gt;
g_signal_connect_data(window, "delete-event", exit_prog, 0, 0, 0)&lt;/p&gt;
&lt;p&gt;label = gtk_label_new ("Switch Test ");&lt;/p&gt;
&lt;p&gt;'---Create a switch button1&lt;br/&gt;
switch1 = gtk_switch_new ()&lt;br/&gt;
g_signal_connect_data(switch1, "notify::active",switch_clicked, 0, 0, 0)&lt;/p&gt;
&lt;p&gt;'---Create a switch button2&lt;br/&gt;
switch2 = gtk_switch_new ()&lt;br/&gt;
g_signal_connect_data(switch2, "notify::active",switch_clicked2, 0, 0, 0)&lt;/p&gt;
&lt;p&gt;'---Create a switch button3&lt;br/&gt;
switch3 = gtk_switch_new ()&lt;br/&gt;
g_signal_connect_data(switch3, "notify::active",switch_clicked3, 0, 0, 0)&lt;/p&gt;
&lt;p&gt;'---Pack them into a box, then show all the widgets&lt;br/&gt;
gtk_box_pack_start (box, label, 0, 0, 1, 1)&lt;br/&gt;
gtk_box_pack_start (box, switch1, TRUE, TRUE, 2)&lt;br/&gt;
gtk_box_pack_start (box, switch2, TRUE, TRUE, 2)&lt;br/&gt;
gtk_box_pack_start (box, switch3, TRUE, TRUE, 2)&lt;br/&gt;
gtk_container_add (window, box)&lt;br/&gt;
gtk_widget_show_all (window)&lt;/p&gt;
&lt;p&gt;gtk_main&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Fri, 13 Jan 2017 15:44:16 -0000</pubDate><guid>https://sourceforge.netcec2361ac3e38104d71f37d1e0b542c2e4c74c6b</guid></item><item><title>Home modified by big-bass</title><link>https://sourceforge.net/p/baconproto/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +0,0 @@
-Welcome to your wiki!
-
-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
-
-The wiki uses [Markdown](/p/baconproto/wiki/markdown_syntax/) syntax.
-
-[[members limit=20]]
-[[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Sat, 08 Jun 2013 04:20:20 -0000</pubDate><guid>https://sourceforge.net3df0a9cdbd0f86108f262baefe0b211313a5dc6a</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/baconproto/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="hscale"&gt;HSCALE&lt;/h1&gt;
&lt;p&gt;&lt;a class="" href="http://bigbass-porteus.googlecode.com/files/scale-proto.png" rel="nofollow"&gt;image&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: hscale-gtk2-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; `&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;2&lt;span class="p"&gt;.&lt;/span&gt;0`

&lt;span class="s"&gt;'--- &lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;  &lt;span class="n"&gt;GTK&lt;/span&gt; &lt;span class="n"&gt;example&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="n"&gt;BACON&lt;/span&gt;
&lt;span class="s"&gt;'---  March 2009 - PvE.&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;  &lt;span class="n"&gt;Adapted&lt;/span&gt; &lt;span class="n"&gt;November&lt;/span&gt; 2009&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;adapted&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;Hscale&lt;/span&gt; 2013 &lt;span class="n"&gt;alexfish&lt;/span&gt;
&lt;span class="s"&gt;'---  Ported to PROTO/PRAGMA/IMPORT syntax 2013 bigbass&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;  &lt;span class="n"&gt;Get&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt; &lt;span class="n"&gt;functions&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;GTK&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_table_attach_defaults&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_button_new_from_stock&lt;/span&gt;
&lt;span class="s"&gt;'PROTO gtk_range_get_value&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_table_new&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_window_new&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_container_add&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_exit&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_hscale_new_with_range&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_label_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;

&lt;span class="s"&gt;'----------------------------------------------------&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="n"&gt;around&lt;/span&gt; &lt;span class="n"&gt;low&lt;/span&gt; &lt;span class="n"&gt;level&lt;/span&gt; &lt;span class="n"&gt;pointers&lt;/span&gt;  &lt;span class="n"&gt;USING&lt;/span&gt; &lt;span class="n"&gt;IMPORT&lt;/span&gt;
&lt;span class="s"&gt;'----------------------------------------------------&lt;/span&gt;
&lt;span class="s"&gt;CONST Gtk$ = &amp;quot;libgtk-x11-2.0.so.0&amp;quot;&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt; &lt;span class="n"&gt;functions&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;GTK&lt;/span&gt; &lt;span class="n"&gt;using&lt;/span&gt; &lt;span class="n"&gt;IMPORT&lt;/span&gt;
&lt;span class="n"&gt;IMPORT&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;gtk_hscale_new_with_range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;double&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;double&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;double&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&amp;quot; &lt;span class="n"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Gtk&lt;/span&gt;$ &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;long&lt;/span&gt;
&lt;span class="n"&gt;IMPORT&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;gtk_range_get_value&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;long&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&amp;quot; &lt;span class="n"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Gtk&lt;/span&gt;$ &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;double&lt;/span&gt;

&lt;span class="s"&gt;'----------------------------------------------------&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;  &lt;span class="n"&gt;Callback&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;closing&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;QUIT&lt;/span&gt;&amp;quot;
    &lt;span class="n"&gt;gtk_exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;0&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;

&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;Changed&lt;/span&gt;
    &lt;span class="n"&gt;LOCAL&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;
    &lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_range_get_value&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;Hscale&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;PRINT&lt;/span&gt; &amp;quot; &lt;span class="n"&gt;CHANGED&lt;/span&gt; &amp;quot;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;

&lt;span class="s"&gt;'--- Main program starts here&lt;/span&gt;
&lt;span class="s"&gt;gtk_init(0, 0)&lt;/span&gt;

&lt;span class="s"&gt;window = gtk_window_new(0)&lt;/span&gt;

&lt;span class="s"&gt;gtk_window_set_title(window, &amp;quot;scale PROTO&amp;quot;)&lt;/span&gt;
&lt;span class="s"&gt;table = gtk_table_new(15, 15, 1)&lt;/span&gt;
&lt;span class="s"&gt;gtk_container_add(window, table)    &lt;/span&gt;
&lt;span class="s"&gt;Hscale = gtk_hscale_new_with_range(0,1000,1)&lt;/span&gt;

&lt;span class="s"&gt;button = gtk_button_new_from_stock(&amp;quot;gtk-quit&amp;quot;)&lt;/span&gt;

&lt;span class="s"&gt;gtk_table_attach_defaults(table, button, 10, 14, 12, 14)&lt;/span&gt;
&lt;span class="s"&gt;gtk_table_attach_defaults(table,Hscale, 1, 14, 3, 14)&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Use&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;callback&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;defined&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;clicked&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Hscale&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;changed&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Changed&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt;0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="err"&gt;--- Show whole GUI&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="scrolled"&gt;SCROLLED&lt;/h1&gt;
&lt;p&gt;&lt;a class="" href="http://bigbass-porteus.googlecode.com/files/scrolled-proto.png" rel="nofollow"&gt;image&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: scrolled-gtk3-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; `&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;3&lt;span class="p"&gt;.&lt;/span&gt;0`
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;3&lt;span class="p"&gt;.&lt;/span&gt;0&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;

&lt;span class="s"&gt;'image used&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;bigbass&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;porteus&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;googlecode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;jpeg&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_add&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_container_set_border_width&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_add_with_viewport&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_set_policy&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_image_new_from_file&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_new&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt;

&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_init&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;gtk_main_quit&lt;/span&gt;

&lt;span class="s"&gt;'--- Declare variables&lt;/span&gt;
&lt;span class="s"&gt;DECLARE *window, *scrolled_window, *image TYPE GtkWidget&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;====================&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="n"&gt;SUB&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;
&lt;span class="s"&gt;'=====================&lt;/span&gt;
&lt;span class="s"&gt;    gtk_main_quit&lt;/span&gt;
&lt;span class="s"&gt;END SUB&lt;/span&gt;

&lt;span class="s"&gt;gtk_init (0,0)&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Create&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="nb"&gt;size&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;Scrolled&lt;/span&gt; &lt;span class="n"&gt;Window&lt;/span&gt; &lt;span class="n"&gt;Example&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_window_set_default_size&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 230&lt;span class="p"&gt;,&lt;/span&gt; 200&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="s"&gt;'--- Create the scrolled window. Usually 0 is passed for both parameters so&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;creates&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;horizontal&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;vertical&lt;/span&gt; &lt;span class="n"&gt;adjustments&lt;/span&gt; &lt;span class="n"&gt;automatically&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Setting&lt;/span&gt;
&lt;span class="s"&gt;'--- the scrollbar policy to automatic allows the scrollbars to only show up&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;when&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="n"&gt;scrolled_window&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_scrolled_window_new&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="s"&gt;'--- Set the border width&lt;/span&gt;
&lt;span class="s"&gt;gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10)&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Extract&lt;/span&gt; &lt;span class="n"&gt;our&lt;/span&gt; &lt;span class="n"&gt;desired&lt;/span&gt; &lt;span class="n"&gt;image&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt;
&lt;span class="n"&gt;image&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk_image_new_from_file&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&amp;quot;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;jpeg&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="s"&gt;'--- And add it to the scrolled window&lt;/span&gt;
&lt;span class="s"&gt;gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), image)&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Set&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;policy&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;horizontal&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;vertical&lt;/span&gt; &lt;span class="n"&gt;scrollbars&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="err"&gt;--- What this means is that the scrollbars are only present if needed.&lt;/span&gt;

&lt;span class="n"&gt;gtk_scrolled_window_set_policy&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_SCROLLED_WINDOW&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="o"&gt;\&lt;/span&gt;
&lt;span class="n"&gt;GTK_POLICY_AUTOMATIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;\&lt;/span&gt;
&lt;span class="n"&gt;GTK_POLICY_AUTOMATIC&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_container_add&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_CONTAINER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;scrolled_window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_widget_show_all&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="keypressed"&gt;KEYPRESSED&lt;/h1&gt;
&lt;p&gt;gets key pressed and displays it in terminal&lt;br /&gt;
and in the title &lt;br /&gt;
*mouse must stay in the window to catch the event &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example code: keypressed-gtk2-proto.bac&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt; `&lt;span class="n"&gt;pkg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;cflags&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;libs&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;+-&lt;/span&gt;2&lt;span class="p"&gt;.&lt;/span&gt;0`
&lt;span class="n"&gt;PRAGMA&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;2&lt;span class="p"&gt;.&lt;/span&gt;0&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;

&lt;span class="s"&gt;'--- GTK&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_init&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_main&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_widget_show&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_window_new&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_exit&lt;/span&gt;
&lt;span class="s"&gt;PROTO gtk_window_set_title&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;&lt;span class="n"&gt;extras&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;
&lt;span class="n"&gt;PROTO&lt;/span&gt; &lt;span class="n"&gt;g_printerr&lt;/span&gt;

&lt;span class="s"&gt;'--- GDK&lt;/span&gt;
&lt;span class="s"&gt;PROTO gdk_keyval_name&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Declare&lt;/span&gt; &lt;span class="n"&gt;variables&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;GtkWidget&lt;/span&gt;
&lt;span class="n"&gt;DECLARE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="n"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;GdkEventKey&lt;/span&gt;

&lt;span class="n"&gt;FUNCTION&lt;/span&gt; &lt;span class="n"&gt;key_event&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GtkWidget&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;widget&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GdkEventKey&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;g_printerr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&amp;quot;&lt;span class="c"&gt;%s\n&amp;quot;, gdk_keyval_name (event-&amp;gt;keyval))&lt;/span&gt;

    &lt;span class="n"&gt;keypressed&lt;/span&gt;$ &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gdk_keyval_name&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;keyval&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;gtk_window_set_title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GTK_WINDOW&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;keypressed&lt;/span&gt;$ &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;RETURN&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;
&lt;span class="n"&gt;END&lt;/span&gt; &lt;span class="n"&gt;FUNCTION&lt;/span&gt;

&lt;span class="s"&gt;'--- Callback for closing window&lt;/span&gt;
&lt;span class="s"&gt;SUB exit_prog&lt;/span&gt;
&lt;span class="s"&gt;    PRINT &amp;quot;QUIT&amp;quot;&lt;/span&gt;
&lt;span class="s"&gt;    gtk_exit(0)&lt;/span&gt;
&lt;span class="s"&gt;END SUB&lt;/span&gt;

&lt;span class="s"&gt;gtk_init (0, 0)&lt;/span&gt;
&lt;span class="s"&gt;window = gtk_window_new (GTK_WINDOW_TOPLEVEL)&lt;/span&gt;
&lt;span class="s"&gt;gtk_window_set_title(GTK_WINDOW(window), &amp;quot;get key press&amp;quot;)&lt;/span&gt;

&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;Use&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;callback&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;defined&lt;/span&gt; &lt;span class="n"&gt;SUB&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;FUNCTIONS&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exit_prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;g_signal_connect_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;release&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;G_CALLBACK&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key_event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt;0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;,&lt;/span&gt; 0&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_widget_show&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gtk_main&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">big-bass</dc:creator><pubDate>Fri, 07 Jun 2013 16:31:53 -0000</pubDate><guid>https://sourceforge.net7a827a49b30928db3b998e4c159e46bdb05c881b</guid></item></channel></rss>