Xfce Wiki

Sub domains
 

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vala-bindings [2012/10/20 02:22]
mike [Deprecated]
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. 
 ===== libxfce4util ===== ===== libxfce4util =====
  
-The generated VAPI file covers ​for these headers.+The generated VAPI file covers these headers:
  
 libxfce4util-config.h \\ libxfce4util-config.h \\
-xfce-debug.h \\ 
 xfce-generics.h \\ xfce-generics.h \\
 xfce-i18n.h \\ xfce-i18n.h \\
Line 29: 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 37: 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 49: Line 55:
 ==== Deprecated ==== ==== Deprecated ====
  
-  * Kiosk Mode (xfce-kiosk.h) +  * Debug (xfce-debug.h) 
-    * Xfconf provides possibility to lock capabilities (see [[http://​git.xfce.org/​xfce/​xfconf/​tree/​docs/​spec/​perchannel-xml.txt|perchannel-xml.txt]]) +    * Use GLib.debug instead, it prints the line number of the Vala source file
-    * Xfconf.Channel.is_property_locked+
   * File Utilities (xfce-fileutils.h)   * File Utilities (xfce-fileutils.h)
     * Xfce.mkdirhier:​ use GLib.mkdir_with_parents instead     * Xfce.mkdirhier:​ use GLib.mkdir_with_parents instead
 +  * Kiosk Mode (xfce-kiosk.h)
 +    * Xfconf provides possibility to lock capabilities (see [[http://​git.xfce.org/​xfce/​xfconf/​tree/​docs/​spec/​perchannel-xml.txt|perchannel-xml.txt]])
 +    * 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 +xfconf-binding.h \\ 
-  ​drop xfconf_free_array +xfconf-channel.h \\ 
-  * int16 GType is yet to be implemented+xfconf-errors.h \\ 
 +xfconf.h 
 + 
 +  * Custom VAPI for **Xfconf.init** in order to throw Xfconf.Error instead of GLib.Error 
 +  * **Xfconf.Property**: class with static methods (bind, unbind) 
 +  * Drop functions that take a **va_list** 
 +  * Drop functions that take or return a **GPtrArray** 
 +  ​* **int16** GType is not implemented ​(source xfconf-types.h excluded) 
 + 
 +===== libxfce4ui =====
  
-===== libxfcegui4 =====+The generated VAPI file covers these headers:
  
-  * XfceAppMenuItem +libxfce4ui-config.h \\ 
-    * deprecate new_from_desktop_entry +libxfce4ui-enum-types.h \\ 
-  * XfceTitledDialog +xfce-dialogs.h \\ 
-    * drop redundant get/set methods +xfce-gdk-extensions.h \\ 
-  * move functions from Fundamentals and Core inside respective classes +xfce-gtk-extensions.h \\ 
-  * new class WidgetHelpers with two functions create_framebox and create_framebox_with_content +xfce-sm-client.h \\ 
-  * deprecate everything else+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 93: 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)