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 [2012/10/20 01:55] – [libxfce4util] mikevala-bindings [2012/10/22 18:30] 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 these headers:
- +
-Here are some remarks about the changes between the original APIs and the resulting VAPIs. +
-==== libxfce4util ==== +
- +
-The generated VAPI file covers for 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 19:
 xfce-utf8.h xfce-utf8.h
  
-=== RC ===+==== RC ====
  
   * **Xfce.Rc**: constructable class   * **Xfce.Rc**: constructable class
Line 36: Line 26:
     * destroy: xfce_rc_close()     * destroy: xfce_rc_close()
  
-=== Resource ===+==== Resource ====
  
 //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
  
-=== Signal Handling ===+==== Signal Handling ====
  
 //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
  
-=== i18n ===+==== i18n ====
  
 //xfce-i18n.h excluded, custom VAPI.// //xfce-i18n.h excluded, custom VAPI.//
Line 58: Line 48:
     * convenience function on top of the bindtextdomain and textdomain functions, all other related functions to libxfce4util/xfce-i18n.h are deprecated     * convenience function on top of the bindtextdomain and textdomain functions, all other related functions to libxfce4util/xfce-i18n.h are deprecated
  
-=== 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 +
-  * Unicode Manipulation+
   * 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
-  * Miscellaneous Utilities +  * Kiosk Mode (xfce-kiosk.h) 
-  Generics+    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)+
  
-==== xfconf ====+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
  
-  * rename xfconf_g_property_* inside the class Xfconf.Property +==== MenuItem ====
-  * 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 ====+Hide two methods **requires_terminal()** and **supports_startup_notification()**, they are handled as get/set properties and conflict with the getter method name. 
 +===== xfconf =====
  
-  * XfceAppMenuItem +The generated VAPI file covers these headers:
-    * 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 +xfconf-binding.h \\ 
-  * move md5 digest functions that don't start with exo_md5_digest_to the class Exo.Md5Digest +xfconf-channel.h \\ 
-  * move exo_str_get_md5_str function into the class Exo.Md5 +xfconf-errors.h \\ 
-  * move exo_url_functions to the class Exo.Url +xfconf.h 
-  move functions from execute.h to the class Exo.Execute + 
-  * rename signal names duplicated with method names:+  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 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 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-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 105: 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
 +
 +==== 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-46.h
 +xfce-panel-macros.h
 +xfce-panel-plugin.h
 +xfce-panel-plugin-provider.h
 +