Gnat GPL Gtkada:Gtk.Builder.Get_Widget去哪了?

时间:2013-06-09 21:27:16

标签: gtk ada

我正在尝试通过Internet上其他地方的示例构建一个简单的Gtkada UI。 例如this one

示例使用:

Gtk.Widget.Show_All (Get_Widget (Builder, "main_window"));

这似乎足够合理,但我找不到Get_Widget。上面引用的例子的作者说“最终在程序体中使用了Gtk.Builder.Get_Widget。”但Get_Widget不在Gtk.Builder中。我能找到的唯一Get_Widget不适用于Gtkada.Builder.Gtkada_Builder对象。最相关的似乎是在Gtk.UI_Manager中;是正确的Get_Widget?如果是的话,我还没有成功。

即使documentation说Gtk.Builder包含一个函数Ge​​t_Widget。我的问题是,我在哪里可以找到合适的Get_Widget,或者没有,我怎样才能获得Gtk_Widget_Record来给Gtk.Widget.Show_All。或者我完全忽略了这一点?

我的Gtkada来自gtkada-gpl-3.4.2-src.tgz,于2013年6月5日从libre.adacore.com下载。

非常感谢,

菲尔

2 个答案:

答案 0 :(得分:1)

Get_Widget的实现通常会返回特定Gtk.Widget.Gtk_Widget_Record的{​​{1}}(或类型为access的{​​{1}}值)。

example citedquestionGtk.Widget.Gtk_Widget来源分发示例中回归的回复,可以在目录Gtk.Widget中找到。该示例在GtkaAda的实例上调用examples/tooltips/tooltips.adb。该实现绑定到GtkTreeViewColumn中的Get_Widget

请注意,Gtk.Tree_View_Column.Gtk_Tree_View_Column类型值的“Support仍然存在。”

答案 1 :(得分:1)

GtkAda 2013正在使用Gtk3代替Gtk2,导致以下变化:

  1. Get_Widget被Get_Object替换: Show_All(Gtk_Widget(Gtkada.Builder.Get_Object(Builder,“fenetre”)));
  2. Add_From_File配置文件更改为函数: Retval:= Add_From_File(Builder,GladeFileName,Error'Access);