Generate boilerplate code for a GObject descendant in Emacs.
- Execute
M-x gobgen
- Specify a class name in snake_case
- Specify a parent class name in snake_case
- If the guessed prefixes are not OK, fix them
- Check GLib >= 2.38 if you are building for new(ish) GLib
versions. This puts some optimalizations in the code, like makes
use of macros like
g_object_get_private
- Check Has private members if you want to add a private struct to your object
- Clone this repository and add it to your
load-path
(require 'gobgen)
If you have a feature idea or find a bug, feel free to issue a pull request. If you need any help with the code, find me on Matrix as @gergely.polonkai.eu
This package is heavily based on Gustavo Sverzut Barieri’s gobject-class.el.
There are tons of features I plan, here is a brief list:
- Properties
- Signals
- Pre-define methods, virtual or not
- Add GTK-Doc blocks for for the generated code
- Widget specialization
** Standalone with custom
render()
method ** Composite ** Templated composite, that should also create aGtkBuilder
template - Add some help text for fields
- GLib requirement check (if 2.38 is turned on)
- Possibly add a
GET_PRIV
macro for 2.38+
gobgen.el
depends only on the Emacs widget library.
Tested on Emacs 24.3 and 25.1, please report if you succeed (or fail) on other versions!