GNAT GPS插件:在位置中获取选定的行

时间:2015-05-03 16:58:59

标签: python gps pygtk gtk3 gnat-gps

我正在为GNAT GPS IDE做python plug-in

它使用“位置”窗口向用户显示消息,因此突出显示文件行,如错误。我使用GPS.Locations.parse()添加此类信息,(有些模糊)文档为here

然后,用户可以从代码或“位置”窗口中选择行以执行操作。

从打开的文件中获取该行是件小事。 但有一件事我仍然不知道,我是如何知道用户选择的位置窗口中的哪一行。 我尝试了GPS.MDI.get("Locations"),它引导我到儿童窗户物体的迷宫。我迷路了。

那么如何从位置中当前选定的行中检索文本?

修改

显然有MessageContext会给我我想要的东西,但是我收到一条错误消息,说即使窗口有焦点,也不会有这样的课程。所以我认为课程没有实例化。

AttributeError: 'module' object has no attribute 'MessageContext'

1 个答案:

答案 0 :(得分:0)

我现在只看到这个帖子。您应该调用GPS.current_context(),它将返回GPS.Context或其子类之一的实例。在这种情况下,您可以使用GPS.current_context()。file()

您想要的是在“位置”窗口的上下文菜单中创建条目。看一下gps_utils.interactive钩子。它将python函数包装到GPS动作中。然后,此操作可以绑定到特定的上下文菜单,键绑定,菜单,工具栏按钮......您还可以将过滤器与其关联,以便在操作应用时显示上下文菜单(并实现这个过滤器,你使用上面的GPS.current_context()。file()