【发布时间】:2012-12-17 17:22:03
【问题描述】:
我需要在终端 (VTE) 上的事件中接收 GTK+ 焦点,但该事件返回包含 Gtk.Window 引用的 EventFocus:
http://www.valadoc.org/gdk-3.0/Gdk.EventFocus.html
如何从 Window 参考中获取终端?我无法重新输入它,它看起来像是一个容器。但是我找不到调用哪个方法来获取终端。
Terminal terminal = new Terminal();
// ...
terminal.focus_in_event.connect((event) =>
{
the_terminal = event.window; // DOES NOT WORK > invalid cast from `GdkX11Window' to `Terminal'
return false;
});
感谢您指出我不需要它。是的,我真正的代码是:
for (int i = 0; i < terminal.length; i++) {
this.terminal[i].focus_in_event.connect((event) =>
{
GLib.stdout.printf("Focus event terminal %p\n", this.terminal[i]);
return false;
});
}
不幸的是它总是打印 null :-(
谢谢!
【问题讨论】: