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
Next revisionBoth sides next revision
vala-bindings [2010/10/02 17:26] – external edit 127.0.0.1vala-bindings [2012/10/21 17:01] – [exo] mike
Line 1: Line 1:
 ====== Vala Bindings ====== ====== Vala Bindings ======
-===== Milestones =====+Vala bindings can be downloaded at http://archive.xfce.org/src/bindings/xfce4-vala.
  
-First milestone 0.1Includes bindings for libxfce4util, libxfce4menu, libxfconf, libxfcegui4, libexo, and libxfce4panel.+Git repository is available at http://git.xfce.org/bindings/xfce4-vala.
  
-  * 2009-05-06: [[http://goodies.xfce.org/releases/xfce4-vala/xfce4-vala-0.1-a.tar.bz2|0.1-a alpha 1]] +Automatic generated VAPI files are available in the directory http://git.xfce.org/bindings/xfce4-vala/tree/vapi, they are self explanatory
-  * 2009-06-04: [[http://goodies.xfce.org/releases/xfce4-vala/xfce4-vala-0.1-a2.tar.bz2|0.1-a2 alpha 2]] +===== libxfce4util =====
-  * 2009-06-07: [[http://goodies.xfce.org/releases/xfce4-vala/xfce4-vala-0.1-a3.tar.bz2|0.1-a3 alpha 3]] +
-  * 2009-07-18: [[http://goodies.xfce.org/releases/xfce4-vala/xfce4-vala-0.1-rc.tar.bz2|0.1-rc release candidate 1]] +
-  * 2009-xx-xx: 0.1 final +
-  * 20xx-xx-xx: 0.1.x maintainance releases+
  
-===== VAPI =====+The generated VAPI file covers for these headers:
  
-Here are some remarks about the changes between the original APIs and the resulting VAPIs+libxfce4util-config.h \\ 
-==== libxfce4util ====+xfce-generics.h \\ 
 +xfce-i18n.h \\ 
 +xfce-license.h \\ 
 +xfce-miscutils.h \\ 
 +xfce-posix-signal-handler.h \\ 
 +xfce-rc.h \\ 
 +xfce-resource.h \\ 
 +xfce-utf8.h
  
-=== Classes ===+==== RC ====
  
-  * XfceRc +  * **Xfce.Rc**: constructable class 
-    * use the function simple_open as the new function +    * new: xfce_rc_simple_open() 
-    * use the function config_open as new_from_resource +    * new_from_resource: xfce_rc_config_open() 
-    * use the function close as the free function +    * destroy: xfce_rc_close()
-  * XfceKiosk+
  
-=== Functions ===+==== Resource ====
  
-  * Resource Lookup +//xfce-resource.h excludedcustom VAPI.//
-    * rename xfce_resource_* inside the class Xfce.Resource +
-    * deprecate XfceMatchFuncmatch_custom +
-    * deprecate pop_path, push_path +
-  * POSIX Signal Handling +
-    * rename xfce_posix_signal_handler_* inside the class Xfce.PosixSignalHandler +
-    * rename XfcePosixSignalHandler to Xfce.PosixSignalHandler.Callback +
-  * Internationalization +
-    * keep only xfce_textdomain which is a convenience function on top of the bindtextdomain and textdomain functions+
  
-=== Deprecated ===+  * **Xfce.Resource**: class with static methods 
 +    * deprecate XfceMatchFunc, match_custom, pop_path, push_path 
 +  * **Xfce.ResourceType.***: XFCE_RESOURCE_TYPE_* enum
  
-  * XfceDesktopEntry +==== Signal Handling ====
-  * Unicode Manipulation +
-  * File Utilities +
-  * Miscellaneous Utilities +
-  * Generics+
  
-==== libxfce4menu ====+//xfce-posix-signal-handler.h excluded, custom VAPI.//
  
-  * rename xfce_menu_monitor_inside the class Xfce.MenuMonitor +  * **Xfce.PosixSignalHandler**: class with static methods 
-  drop properties (they are all redundant with get/set functions and some of them are not implemented for instance in XfceMenuItem)+    * Xfce.PosixSignalHandler.Callback: callback for set_handler function
  
-==== xfconf ====+==== i18n ====
  
-  * rename xfconf_g_property_* inside the class Xfconf.Property +//xfce-i18n.h excluded, custom VAPI.//
-  * 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 ====+  * **Xfce.textdomain**: xfce_textdomain 
 +    * convenience function on top of the bindtextdomain and textdomain functions, all other related functions to libxfce4util/xfce-i18n.h are deprecated
  
-  * XfceAppMenuItem +==== Deprecated ====
-    * deprecate new_from_desktop_entry +
-  * XfceTitledDialog +
-    * drop redundant get/set methods +
-  * move functions from Fundamentals and Core inside respective classes +
-  * new class WidgetHelpers with two functions create_framebox and create_framebox_with_content +
-  * deprecate everything else +
-==== exo ====+
  
-  * move extension functions to the class Exo.Extensions +  * Debug (xfce-debug.h) 
-  * move md5 digest functions that don't start with exo_md5_digest_* to the class Exo.Md5Digest +    * Use GLib.debug instead, it prints the line number of the Vala source file 
-  * move exo_str_get_md5_str function into the class Exo.Md5 +  * File Utilities (xfce-fileutils.h) 
-  * move exo_url_* functions to the class Exo.Url +    * Xfce.mkdirhier: use GLib.mkdir_with_parents instead 
-  * move functions from execute.h to the class Exo.Execute +  * Kiosk Mode (xfce-kiosk.h) 
-  * rename signal names duplicated with method names:+    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 
 + 
 +===== garcon ===== 
 + 
 +The generated VAPI file covers for these headers: 
 + 
 +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 ===== 
 + 
 +The generated VAPI file covers for these headers: 
 + 
 +xfconf-binding.h \\ 
 +xfconf-channel.h \\ 
 +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 ===== 
 + 
 +The generated VAPI file covers for 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 ===== 
 + 
 +The generated VAPI file covers for these headers: 
 + 
 +exo-binding.h \\ 
 +exo-cell-renderer-ellipsized-text.h \\ 
 +exo-cell-renderer-icon.h \\ 
 +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-gdk-pixbuf-extensions.h exo-gobject-extensions.h exo-gtk-extensions.h excluded, custom VAPI.// 
 + 
 +  * **Exo.Extensions**: class with static methods 
 +    * Moved all related functions to extensions provided by exo (gtk, gdk, gobject) into this class 
 + 
 +//exo-execute.h excluded, custom VAPI.// 
 + 
 +  * **Exo.Execute**: class with static methods (exo_execute_* from exo-execute.h
 + 
 +//exo-string.h excluded, custom VAPI.// 
 + 
 +  * **Exo.String**: class with static methods (exo_string_* from exo-string.h) 
 + 
 +==== 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 80: Line 159:
     * ExoToolbarsModel::get_item_id => item_id     * ExoToolbarsModel::get_item_id => item_id
     * ExoToolbarsModel::get_item_type => item_type     * ExoToolbarsModel::get_item_type => item_type
 +
 +==== Deprecated ====
 +
 +  * Utils (exo-utils.h)
 +