N7SD logo

HOME      INDEX

Using Alire to Edit, Build and Run the Full GtkAda testgtk Sample Suite


Date: June 09 2025

Confirmed versions:
Ubuntu: 24.04.2 LTS, Gnat: 14.2.1, Gtkada:25.0.1
PC: OMEN 17-ck2095cl, i9-13900HX, RTX-4080

testgtk opening screen.
Choose application in the pain

Setup Build Space

~$ cd ada

~/ada$ alr init testgtk –bin

Alire needs some user information to initialize the crate author and maintainer,
for eventual submission to the Alire community index. This information will be
interactively requested now.

You can edit this information at any time with ‘alr config’

Enter a short description of the crate: (default: ”)

> Press Enter

Using default: ”
Please enter your email address: (default: ‘example@example.com’)

> Press Enter

Using default: ‘example@example.com’
Select a software license for the crate?

  1. MIT OR Apache-2.0 WITH LLVM-exception
  2. MIT
  3. Apache-2.0 WITH LLVM-exception
  4. Apache-2.0
  5. BSD-3-Clause
  6. LGPL-3.0-or-later
  7. GPL-3.0-or-later WITH GCC-exception-3.1
  8. GPL-3.0-or-later
  9. Other…
    Enter your choice index (first is default):

> Press Enter

Enter a comma (‘,’) separated list of tags to help people find your crate: (default: ”)

> Press Enter

Using default: ”
Enter an optional Website URL for the crate: (default: ”)

> Press Enter

Using default: ”
✓ testgtk initialized successfully.

~/ada$ cd testgtk

~/ada/testgtk$ alr with gtkada

Updating index… remote: Enumerating objects: 195, done.
remote: Counting objects: 100% (92/92), done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 195 (delta 44), reused 38 (delta 26), pack-reused 103 (from 1)
Receiving objects: 100% (195/195), 64.83 KiB | 3.41 MiB/s, done.
Resolving deltas: 100% (83/83), completed with 4 local objects.
From https://github.com/alire-project/alire-index
feeae75..4f64614 stable-1.3.0 -> origin/stable-1.3.0
d1fe975..01882d3 stable-1.4.0 -> origin/stable-1.4.0
Updating feeae75..4f64614
Fast-forward
index/aa/aaa/aaa-0.3.0.toml | 36 +++++++++++
index/aa/aaa_texts/aaa_texts-0.3.0.toml | 25 ++++++++
index/al/alr2appimage/alr2appimage-1.0.0.toml | 57 +++++++++++++++++
index/az/azip/azip-2.7.1.toml | 59 +++++++++++++++++
index/bb/bbs_ansiterm/bbs_ansiterm-0.1.0.toml | 25 ++++++++
…/blink_led_weact_stm32g474-0.1.0.toml | 29 +++++++++
…/button_led_weact_stm32g474-0.1.0.toml | 27 ++++++++
index/co/cortex_m/cortex_m-1.1.0.toml | 38 +++++++++++
index/ee/eeprom_i2c/eeprom_i2c-6.0.1.toml | 18 ++++++
index/gw/gwindows/gwindows-1.5.0.toml | 73 ++++++++++++++++++++++
index/hn/hnumerics/hnumerics-1.0.0.toml | 15 +++++
…/itsybitsy_rp2040_bsp-1.0.0.toml | 23 +++++++
index/le/lea/lea-0.92.0.toml | 71 +++++++++++++++++++++
index/le/lea/lea-0.92.1.toml | 71 +++++++++++++++++++++
index/lm/lml/lml-0.1.0.toml | 25 ++++++++
index/st/strategy/strategy-0.1.0.toml | 17 +++++
index/te/texts/texts-0.1.0.toml | 25 ++++++++
…/ti/tiny_rp2040_bsp/tiny_rp2040_bsp-1.0.0.toml | 23 +++++++
18 files changed, 657 insertions(+)
create mode 100644 index/aa/aaa/aaa-0.3.0.toml
create mode 100644 index/aa/aaa_texts/aaa_texts-0.3.0.toml
create mode 100644 index/al/alr2appimage/alr2appimage-1.0.0.toml
create mode 100644 index/az/azip/azip-2.7.1.toml
create mode 100644 index/bb/bbs_ansiterm/bbs_ansiterm-0.1.0.toml
create mode 100644 index/bl/blink_led_weact_stm32g474/blink_led_weact_stm32g474-0.1.0.toml
create mode 100644 index/bu/button_led_weact_stm32g474/button_led_weact_stm32g474-0.1.0.toml
create mode 100644 index/co/cortex_m/cortex_m-1.1.0.toml
create mode 100644 index/ee/eeprom_i2c/eeprom_i2c-6.0.1.toml
create mode 100644 index/gw/gwindows/gwindows-1.5.0.toml
create mode 100644 index/hn/hnumerics/hnumerics-1.0.0.toml
create mode 100644 index/it/itsybitsy_rp2040_bsp/itsybitsy_rp2040_bsp-1.0.0.toml
create mode 100644 index/le/lea/lea-0.92.0.toml
create mode 100644 index/le/lea/lea-0.92.1.toml
create mode 100644 index/lm/lml/lml-0.1.0.toml
create mode 100644 index/st/strategy/strategy-0.1.0.toml
create mode 100644 index/te/texts/texts-0.1.0.toml
create mode 100644 index/ti/tiny_rp2040_bsp/tiny_rp2040_bsp-1.0.0.toml
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e. 
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e.
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e. 
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e. 
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e. 
◵ Solving dependencies: 0/0/0/6 (complete/partial/dupes/states)… Looking for e. 
Requested changes:<br />
gtkada 25.0.1 (new)
+📦 libgtk3 3.24.41 (new,indirect,system package)
+📦 make 4.3.0 (new,indirect,system package)
+📦 pkg_config 1.8.1 (new,indirect,system package)

Do you want to proceed?

[Y] Yes  [N] No  (default is Yes) Yes

~/ada/testgtk$ alr build

Building testgtk=0.1.0-dev/testgtk.gpr…
Setup
[mkdir] object directory for project Testgtk
[mkdir] exec directory for project Testgtk
Compile
[Ada] testgtk.adb
[Ada] gtkada-canvas_view-objects.adb
-- skipped long messages ------
Build Libraries
[gprlib] gtkada.lexch
[archive] libgtkada.a
[index] libgtkada.a
Bind
[gprbind] testgtk.bexch
[Ada] testgtk.ali
Link
[link] testgtk.adb
✓ Build finished successfully in 12.34 seconds.

~/ada/testgtk$ ls -al

total 44
drwxrwxr-x 8 mm mm 4096 May 10 12:12 .
drwxrwxr-x 17 mm mm 4096 May 10 12:06 ..
drwxrwxr-x 3 mm mm 4096 May 10 12:12 alire
-rw-rw-r-- 1 mm mm 290 May 10 12:10 alire.toml
drwxrwxr-x 2 mm mm 4096 May 10 12:12 bin
drwxrwxr-x 2 mm mm 4096 May 10 12:06 config
-rw-rw-r-- 1 mm mm 29 May 10 12:06 .gitignore
drwxrwxr-x 3 mm mm 4096 May 10 12:12 obj
drwxrwxr-x 3 mm mm 4096 May 10 12:06 share
drwxrwxr-x 2 mm mm 4096 May 10 12:06 src
-rw-rw-r-- 1 mm mm 570 May 10 12:06 testgtk.gpr

Setup testgtk files

~/ada/testgtk$ cat src/testgtk.adb

procedure Testgtk is
begin
null;
end Testgtk;

Delete the default file (because the download file will be copied later)

~/ada/testgtk/src$ rm testgtk.adb

Download testgtk codes from GitHub
https://github.com/AdaCore/gtkada/tree/master

-rw-rw-r– 1 mm mm 6991943 May 10 11:50 gtkada-master.zip
Unzip the zip file
~/Downloads$ unzip gtkada-master.zip

Copy all source files to the src directory

~/Downloads/gtkada-master/testgtk$ cp *.adb *.ads ~/ada/testgtk/src

~/Downloads/gtkada-master/testgtk$ cp gtkextra/*.* task_project/*.* ~/ada/testgtk/src

Copy the other files to the bin directory

~/Downloads/gtkada-master/testgtk$ cp *.xpm *.png *.xml *.gif *.lwo *.css *.ui *.svg ~/ada/testgtk/bin

~/Downloads/gtkada-master/testgtk$ cd ~/ada/testgtk/src

 

 

Modify Source Files

https://github.com/moriyasum/testgtk_updated_files/blob/main/README.md

 

 

1. Modify src/create_label.adb

Reason: Non ASCII codes cause Error

~/ada/testgtk/src$ gedit create_label.adb
Edit create_label.adb.
The line #153 has some Non-ASCII characters. Changed them to “XXXXXXXXXX”
Original: & “This one is underlined in ÆüËÜžì€ÎÆþÍÑquite a funky fashion”));
Change: & “This one is underlined in XXXXXXXXXXquite a funky fashion”));

The line #177 has some Non-ASCII characters. Changed them to “YYY”
Original: & “y=Σx
Change: & “y=YYY

2. Modify bin/css_accordion.css

Reason: Obsolete codes are use

~/ada/testgtk/bin$ gedit css_accordion.css
Line #10 Add “-”
10 -icon-shadow: inherit;

Line #54 Delete engine command
54 /* engine: initial; */

Line #55 Add “-”
55 -gtk-key-bindings: initial;

Comment Out Line #57,58,59
57 /* -GtkWidget-focus-line-width: 0; / 58 / -GtkWidget-focus-padding: 0; / 59 / -GtkNotebook-initial-gap: 0; */

Change Line #65, 66
Before:
65
66 font: Cantarell 20px;
Change:
65 font-family: Cantarell;
66 font-size: 20px;

3. Modify src/create_range.adb

Reason: Bug fix, only “Range” is displayed in the windows. A lot of error messages on the Terminal.

Line #
34   with GNAT.Strings;  –  Add this line

108 –  Comment Out 3 lines
109 --    Gtk_New (Scale_Button, Icon_Size_Button, 0.0, 100.0, 2.0,  --  Comment Out
110 --             Icons => (1 .. 0 => null                          --  Comment Out 
111 --    Pack_Start (Box3, Scale_Button, False, False, 0);          --  Comment Out

----------------------
 Add new Line #112 to #127:
----------------------
      declare
         Icons : GNAT.Strings.String_List := 
        (1 => new String'("audio-volume-muted"),
         2 => new String'("audio-volume-low"),
         3 => new String'("audio-volume-medium"),
         4 => new String'("audio-volume-high"));
      begin
         Gtk_New (Scale_Button, Gtk.Enums.Icon_Size_Button,
                  0.0, 100.0, 1.0, Icons);
         --  Release to avoid memroy leak (each string individually)
         for I in Icons'Range loop
            GNAT.Strings.Free (Icons (I));
         end loop;         
         
         Pack_Start (Box3, Scale_Button, False, False, 0);      
      end;  

4. Modify create_color_chooser.adb

Reason: Application cannot close with Cancel button

1, Add 2 lines at #30 
with Gtk.Button;   use Gtk.Button;     --  Line #30
with Gtk.Dialog;   use Gtk.Dialog;     --  Line #31

2, Add 2 lines at #37 (original #36), before “Diaglog : aliased…”
   --  Define the Widget_Handler package for Button callbacks            --  Line #37
   package Widget_Handler is new Handlers.Callback (Gtk_Widget_Record);  -- Line #38   

3, Add 7 lines at Line #70 (original #68), after end Destroy_Dialog
   ------------------
   --  Close_Window --    THE COPY OF create_color_selection.adb NEW ADDED
   ------------------
   procedure Close_Window (Win : access Gtk_Widget_Record'Class) is
   begin
      Destroy (Win);
   end Close_Window;   
   
4, Add 7 lines before Line #93 (original #84), before Show (Diablog)
         --  Widget_Handler was missing    
         Widget_Handler.Object_Connect
           (Gtk_Button
              (Get_Widget_For_Response (Dialog, Gtk_Response_Cancel)),
            "clicked",
            Close_Window'Access,
            Slot_Object => Dialog);     

Create the project gpr file with Alire and GnatStudio

Startup GnatStudio

~/ada/testgtk$ alr edit

Edit Tab – Project Properties – Directories

The original testgtk.gpr file:

with "config/testgtk_config.gpr";
project Testgtk is

   for Source_Dirs use ("src/", "config/");
   for Object_Dir use "obj/" & Testgtk_Config.Build_Profile;
   for Create_Missing_Dirs use "True";
   for Exec_Dir use "bin";
   for Main use ("testgtk.adb");

   package Compiler is
      for Default_Switches ("Ada") use Testgtk_Config.Ada_Compiler_Switches;
   end Compiler;

   package Binder is
      for Switches ("Ada") use ("-Es"); --  Symbolic traceback
   end Binder;

   package Install is
      for Artifacts (".") use ("share");
   end Install;

end Testgtk;

Startup GnatStudio

~/ada/testgtk$ alr edit

Edit Tab – Project Properties – “Directories”
Check these two directories are selected:

Change the top “Source Provider” selection from ‘Implicit’ to ‘Source files’.
As a result, numerous source files will be displayed in “Source Files” as shown below.

GnatStudio screen "Properties for Testgtk" Files

To finish, press Save and Reload buttons.

File testgtk.gpr is modified automatically as follows: 

with "config/testgtk_config.gpr";

project Testgtk is

   for Source_Dirs use ("src", "config");
   for Object_Dir use "obj/" & Testgtk_Config.Build_Profile;
   for Create_Missing_Dirs use "True";
   for Exec_Dir use "bin";
   for Main use ("testgtk.adb");

   package Compiler is
      for Default_Switches ("ada") use Testgtk_Config.Ada_Compiler_Switches;
   end Compiler;

   package Binder is
      for Switches ("Ada") use ("-Es"); --  Symbolic traceback
   end Binder;

   package Install is
      for Artifacts (".") use ("share");
   end Install;

   for Source_Files use ("common.adb", "common.ads", "create_about.adb", "create_about.ads", "create_alignment.adb", "create_alignment.ads", "create_application.adb", "create_application.ads", "create_arrow.adb", "create_arrow.ads", 
      "create_assistant.adb", "create_assistant.ads", "create_box.adb", "create_box.ads", "create_builder.adb", "create_builder.ads", "create_button_box.adb", "create_button_box.ads", "create_buttons.adb", "create_buttons.ads", 
      "create_cairo.adb", "create_cairo.ads", "create_calendar.adb", "create_calendar.ads", "create_canvas.adb", "create_canvas.ads", "create_canvas_view_animate.adb", "create_canvas_view_animate.ads", 
      "create_canvas_view_composite.adb", "create_canvas_view_composite.ads", "create_canvas_view_edit.adb", "create_canvas_view_edit.ads", "create_canvas_view_events.adb", "create_canvas_view_events.ads", 
      "create_canvas_view_items.adb", "create_canvas_view_items.ads", "create_canvas_view_links.adb", "create_canvas_view_links.ads", "create_canvas_view_minimap.adb", "create_canvas_view_minimap.ads", 
      "create_canvas_view_routes.adb", "create_canvas_view_routes.ads", "create_canvas_view_rtrees.adb", "create_canvas_view_rtrees.ads", "create_cell_view.adb", "create_cell_view.ads", "create_check_buttons.adb", 
      "create_check_buttons.ads", "create_clipboard.adb", "create_clipboard.ads", "create_color_chooser.adb", "create_color_chooser.ads", "create_color_selection.adb", "create_color_selection.ads", "create_combo_box.adb", 
      "create_combo_box.ads", "create_css_accordion.adb", "create_css_accordion.ads", "create_css_editor.adb", "create_css_editor.ads", "create_cursors.adb", "create_cursors.ads", "create_dialog.adb", "create_dialog.ads", "create_dnd.adb", 
      "create_dnd.ads", "create_entry.adb", "create_entry.ads", "create_file_chooser.adb", "create_file_chooser.ads", "create_file_selection.adb", "create_file_selection.ads", "create_fixed.adb", "create_fixed.ads", 
      "create_flow_box.adb", "create_flow_box.ads", "create_font_chooser.adb", "create_font_chooser.ads", "create_font_selection.adb", "create_font_selection.ads", "create_frame.adb", "create_frame.ads", "create_gestures.adb", 
      "create_gestures.ads", "create_gtkada_builder.adb", "create_gtkada_builder.ads", "create_gtkada_dialog.adb", "create_gtkada_dialog.ads", "create_icon_view.adb", "create_icon_view.ads", "create_label.adb", "create_label.ads", 
      "create_layout.adb", "create_layout.ads", "create_link_buttons.adb", "create_link_buttons.ads", "create_main_loop.adb", "create_main_loop.ads", "create_mdi.adb", "create_mdi.ads", "create_menu.adb", "create_menu.ads", 
      "create_notebook.adb", "create_notebook.ads", "create_opacity.adb", "create_opacity.ads", "create_paned.adb", "create_paned.ads", "create_pixbuf.adb", "create_pixbuf.ads", "create_plot_3d.adb", "create_plot_3d.ads", "create_plot.adb", 
      "create_plot.ads", "create_plot_realtime.adb", "create_plot_realtime.ads", "create_print.adb", "create_print.ads", "create_progress.adb", "create_progress.ads", "create_radio_button.adb", "create_radio_button.ads", "create_range.adb", 
      "create_range.ads", "create_reparent.adb", "create_reparent.ads", "create_revealer.adb", "create_revealer.ads", "create_scrolled.adb", "create_scrolled.ads", "create_selection.adb", "create_selection.ads", "create_sheet.adb", 
      "create_sheet.ads", "create_size_groups.adb", "create_size_groups.ads", "create_sources.adb", "create_sources.ads", "create_spin.adb", "create_spin.ads", "create_spinners.adb", "create_spinners.ads", "create_splittable.adb", 
      "create_splittable.ads", "create_stack.adb", "create_stack.ads", "create_status.adb", "create_status.ads", "create_status_icons.adb", "create_status_icons.ads", "create_task_monitor.adb", "create_task_monitor.ads", 
      "create_test_idle.adb", "create_test_idle.ads", "create_test_timeout.adb", "create_test_timeout.ads", "create_text_view.adb", "create_text_view.ads", "create_toggle_buttons.adb", "create_toggle_buttons.ads", "create_toolbar.adb", 
      "create_toolbar.ads", "create_tooltips.adb", "create_tooltips.ads", "create_tree_filter.adb", "create_tree_filter.ads", "create_tree_view.adb", "create_tree_view.ads", "create_ui_manager.adb", "create_ui_manager.ads", 
      "global_exception_handler.adb", "global_exception_handler.ads", "libart_demo.adb", "libart_demo.ads", "main_windows.adb", "main_windows.ads", "task_worker.adb", "task_worker.ads", "testcairo_drawing.adb", "testcairo_drawing.ads", 
      "testgtk.adb", "testgtk_config.ads", "test_rtree.adb");

end Testgtk;

Build with “Build target Build All” button

Build button on GnatStudio
gprbuild -d -P/home/mm/ada/testgtk/testgtk.gpr -XLIBRARY_TYPE=static -XBUILD=Production -XGTK_PREFIX=/home/mm/.local/share/alire/builds/gtkada_25.0.1_d3787772/05561da954afaee17128f59bba699db2f2e4a4215317b2b818a8016192c82334/ -XOBJCFLAGS= -XLDFLAGS= -XCPPFLAGS= -XCFLAGS= -XADAFLAGS=
Compile
   [Ada]          testgtk.adb
testgtk.adb:24:26: warning: use clause for package "Text_IO" has no effect [-gnatwu]
testgtk.adb:25:26: warning: use clause for package "Bindings" has no effect [-gnatwu]
   [Ada]          global_exception_handler.adb
   [Ada]          main_windows.adb
main_windows.adb:38:27: warning: use clause for package "Main" has no effect [-gnatwu]
main_windows.adb:142:20: warning: use clause for package "Libart_Demo" has no effect [-gnatwu]
main_windows.adb:663:32: (style) "or else" required [-gnatyB]
main_windows.adb:879:07: warning: variable "Frame" is never read and never assigned [-gnatwu]
   [Ada]          common.adb
   [Ada]          create_about.adb
   [Ada]          create_alignment.adb
   [Ada]          create_application.adb
   [Ada]          create_arrow.adb
   [Ada]          create_assistant.adb
create_assistant.adb:36:27: warning: use clause for package "Enums" has no effect [-gnatwu]
create_assistant.adb:83:04: warning: use clause for package "Forward_Page_Functions" has no effect [-gnatwu]
create_assistant.adb:618:38: warning: call to obsolescent procedure "Stock_Stop" declared at gtk-stock.ads:313 [enabled by default]
create_assistant.adb:618:38: warning: Deprecated since 3.10 [enabled by default]
   [Ada]          create_box.adb
   [Ada]          create_builder.adb
   [Ada]          create_button_box.adb
   [Ada]          create_buttons.adb
create_buttons.adb:29:20: warning: use clause for package "Enums" has no effect [-gnatwu]
   [Ada]          create_cairo.adb
   [Ada]          create_calendar.adb
   [Ada]          create_canvas.adb
create_canvas.adb:30:27: warning: use clause for package "Png" has no effect [-gnatwu]
create_canvas.adb:34:27: warning: use clause for package "Cairo" has no effect [-gnatwu]
create_canvas.adb:83:04: (style) missing "overriding" indicator in declaration of "Draw" [-gnatyO]
create_canvas.adb:94:04: (style) missing "overriding" indicator in declaration of "Draw" [-gnatyO]
create_canvas.adb:97:04: (style) missing "overriding" indicator in declaration of "Point_In_Item" [-gnatyO]
create_canvas.adb:109:04: (style) missing "overriding" indicator in declaration of "Draw" [-gnatyO]
create_canvas.adb:112:04: (style) missing "overriding" indicator in declaration of "On_Button_Click" [-gnatyO]
create_canvas.adb:127:04: (style) missing "overriding" indicator in declaration of "Draw_Background" [-gnatyO]
create_canvas.adb:132:04: (style) missing "overriding" indicator in declaration of "Draw_Grid" [-gnatyO]
create_canvas.adb:251:04: (style) missing "overriding" indicator in body of "Draw" [-gnatyO]
create_canvas.adb:275:04: (style) missing "overriding" indicator in body of "Draw" [-gnatyO]
create_canvas.adb:330:04: (style) missing "overriding" indicator in body of "Draw" [-gnatyO]
create_canvas.adb:360:04: (style) missing "overriding" indicator in body of "On_Button_Click" [-gnatyO]
create_canvas.adb:390:04: (style) missing "overriding" indicator in body of "Draw_Background" [-gnatyO]
create_canvas.adb:412:04: (style) missing "overriding" indicator in body of "Draw_Grid" [-gnatyO]
create_canvas.adb:425:04: (style) missing "overriding" indicator in body of "Point_In_Item" [-gnatyO]
   [Ada]          create_canvas_view_animate.adb
create_canvas_view_animate.adb:32:32: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_canvas_view_composite.adb
create_canvas_view_composite.adb:94:10: warning: variable "W" is assigned but never read [-gnatwm]
create_canvas_view_composite.adb:94:13: warning: variable "H" is assigned but never read [-gnatwm]
create_canvas_view_composite.adb:100:10: warning: variable "Anchor_X" is not referenced [-gnatwu]
create_canvas_view_composite.adb:100:20: warning: variable "Anchor_Y" is not referenced [-gnatwu]
   [Ada]          create_canvas_view_edit.adb
   [Ada]          create_canvas_view_events.adb
create_canvas_view_events.adb:32:32: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_canvas_view_items.adb
   [Ada]          create_canvas_view_links.adb
   [Ada]          create_canvas_view_minimap.adb
create_canvas_view_minimap.adb:26:32: warning: use clause for package "Object" has no effect [-gnatwu]
create_canvas_view_minimap.adb:32:32: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_canvas_view_routes.adb
create_canvas_view_routes.adb:32:27: warning: use clause for package "Cairo" has no effect [-gnatwu]
   [Ada]          create_canvas_view_rtrees.adb
   [Ada]          create_cell_view.adb
create_cell_view.adb:29:30: warning: use clause for package "Cell_Renderer" has no effect [-gnatwu]
   [Ada]          create_check_buttons.adb
   [Ada]          create_clipboard.adb
create_clipboard.adb:25:30: warning: use clause for package "Pixbuf" has no effect [-gnatwu]
   [Ada]          create_color_chooser.adb
create_color_chooser.adb:29:35: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_color_selection.adb
   [Ada]          create_combo_box.adb
create_combo_box.adb:27:30: warning: use clause for package "Object" has no effect [-gnatwu]
   [Ada]          create_css_accordion.adb
create_css_accordion.adb:24:18: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_css_editor.adb
create_css_editor.adb:24:18: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_cursors.adb
create_cursors.adb:24:06: warning: renamed predefined unit is an obsolescent feature (RM J.1) [-gnatwj]
create_cursors.adb:127:51: warning: call to obsolescent function "Get_Client_Pointer" declared at gdk-device_manager.ads:157 [enabled by default]
create_cursors.adb:134:07: warning: call to obsolescent procedure "Process_All_Updates" declared at gdk-window.ads:2293 [enabled by default]
   [Ada]          create_dialog.adb
create_dialog.adb:27:33: warning: use clause for package "Types" has no effect [-gnatwu]
create_dialog.adb:220:22: warning: call to obsolescent function "Stock_Cancel" declared at gtk-stock.ads:43 [enabled by default]
create_dialog.adb:220:22: warning: Deprecated since 3.10 [enabled by default]
create_dialog.adb:226:22: warning: call to obsolescent function "Stock_Open" declared at gtk-stock.ads:229 [enabled by default]
create_dialog.adb:226:22: warning: Deprecated since 3.10 [enabled by default]
   [Ada]          create_dnd.adb
create_dnd.adb:30:21: warning: use clause for package "Enums" has no effect [-gnatwu]
create_dnd.adb:38:18: warning: unit "Interfaces.C.Strings" is not referenced [-gnatwu]
create_dnd.adb:42:21: warning: use clause for package "Window" has no effect [-gnatwu]
create_dnd.adb:632:07: warning: formal parameter "Widget" is not referenced [-gnatwf]
create_dnd.adb:633:07: warning: formal parameter "Args" is not referenced [-gnatwf]
   [Ada]          create_entry.adb
create_entry.adb:30:24: warning: use clause for package "Enums" has no effect [-gnatwu]
create_entry.adb:155:07: warning: use clause for package "String_List" has no effect [-gnatwu]
   [Ada]          create_file_chooser.adb
create_file_chooser.adb:31:33: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_file_selection.adb
create_file_selection.adb:24:26: warning: use clause for package "Enums" has no effect [-gnatwu]
create_file_selection.adb:25:29: warning: use clause for package "File_Selection" has no effect [-gnatwu]
create_file_selection.adb:26:26: warning: use clause for package "Widget" has no effect [-gnatwu]
create_file_selection.adb:27:26: warning: use clause for package "Gtk" has no effect [-gnatwu]
create_file_selection.ads:24:17: warning: use clause for package "Frame" has no effect [-gnatwu]
   [Ada]          create_fixed.adb
   [Ada]          create_flow_box.adb
   [Ada]          create_font_chooser.adb
   [Ada]          create_font_selection.adb
   [Ada]          create_frame.adb
   [Ada]          create_gestures.adb
create_gestures.adb:25:25: warning: use clause for package "Cairo" has no effect [-gnatwu]
   [Ada]          create_gtkada_builder.adb
   [Ada]          create_gtkada_dialog.adb
create_gtkada_dialog.adb:52:07: warning: variable "Resp" is assigned but never read [-gnatwm]
   [Ada]          create_icon_view.adb
create_icon_view.adb:24:32: warning: use clause for package "Dnd" has no effect [-gnatwu]
create_icon_view.adb:47:18: warning: no entities of "Interfaces.C.Strings" are referenced [-gnatwu]
create_icon_view.adb:47:32: warning: use clause for package "Strings" has no effect [-gnatwu]
   [Ada]          create_label.adb
   [Ada]          create_layout.adb
create_layout.adb:26:27: warning: use clause for package "Window" has no effect [-gnatwu]
create_layout.adb:32:27: warning: use clause for package "Handlers" has no effect [-gnatwu]
   [Ada]          create_link_buttons.adb
create_link_buttons.adb:31:23: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_main_loop.adb
   [Ada]          create_mdi.adb
   [Ada]          create_menu.adb
create_menu.adb:47:04: warning: use clause for package "My_Popup" has no effect [-gnatwu]
create_menu.adb:128:15: warning: call to obsolescent procedure "Popup" declared at gtk-menu.ads:448, instance at line 46 [enabled by default]
create_menu.adb:154:07: warning: call to obsolescent procedure "Popup" declared at gtk-menu.ads:379 [enabled by default]
create_menu.adb:236:33: warning: call to obsolescent procedure "Override_Color" declared at gtk-widget.ads:2715 [enabled by default]
   [Ada]          create_notebook.adb
   [Ada]          create_opacity.adb
   [Ada]          create_paned.adb
create_paned.adb:29:24: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_pixbuf.adb
   [Ada]          create_print.adb
create_print.adb:28:27: warning: use clause for package "Object" has no effect [-gnatwu]
create_print.adb:48:04: (style) missing "overriding" indicator in declaration of "Request_Page_Setup" [-gnatyO]
create_print.adb:55:04: (style) missing "overriding" indicator in declaration of "Draw_Page" [-gnatyO]
create_print.adb:77:04: (style) missing "overriding" indicator in body of "Draw_Page" [-gnatyO]
create_print.adb:140:04: (style) missing "overriding" indicator in body of "Request_Page_Setup" [-gnatyO]
   [Ada]          create_progress.adb
   [Ada]          create_radio_button.adb
   [Ada]          create_range.adb
   [Ada]          create_reparent.adb
   [Ada]          create_revealer.adb
   [Ada]          create_scrolled.adb
   [Ada]          create_selection.adb
   [Ada]          create_size_groups.adb
create_size_groups.adb:28:25: warning: use clause for package "Enums" has no effect [-gnatwu]
   [Ada]          create_sources.adb
   [Ada]          create_spin.adb
   [Ada]          create_spinners.adb
create_spinners.adb:26:23: warning: use clause for package "Enums" has no effect [-gnatwu]
   [Ada]          create_splittable.adb
   [Ada]          create_stack.adb
   [Ada]          create_status.adb
   [Ada]          create_status_icons.adb
create_status_icons.adb:71:44: warning: call to obsolescent function "Get_N_Screens" declared at gdk-display.ads:154 [enabled by default]
create_status_icons.adb:84:16: warning: call to obsolescent procedure "Set_From_Stock" declared at gtk-status_icon.ads:343 [enabled by default]
create_status_icons.adb:84:43: warning: call to obsolescent procedure "Stock_Ok" declared at gtk-stock.ads:226 [enabled by default]
create_status_icons.adb:84:43: warning: Deprecated since 3.10 [enabled by default]
create_status_icons.adb:85:16: warning: call to obsolescent procedure "Set_Tooltip_Text" declared at gtk-status_icon.ads:414 [enabled by default]
create_status_icons.adb:87:16: warning: call to obsolescent procedure "Set_From_Stock" declared at gtk-status_icon.ads:343 [enabled by default]
create_status_icons.adb:87:43: warning: call to obsolescent procedure "Stock_Dialog_Warning" declared at gtk-stock.ads:88 [enabled by default]
create_status_icons.adb:87:43: warning: Deprecated since 3.10 [enabled by default]
create_status_icons.adb:88:16: warning: call to obsolescent procedure "Set_Tooltip_Text" declared at gtk-status_icon.ads:414 [enabled by default]
create_status_icons.adb:90:16: warning: call to obsolescent procedure "Set_From_Stock" declared at gtk-status_icon.ads:343 [enabled by default]
create_status_icons.adb:90:43: warning: call to obsolescent procedure "Stock_Dialog_Error" declared at gtk-stock.ads:79 [enabled by default]
create_status_icons.adb:90:43: warning: Deprecated since 3.10 [enabled by default]
create_status_icons.adb:91:16: warning: call to obsolescent procedure "Set_Tooltip_Text" declared at gtk-status_icon.ads:414 [enabled by default]
create_status_icons.adb:147:36: warning: call to obsolescent function "Get_Screen" declared at gtk-status_icon.ads:299 [enabled by default]
create_status_icons.adb:154:20: warning: call to obsolescent procedure "Popup" declared at gtk-menu.ads:448, instance at line 63 [enabled by default]
create_status_icons.adb:156:42: warning: reference to obsolescent entity "Position_Menu" declared at gtk-status_icon.ads:492 [enabled by default]
create_status_icons.adb:171:48: warning: call to obsolescent function "Get_N_Screens" declared at gdk-display.ads:154 [enabled by default]
create_status_icons.adb:180:23: warning: call to obsolescent procedure "Set_Screen" declared at gtk-status_icon.ads:307 [enabled by default]
create_status_icons.adb:181:23: warning: call to obsolescent procedure "Set_From_Stock" declared at gtk-status_icon.ads:343 [enabled by default]
create_status_icons.adb:181:39: warning: call to obsolescent procedure "Stock_Ok" declared at gtk-stock.ads:226 [enabled by default]
create_status_icons.adb:181:39: warning: Deprecated since 3.10 [enabled by default]
create_status_icons.adb:182:23: warning: call to obsolescent procedure "Set_Tooltip_Text" declared at gtk-status_icon.ads:414 [enabled by default]
   [Ada]          create_task_monitor.adb
create_task_monitor.adb:74:07: warning: formal parameter "Widget" is not referenced [-gnatwf]
   [Ada]          create_test_idle.adb
   [Ada]          create_test_timeout.adb
   [Ada]          create_text_view.adb
create_text_view.adb:36:23: warning: use clause for package "Widget" has no effect [-gnatwu]
   [Ada]          create_toggle_buttons.adb
   [Ada]          create_toolbar.adb
create_toolbar.ads:26:19: warning: use clause for package "Window" has no effect [-gnatwu]
   [Ada]          create_tooltips.adb
create_tooltips.adb:67:29: warning: call to obsolescent procedure "Set_Icon_From_Stock" declared at gtk-tooltip.ads:133 [enabled by default]
create_tooltips.adb:67:50: warning: call to obsolescent procedure "Stock_Delete" declared at gtk-stock.ads:73 [enabled by default]
create_tooltips.adb:67:50: warning: Deprecated since 3.10 [enabled by default]
   [Ada]          create_tree_filter.adb
create_tree_filter.adb:25:32: warning: use clause for package "Object" has no effect [-gnatwu]
   [Ada]          create_tree_view.adb
   [Ada]          create_ui_manager.adb
create_ui_manager.adb:58:35: warning: reference to obsolescent constant "Stock_New" declared at gtk-stock.ads:220 [enabled by default]
create_ui_manager.adb:58:35: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:64:35: warning: reference to obsolescent constant "Stock_Open" declared at gtk-stock.ads:229 [enabled by default]
create_ui_manager.adb:64:35: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:70:35: warning: reference to obsolescent constant "Stock_Save" declared at gtk-stock.ads:289 [enabled by default]
create_ui_manager.adb:70:35: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:76:35: warning: reference to obsolescent constant "Stock_Save" declared at gtk-stock.ads:289 [enabled by default]
create_ui_manager.adb:76:35: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:81:36: warning: reference to obsolescent constant "Stock_Quit" declared at gtk-stock.ads:274 [enabled by default]
create_ui_manager.adb:81:36: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:98:35: warning: reference to obsolescent constant "Stock_Bold" declared at gtk-stock.ads:40 [enabled by default]
create_ui_manager.adb:98:35: warning: Deprecated since 3.10 [enabled by default]
create_ui_manager.adb:235:07: warning: call to obsolescent procedure "Insert_Action_Group" declared at gtk-ui_manager.ads:433 [enabled by default]
create_ui_manager.adb:237:45: warning: call to obsolescent function "Get_Accel_Group" declared at gtk-ui_manager.ads:348 [enabled by default]
create_ui_manager.adb:239:10: warning: reference to obsolescent entity "Add_UI_From_String" declared at gtk-ui_manager.ads:321 [enabled by default]
create_ui_manager.adb:239:10: warning: call to obsolescent function "Add_UI_From_String" declared at gtk-ui_manager.ads:321 [enabled by default]
create_ui_manager.adb:247:24: warning: reference to obsolescent entity "Get_Widget" declared at gtk-ui_manager.ads:413 [enabled by default]
create_ui_manager.adb:247:24: warning: call to obsolescent function "Get_Widget" declared at gtk-ui_manager.ads:413 [enabled by default]
   [Ada]          libart_demo.adb
   [Ada]          testcairo_drawing.adb
testcairo_drawing.adb:569:04: (style) missing "overriding" indicator in body of "Draw_Page" [-gnatyO]
   [Ada]          task_worker.adb
task_worker.adb:26:04: warning: use clause for type "Ada.Containers.Count_Type" has no effect [-gnatwu]
task_worker.adb:64:07: warning: variable "A" is assigned but never read [-gnatwm]
task_worker.adb:66:07: warning: possibly useless assignment to "A", value might not be referenced [-gnatwm]
Bind
   [gprbind]      testgtk.bexch
   [Ada]          testgtk.ali
Link
   [link]         testgtk.adb
[2025-05-10 17:04:26] process terminated successfully, elapsed time: 01:00.69s

Exection. Do only on the Terminal.

You cannot execute with GnatStudio.

~/ada/testgtk/bin$ ./testgtk

or

~/ada/testgtk$ alr run

alignment (obsolescent) execution sample

Gtk demo tab – Containers – alignment (obsolescent)

alignment (obsolescent) execution sample screen

 

label execution sample

Gtk demo tab – Base widget — labels

range controls execution sample

Gtk demo – Base widgets – range controls

range controls execution sample screen

CSS_accordion execution sample

Gtk demo – CSS demos – CSS accordion

CSS_accprdopm execution sample screen

color chooser exectution sample

Gtk demo – Colors and fonts – color chooser

color chooser execution sample screen