Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vala-bindings [2012/10/20 03:00] mike [Vala Bindings] |
vala-bindings [2012/10/26 02:23] (current) mike [Vala Bindings] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Vala Bindings ====== | ====== Vala Bindings ====== | ||
- | Vala bindings can be downloaded at http://archive.xfce.org/src/bindings/xfce4-vala. | ||
- | Git repository is available at http://git.xfce.org/bindings/xfce4-vala. | + | Xfce4 Vala provides bindings for the Xfce framework. |
+ | |||
+ | [[http://live.gnome.org/Vala|Vala]] is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C. | ||
+ | |||
+ | * [[http://archive.xfce.org/src/bindings/xfce4-vala|Xfce4-vala download archive]] | ||
+ | * [[http://git.xfce.org/bindings/xfce4-vala|Git repository]] | ||
+ | |||
+ | The automatic generated VAPI files are available in the [[http://git.xfce.org/bindings/xfce4-vala/tree/vapi|vapi]] subdirectory, those are usually self-explanatory. | ||
- | Automatic generated VAPI files are available in the directory http://git.xfce.org/bindings/xfce4-vala/tree/vapi, they are self explanatory. | ||
===== libxfce4util ===== | ===== libxfce4util ===== | ||
- | The generated VAPI file covers for these headers. | + | The generated VAPI file covers these headers: |
libxfce4util-config.h \\ | libxfce4util-config.h \\ | ||
Line 30: | Line 35: | ||
//xfce-resource.h excluded, custom VAPI.// | //xfce-resource.h excluded, custom VAPI.// | ||
- | * **Xfce.Resource**: class with static functions | + | * **Xfce.Resource**: class with static methods |
* deprecate XfceMatchFunc, match_custom, pop_path, push_path | * deprecate XfceMatchFunc, match_custom, pop_path, push_path | ||
* **Xfce.ResourceType.***: XFCE_RESOURCE_TYPE_* enum | * **Xfce.ResourceType.***: XFCE_RESOURCE_TYPE_* enum | ||
Line 38: | Line 43: | ||
//xfce-posix-signal-handler.h excluded, custom VAPI.// | //xfce-posix-signal-handler.h excluded, custom VAPI.// | ||
- | * **Xfce.PosixSignalHandler**: class with static functions | + | * **Xfce.PosixSignalHandler**: class with static methods |
* Xfce.PosixSignalHandler.Callback: callback for set_handler function | * Xfce.PosixSignalHandler.Callback: callback for set_handler function | ||
Line 58: | Line 63: | ||
* Use Xfconf.Channel.is_property_locked instead | * Use Xfconf.Channel.is_property_locked instead | ||
- | ===== libxfce4menu ===== | + | ===== garcon ===== |
- | * rename xfce_menu_monitor_* inside the class Xfce.MenuMonitor | + | The generated VAPI file covers these headers: |
- | * drop properties (they are all redundant with get/set functions and some of them are not implemented for instance in XfceMenuItem) | + | |
+ | garcon-config.h \\ | ||
+ | garcon-environment.h \\ | ||
+ | garcon-marshal.h \\ | ||
+ | garcon-menu-directory.h \\ | ||
+ | garcon-menu-element.h \\ | ||
+ | garcon-menu.h \\ | ||
+ | garcon-menu-item-cache.h \\ | ||
+ | garcon-menu-item.h \\ | ||
+ | garcon-menu-item-pool.h \\ | ||
+ | garcon-menu-merger.h \\ | ||
+ | garcon-menu-node.h \\ | ||
+ | garcon-menu-parser.h \\ | ||
+ | garcon-menu-separator.h \\ | ||
+ | garcon-menu-tree-provider.h | ||
+ | |||
+ | ==== MenuItem ==== | ||
+ | |||
+ | Hide two methods **requires_terminal()** and **supports_startup_notification()**, they are handled as get/set properties and conflict with the getter method name. | ||
===== xfconf ===== | ===== xfconf ===== | ||
- | * rename xfconf_g_property_* inside the class Xfconf.Property | + | The generated VAPI file covers these headers: |
- | * drop the functions that take a va_list in argument | + | |
- | * drop the functions that take or return a GPtrArray | + | |
- | * drop xfconf_free_array | + | |
- | * int16 GType is yet to be implemented | + | |
- | ===== libxfcegui4 ===== | + | xfconf-binding.h \\ |
+ | xfconf-channel.h \\ | ||
+ | xfconf-errors.h \\ | ||
+ | xfconf.h | ||
- | * XfceAppMenuItem | + | * Custom VAPI for **Xfconf.init** in order to throw Xfconf.Error instead of GLib.Error |
- | * deprecate new_from_desktop_entry | + | * **Xfconf.Property**: class with static methods (bind, unbind) |
- | * XfceTitledDialog | + | * Drop functions that take a **va_list** |
- | * drop redundant get/set methods | + | * Drop functions that take or return a **GPtrArray** |
- | * move functions from Fundamentals and Core inside respective classes | + | * **int16** GType is not implemented (source xfconf-types.h excluded) |
- | * new class WidgetHelpers with two functions create_framebox and create_framebox_with_content | + | |
- | * deprecate everything else | + | ===== libxfce4ui ===== |
+ | |||
+ | The generated VAPI file covers these headers: | ||
+ | |||
+ | libxfce4ui-config.h \\ | ||
+ | libxfce4ui-enum-types.h \\ | ||
+ | xfce-dialogs.h \\ | ||
+ | xfce-gdk-extensions.h \\ | ||
+ | xfce-gtk-extensions.h \\ | ||
+ | xfce-sm-client.h \\ | ||
+ | xfce-spawn.h \\ | ||
+ | xfce-titled-dialog.h | ||
===== exo ===== | ===== exo ===== | ||
- | * move extension functions to the class Exo.Extensions | + | The generated VAPI file covers these headers: |
- | * move md5 digest functions that don't start with exo_md5_digest_* to the class Exo.Md5Digest | + | |
- | * move exo_str_get_md5_str function into the class Exo.Md5 | + | exo-binding.h \\ |
- | * move exo_url_* functions to the class Exo.Url | + | exo-cell-renderer-ellipsized-text.h \\ |
- | * move functions from execute.h to the class Exo.Execute | + | exo-cell-renderer-icon.h \\ |
- | * rename signal names duplicated with method names: | + | exo-config.h \\ |
+ | exo-enum-types.h \\ | ||
+ | exo-execute.h \\ | ||
+ | exo-gdk-pixbuf-extensions.h \\ | ||
+ | exo-gobject-extensions.h \\ | ||
+ | exo-gtk-extensions.h \\ | ||
+ | exo-icon-bar.h \\ | ||
+ | exo-icon-chooser-dialog.h \\ | ||
+ | exo-icon-view.h \\ | ||
+ | exo-job.h \\ | ||
+ | exo-simple-job.h \\ | ||
+ | exo-string.h \\ | ||
+ | exo-toolbars-editor-dialog.h \\ | ||
+ | exo-toolbars-editor.h \\ | ||
+ | exo-toolbars-model.h \\ | ||
+ | exo-toolbars-view.h \\ | ||
+ | exo-tree-view.h \\ | ||
+ | exo-wrap-table.h \\ | ||
+ | exo-xsession-client.h | ||
+ | |||
+ | ==== Static Classes ==== | ||
+ | |||
+ | //exo-gobject-extensions.h exo-gdk-pixbuf-extensions.h exo-gtk-extensions.h excluded, custom VAPI.// | ||
+ | |||
+ | * **Exo.Extensions**: class with static methods (exo_g_value_*, exo_gdk_pixbuf_*, exo_gtk_*) | ||
+ | * Moved all related functions to extensions provided by exo (gobject, gdk-pixbuf, gtk) into this class | ||
+ | |||
+ | //exo-execute.h excluded, custom VAPI.// | ||
+ | |||
+ | * **Exo.Execute**: class with static methods (exo_execute_*) | ||
+ | |||
+ | //exo-string.h excluded, custom VAPI.// | ||
+ | |||
+ | * **Exo.String**: class with static methods (exo_str*) | ||
+ | |||
+ | ==== Name Conflicts ==== | ||
+ | |||
+ | * Rename signal names duplicated with method names | ||
* exo_icon_view_item_activated() => exo_icon_view_activate_item() | * exo_icon_view_item_activated() => exo_icon_view_activate_item() | ||
* ExoIconView::select_all => all_selected | * ExoIconView::select_all => all_selected | ||
Line 96: | Line 165: | ||
* ExoToolbarsModel::get_item_type => item_type | * ExoToolbarsModel::get_item_type => item_type | ||
+ | ==== Excluded ==== | ||
+ | |||
+ | * Utils (exo-utils.h) | ||
+ | |||
+ | ===== libxfce4panel ===== | ||
+ | |||
+ | The generated VAPI file covers these headers: | ||
+ | |||
+ | libxfce4panel-config.h \\ | ||
+ | libxfce4panel-enums.h \\ | ||
+ | libxfce4panel-enum-types.h \\ | ||
+ | xfce-arrow-button.h \\ | ||
+ | xfce-hvbox.h \\ | ||
+ | xfce-panel-convenience.h \\ | ||
+ | xfce-panel-image.h \\ | ||
+ | xfce-panel-macros.h \\ | ||
+ | xfce-panel-plugin.h \\ | ||
+ | xfce-panel-plugin-provider.h | ||
+ | |||
+ | ==== Excluded ==== | ||
+ | |||
+ | * Xfce 4.6 macros (xfce-panel-macros-46.h) |