问题标签 [genie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
210 浏览

gtk - 如何使用 ToolButton 点击​​信号(在 HeaderBar 中)?

在创建一个简单的 ToolButton 时,可以使用 clicked.connect 接口,就像Vala 指南中的工具栏示例一样。将按钮添加到HeaderBar的界面类似于该示例中显示的界面。但是,处理单击连接的方式似乎有所不同(或者我缺少某些东西)。

以下示例是一个小型文本编辑器,其中一个打开对话框按钮被打包到 HeaderBar 中。但是,clicked.connection 语法会返回错误。

这是代码:

open_button.clicked.connect 在编译时返回:

当使用 HeaderBar 小部件时,处理该信号的方式会改变吗?

只要该行被注释,代码就可以工作(您可能希望为 openfile 函数添加一个存根)。

谢谢

更新

这个问题值得更新,因为错误实际上不在我上面附加的正文中。

错误在于函数的定义。我写:

当我应该改为:

或者简单地说:

0 投票
1 回答
147 浏览

genie - 在 Genie 中避免全局变量

下面是 Genie 中 ToolbarButton 的工作代码。目标是获取所选文件的 uri 并将其返回给类的构造/初始化。问题是在我遇到的所有示例中都使用了全局 _variables(如下面的代码所示)。它看起来不直观,我担心每当代码变大时,消除错误就会变得更加困难,因为这些变量会开始累积。是否有任何其他方法可以使函数 openfile 将 uri 返回到类的构造/初始化中的常规变量?

这是代码:

或者我根本不应该担心 _variables 的累积?

0 投票
1 回答
46 浏览

gtk - 如何修复对话框中的两次点击

我创建了一个对话框来询问用户是否真的要继续创建另一个文件(文本缓冲区)。但是,我的方法有些地方需要我在按钮“是”或“否”按钮上单击两次。

我究竟做错了什么?

具体功能的代码是:

否则该功能工作正常。

0 投票
1 回答
3920 浏览

gtk - Gtk.stock 已弃用,有什么替代方案?

我一直在学习开发 Gtk,网上的大多数示例都建议使用 Gtk.stock 图标。但是,它的使用会产生警告说它已被弃用,我找不到这些图标的替代品。

代码示例如下:

这会产生错误:

哪个是替代方案以及它在上面的代码中的外观?

0 投票
1 回答
502 浏览

gtk - 显示和隐藏搜索条目 - Gtk

背景

这是练习的一部分,我在 genie 中创建了一个小型文本编辑器。到目前为止,该应用程序运行良好。

目标

我被困在创建一个搜索输入框,单击标题栏上的搜索按钮时会显示该输入框。

代码

问题

我的方法是创建一个小函数(show_search)来实现搜索条目的显示/隐藏。该程序编译正常,但在执行时出现错误:

这些发生在我单击搜索按钮时。有人可以指出我在这段代码中的错误吗?这个错误在抱怨什么?GTK_IS_WIDGET 断言失败?

0 投票
1 回答
3802 浏览

segmentation-fault - Genie Segfaults 上的简单类型转换

我安装了 Valac 0.30。运行以下代码,

我得到一个段错误。GDB 告诉我:

我见过其他一些人遇到这个问题,但他们都没有找到对我有用的解决方案。

0 投票
1 回答
57 浏览

vala - 在面向行为的设计中在类之间传递信息

我决定让我的小型文本编辑器适应上一个问题中建议的行为设计模式。很快就清楚了行为设计如何通过允许添加键组合来调用打开、保存操作等来帮助扩展我的小项目。

但是,这种设计主要使用类,我不确定如何使类进行通信。添加了一个新类来处理保存当前文件 (SaveFile),但我无法捕获当前文件的 URI(使用 DocumentFileSelector 类获取)。

我怀疑这样做的方法是通过类属性,但我实际上无法让 document_selector 变量继承该属性,所以我可以将它传递给 SaveDocument 类。

这是代码的相关部分:

问题

  • 如何将上次打开文件的 URI 信息传递给 SaveDocument 类?

    • 作为一个额外的问题,每个类的构造之后的第一行是做什么的?读起来像这样的行:

      构造(父:窗口)

      /li>

编辑

仍然无法解决问题,我最近尝试的是在 DocumentFileSelector 类中创建另一个名为 whichFile() 的方法。此方法只会返回 uri。我在执行时收到错误:FileUtils.set_contents ( DocumentFileSelector.whichFile(), _receiver.get_text(start, end,false))

以下是对代码的修改:

0 投票
2 回答
761 浏览

window - 如何获得 Gdk.Window 任务图标或标题?

我正在尝试:

但这些方法不存在。为什么?我不知道。有什么建议么?我已经尝试过使用 Wnck,但我也遇到了错误。

0 投票
1 回答
44 浏览

genie - 执行错误调试

目标

我的目标是为pandoc创建一个简单的前端。我了解到 execl 是在系统中调用可执行文件的好方法。

请注意以下代码中的函数 btn_pressed,它使用上述方法调用 pandoc。

错误

在执行时,我的代码根本没有得到任何响应,也没有任何 pdf 被渲染。

问题

  • 如何使用 execl 调试二进制文件的执行?
0 投票
1 回答
36 浏览

genie - Class could not be found error

Doing my best to try to solve my problems w/o posting questions here. However, valadoc search system has been broken recently and #vala IRC channel is less helpful when it comes to Genie code (understandably).

Aim

I am trying to provide a OOP Gtk interface from this question to this early pandoc gui app.

Problem

I got stuck with the error pandoc-gui.gs:56.24-56.43: error: The type name `DocumentFileSelector' could not be found\n _document_selector:DocumentFileSelector at compilation. The class is defined later in the program, but I can't seem to find what I did wrong that makes it not visible to init.

This is the init routine:

This is the Convert class:

And the interfaces:

And the DocumentFileSelector class:

Question

Why is DocumentFileSelector not being seen by init in this case?

Note: I am still figuring out how to write a minimally reproducible question, however it is not as simple as it sounds when it comes to OOP with all the interdependent parts. For this reason, here is the entire code in case what I provided wasn't enough to help.