5

我是 GNOME 桌面应用程序开发的初学者,所以我想尽可能多地了解它。我已经阅读了 developer.gnome.org 上为 JavaScript 编写的各种教程。我知道通过 GObject Introspection 我可以访问 JavaScript 中的 C 库。

由于在桌面应用程序中使用 JavaScript 是新事物,因此存在的文档并不多。我想知道是否有任何方法可以知道可以使用哪些函数和哪些参数来访问某些库。

例如,我可以通过以下方式在 JavaScript 中使用 GTK 创建一个按钮:

this.mybutton = new GTK.Button({some code here});

我怎样才能知道我可以使用的函数的名称?有什么方法可以让我看到为 C 编写的文档的 JavaScript 函数的名称?

对于一些库,我看到了这个为 JavaScript 编写的文档。任何帮助将不胜感激,以了解有关 GNOME 应用程序开发的更多信息。

4

2 回答 2

5

我同意你的看法:关于这个主题的文档很少。
大多数时候,我会尝试从其他开发人员那里找到已经编写好的代码,并将其更改为我想要的。http://developer.gnome.org
上的 C 文档非常完整,大多数时候您可以使用几乎相同的方法。 我建议你看看这个网站:http ://www.roojs.org/seed/gir-1.2-gtk-3.0/seed/ 还有这个:http: //zetcode.com/gui/ javascriptgtktutorial/ 祝你的javascript开发好运!!!


于 2014-03-24T22:06:12.750 回答
0

Gnome GJS 文档有新的主机:

您仍然可以通过搜索 GIR 文件来获取映射到该 C 库函数的 Javascript 函数。每个库都应该有一个包含自省信息的 XML 文件。

我之前问过的一个问题的例子。

grep -rn gdk_keymap_get_default /usr/share/gir-1.0/

/usr/share/gir-1.0/Gdk-2.0.gir:16781:                c:identifier="gdk_keymap_get_default"
/usr/share/gir-1.0/Gdk-3.0.gir:15776:      <function name="get_default" c:identifier="gdk_keymap_get_default">

vim /usr/share/gir-1.0/Gdk-3.0.gir +15776

    <class name="Keymap"
           c:symbol-prefix="keymap"
           c:type="GdkKeymap"
           parent="GObject.Object"
           glib:type-name="GdkKeymap"
           glib:get-type="gdk_keymap_get_type">
      <doc xml:space="preserve">A #GdkKeymap defines the translation from keyboard state
(including a hardware key, a modifier mask, and active keyboard group)
to a keyval. This translation has two phases. The first phase is
to determine the effective keyboard group and level for the keyboard
state; the second phase is to look up the keycode/group/level triplet
in the keymap and see what keyval it corresponds to.</doc>
      <function name="get_default" c:identifier="gdk_keymap_get_default">
        <doc xml:space="preserve">Returns the #GdkKeymap attached to the default display.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GdkKeymap attached to the default display.</doc>
          <type name="Keymap" c:type="GdkKeymap*"/>
        </return-value>
      </function>
于 2015-08-16T11:34:50.387 回答