From 3dd82d1fcb4be68b6d37ae2beebe566627747b05 Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Fri, 13 Jan 2017 11:58:09 -0800 Subject: [PATCH] Pass around an Arun_Builder_Record through handlers instead of Gtkada_Builder_Record --- src/arun-handlers.adb | 14 ++++++++------ src/arun-handlers.ads | 2 ++ src/arun.adb | 29 +++++++++++++---------------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/arun-handlers.adb b/src/arun-handlers.adb index 256d7f1..5340f24 100644 --- a/src/arun-handlers.adb +++ b/src/arun-handlers.adb @@ -31,6 +31,7 @@ with Gtkada.Builder; use Gtkada.Builder; with Arun; with Arun.Launchers.Unix; +with Arun.View; use Arun.View; package body Arun.Handlers is @@ -59,14 +60,15 @@ package body Arun.Handlers is Widget : Gtk_Search_Entry := Gtk_Search_Entry (Get_Object (Object, "commandEntry")); Command : constant String := Widget.Get_Text; - - --Full_Path : aliased constant String := Arun.Launcher.Find_Full_Path (Command); + B : Arun.View.Arun_Builder_Record renames Arun.View.Arun_Builder_Record (Object.all); + L : Arun.Launchers.Unix.UnixLauncher renames Arun.Launchers.Unix.UnixLauncher (B.Launcher); + Full_Path : aliased constant String := L.Find_Full_Path (Command); begin --- if Full_Path /= "" then --- Put_Line ("Should Execute: " & Command); --- --Arun.Launcher.Execute (Full_Path); --- end if; + if Full_Path /= "" then + Put_Line ("Should Execute: " & Command); + L.Execute (Full_Path); + end if; Gtk.Main.Main_Quit; end Execute_Command; diff --git a/src/arun-handlers.ads b/src/arun-handlers.ads index d046121..9a50c14 100644 --- a/src/arun-handlers.ads +++ b/src/arun-handlers.ads @@ -26,6 +26,8 @@ with Gdk.Event; with Arun.Launchers.Unix; +with Arun.View; use Arun.View; + package Arun.Handlers is procedure Quit (Object : access Gtkada_Builder_Record'Class); diff --git a/src/arun.adb b/src/arun.adb index 8d9b438..7751384 100644 --- a/src/arun.adb +++ b/src/arun.adb @@ -17,36 +17,33 @@ -- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ------------------------------------------------------------------------------ - -with Gtk; use Gtk; -with Gtk.Box; use Gtk.Box; - -with Gtk.Label; use Gtk.Label; with Gtk.Widget; use Gtk.Widget; with Glib; use Glib; with Glib.Error; use Glib.Error; with Gtk.Main; use Gtk.Main; -with Gtk.Window; use Gtk.Window; with Gtkada.Builder; use Gtkada.Builder; with Ada.Text_IO; with Arun.Handlers; +with Arun.View; package body Arun is procedure Main is - Builder : Gtkada_Builder; + use Ada.Text_IO; + use Gtkada.Builder; + use Arun.View; + + Builder : Arun_Builder; Error : aliased Glib.Error.GError; Return_Code : Guint; - use Ada.Text_IO; - use Gtkada.Builder; begin Gtk.Main.Init; - Put_Line ("Starting arun"); - - Gtk_New (Builder); + Builder := new Arun_Builder_Record; + Gtkada.Builder.Initialize (Builder); + Builder.Launcher.Initialize; Return_Code := Add_From_Resource (Builder => Builder, Resource_Path => "/io/lasagna/arun/arun.glade", @@ -68,18 +65,18 @@ package body Arun is Register_Handler (Builder => Builder, Handler_Name => "commandEntry_activate_cb", Handler => Arun.Handlers.Execute_Command'Access); - Do_Connect (Builder); + -- Connect commandEntry specific signals declare - Command_Entry : Gtk_Widget := Gtk_Widget (Get_Object (builder, "commandEntry")); + Command_Entry : Gtk_Widget := Builder.From_Object ("commandEntry"); begin Command_Entry.On_Key_Release_Event (Call => Arun.Handlers.Search_KeyPress'Access, After => False); end; - Gtk.Widget.Show_All ( Gtk_Widget (Get_Object (Builder, "commandWindow"))); - Gtk.Main.Main; + Gtk.Widget.Show_All (Builder.From_Object ("commandWindow")); + Gtk.Main.Main; Unref (Builder); end Main;