Hi; you probably want to ask on javascript-l...@gnome.org, which is the mailing list for developing with JavaScript on GTK and GNOME.
On 30 August 2016 at 14:41, Victor Aurélio Santos <victoraur.san...@gmail.com> wrote: > Subject is self explanatory, > > How to define and emit an event in GJS? > > I searched around and found nothing. I assume you mean "a signal", in the GObject signal sense. If your class is a pure JavaScript object then you want to import the signals module and call the addSignalMethods() on your class prototype, e.g.: ``` const Lang = imports.lang; const Signals = imports.signals; const SomeClass = Lang.Class({ ... }); Signals.addSignalMethods(SomeClass.prototype); ``` If your class inherits from GObject, on the other hand, you can define signals directly inside the Lang.Class() definition, e.g.: ``` const SomeOtherClass = Lang.Class({ Name: 'SomeOtherClass', Extends: 'GObject.Object', Signals: { 'no-arguments': { }, 'some-arguments': { param_types: [ GObject.TYPE_INT, GObject.TYPE_INT ] }, 'with-return': { param_types: [ GObject.TYPE_STRING, GObject.TYPE_INT ], return_type: GObject.TYPE_BOOLEAN ), }, ... }); ``` In both cases, you'll be able to use the `emit()`, `connect()`, and `disconnect()` methods on your instance. Ciao, Emmanuele. -- https://www.bassi.io [@] ebassi [@gmail.com] _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list