Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vala-bindings [2012/10/20 03:00] – [Vala Bindings] mikevala-bindings [2012/10/26 02:23] (current) – [Vala Bindings] mike
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.
  
-Automatic generated VAPI files are available in the directory http://git.xfce.org/bindings/xfce4-vala/tree/vapi.+[[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.
  
 ===== libxfce4util ===== ===== libxfce4util =====
  
-The generated VAPI file covers for these headers.+The generated VAPI file covers these headers:
  
 libxfce4util-config.h \\ libxfce4util-config.h \\
Line 31: 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 39: 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 59: 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 97: 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)