From e34d21d87493187802570cbef57a9d073132d5ef Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Sat, 7 Jan 2017 14:11:06 -0800 Subject: [PATCH] Add a search-changed handler and dump the context of the search box --- arun.glade | 1 + src/arun-handlers.adb | 18 ++++++++++++++++-- src/arun-handlers.ads | 6 ++++-- src/arun.adb | 4 ++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/arun.glade b/arun.glade index 0077bee..12776ae 100644 --- a/arun.glade +++ b/arun.glade @@ -33,6 +33,7 @@ False False Enter a command to run + False diff --git a/src/arun-handlers.adb b/src/arun-handlers.adb index 2ed723d..93ad3ca 100644 --- a/src/arun-handlers.adb +++ b/src/arun-handlers.adb @@ -4,14 +4,28 @@ with Ada.Text_IO; with Gtk.Main; -with Gtkada.Builder; +with Gtk.Widget; +with Gtk.Search_Entry; +with Gtkada.Builder; use Gtkada.Builder; package body Arun.Handlers is - procedure Quit (Object : access Gtkada.Builder.Gtkada_Builder_Record'Class) is + procedure Quit (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin Ada.Text_IO.Put_Line ("Exiting arun"); Gtk.Main.Main_Quit; end Quit; + + procedure Search_Changed (Object : access Gtkada_Builder_Record'Class) is + use Ada.Text_IO; + use Gtk.Search_Entry; + use Gtkada.Builder; + + Widget : Gtk_Search_Entry := Gtk_Search_Entry (Get_Object (Object, "commandEntry")); + begin + Put_Line ("Searching for " & Widget.Get_Text); + end Search_Changed; + + end Arun.Handlers; diff --git a/src/arun-handlers.ads b/src/arun-handlers.ads index 7643f17..6aba1b5 100644 --- a/src/arun-handlers.ads +++ b/src/arun-handlers.ads @@ -2,10 +2,12 @@ -- Basic GtkAda handlers for Arun --- -with Gtkada.Builder; +with Gtkada.Builder; use Gtkada.Builder; package Arun.Handlers is - procedure Quit (Object : access Gtkada.Builder.Gtkada_Builder_Record'Class); + procedure Quit (Object : access Gtkada_Builder_Record'Class); + + procedure Search_Changed (Object : access Gtkada_Builder_Record'Class); end Arun.Handlers; diff --git a/src/arun.adb b/src/arun.adb index 1296739..bf9c646 100644 --- a/src/arun.adb +++ b/src/arun.adb @@ -38,11 +38,15 @@ package body Arun is Error_Free (Error); return; end if; + -- Step 2: add calls to "Register_Handler" to associate your -- handlers with your callbacks. Register_Handler (Builder => Builder, Handler_Name => "Main_Quit", Handler => Arun.Handlers.Quit'Access); + Register_Handler (Builder => Builder, + Handler_Name => "commandEntry_search_changed_cb", + Handler => Arun.Handlers.Search_Changed'Access); -- Step 3: call Do_Connect. Once to connect all registered handlers Do_Connect (Builder);