[Vala] RFC: hildon-1.vapi update for Maemo Fremantle



Hi,

I tried to update the hildon-1.vapi file to support the new widgets in
Maemo Fremantle.

What I did so far:
- I manually patched gtk+-2.0.vapi to include the HILDON_SIZE_ constants
and hildon_set_theme_size and hildon_gtk_tree_view_new_with_model
methods (patch below). There's probably quite a bit missing still -
those are only the symbols that I needed myself.
- Then I used vala-gen-introspect/vapigen with a bit of manual
intervention (again, details below) to generate hildon-1.vapi. The
result allows to build my test program.

What I'd like to know:
- How to handle the Maemo modifications of GTK+? Patch gtk+-2.0.vapi
manually and carry that patch in the Maemo specific vala packages? Is
there a better way? I turned hildon_gtk_tree_view_new_with_model into
Gtk.TreeView.hildon_new_with_model and hildon_gtk_set_theme_size into
Gtk.Widget.hildon_set_theme_size, not sure how to handle that weird
naming convention properly.
- Is there a way to get rid of the manual steps in the hildon-1.vapi
generation below? What can I change to make the hildon-1 bindings fit
for upstream inclusion?

Thanks!
Philipp


PATCH TO ADD SOME MAEMO MODIFICATIONS TO gtk+-2.0.vapi
========================================================================
--- a/vapi/gtk+-2.0.vapi        2009-09-18 08:50:15.000000000 +0200
+++ b/vapi/gtk+-2.0.vapi        2009-09-23 23:38:29.221726699 +0200
@@ -4776,6 +4776,8 @@
                public void unset_rows_drag_source ();
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public TreeView.with_model (Gtk.TreeModel model);
+               [CCode (cname = "hildon_gtk_tree_view_new_with_model", type = "GtkWidget*", 
has_construct_function = false)]
+               public TreeView.hildon_with_model (Hildon.UIMode mode, Gtk.TreeModel model);
                [NoAccessorMethod]
                public Gtk.TreeViewGridLines enable_grid_lines { get; set; }
                public bool enable_search { get; set; }
@@ -5145,6 +5147,8 @@
                public bool translate_coordinates (Gtk.Widget dest_widget, int src_x, int src_y, out int 
dest_x, out int dest_y);
                public void trigger_tooltip_query ();
                public void unparent ();
+               [CCode (cname = "hildon_gtk_widget_set_theme_size")]
+               public void hildon_set_theme_size (Hildon.SizeType size);
                [CCode (cname = "GTK_WIDGET_UNSET_FLAGS")]
                public void unset_flags (Gtk.WidgetFlags flags);
                [NoAccessorMethod]
@@ -7662,3 +7666,39 @@
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool tree_set_row_drag_data (Gtk.SelectionData selection_data, Gtk.TreeModel 
tree_model, Gtk.TreePath path);
 }
+
+namespace Hildon {
+       [CCode (cprefix = "HILDON_GTK_INPUT_MODE_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       public enum GtkInputMode {
+               ALPHA,
+               NUMERIC,
+               SPECIAL,
+               HEXA,
+               TELE,
+               FULL,
+               MULTILINE,
+               INVISIBLE,
+               AUTOCAP,
+               DICTIONARY
+       }
+       [CCode (cprefix = "HILDON_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       public enum Mode {
+               DIABLO,
+               FREMANTLE
+       }
+       [CCode (cprefix = "HILDON_SIZE_", has_type_id = "0", cheader_filename = "gtk/gtk.h")]
+       public enum SizeType {
+               AUTO_WIDTH,
+               HALFSCREEN_WIDTH,
+               FULLSCREEN_WIDTH,
+               AUTO_HEIGHT,
+               FINGER_HEIGHT,
+               THUMB_HEIGHT,
+               AUTO
+       }
+       [CCode (cprefix = "HILDON_UI_MODE_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       public enum UIMode {
+               NORMAL,
+               EDIT
+       }
+}


STEPS TO GENERATE hildon-1.vapi
========================================================================

First I set up the namespace and file list as in the bindings tutorial
found on http://live.gnome.org/Vala/Bindings and let vala-gen-introspect
create the .gi file:

$ mkdir hildon-1
$ echo "Hildon" > hildon-1/hildon-1.namespace
$ cat > hildon-1/hildon-1.files << EOF
include/hildon-1/
lib/libhildon-1.so
EOF
$ vala-gen-introspect hildon-1 hildon-1

The output of this command:

/targets/FREMANTLE_X86/usr/include/asm-generic/int-ll64.h:20: syntax
error, unexpected SHORT, expecting ',' or ';'
/targets/FREMANTLE_X86/usr/include/asm-generic/int-ll64.h:30: syntax
error, unexpected LONG, expecting ',' or ';'
Dropping hildon_init duplicate
Dropping hildon_gtk_init duplicate
Unknown symbol: GtkContainer
Unknown symbol: GObject
Unknown symbol: GtkVBox
Unknown symbol: GtkEntry
Unknown symbol: GtkBin
Unknown symbol: GtkDialog
Unknown symbol: GtkDialog
Unknown symbol: GtkDialog
Unknown symbol: GtkButton
Unknown symbol: GtkWindow
Unknown symbol: GtkDialog
Unknown symbol: GtkEventBox
Unknown symbol: GtkDialog
Unknown symbol: GtkButton
Unknown symbol: GtkWidget
Unknown symbol: GtkScale
Unknown symbol: GtkContainer
Unknown symbol: GtkContainer
Unknown symbol: GtkToolbar
Unknown symbol: GtkHBox
Unknown symbol: GtkDialog
Unknown symbol: GtkDialog
Unknown symbol: GtkContainer
Unknown symbol: GtkDialog
Unknown symbol: GtkContainer
Unknown symbol: GtkWindow
Unknown symbol: GtkWindow
Unknown symbol: GObject
Unknown symbol: GtkContainer
Unknown symbol: GtkScale
Unknown symbol: GtkDialog
Unknown symbol: GtkDialog
Unknown symbol: GtkDialog
Unknown symbol: GtkScale
Unknown symbol: GObject
Unknown symbol: GtkWindow
Unknown symbol: GtkDialog
Unknown symbol: GtkWidget
Unknown symbol: GtkContainer
Unknown symbol: GtkTextView
Unknown symbol: GtkButton
Unknown symbol: GtkWindow
Unknown function directive: Title
Unknown function directive: Short_Description
Unknown function directive: Title
Unknown function directive: Short_Description
Unknown function directive: Title
Unknown function directive: Short_Description

Then I added the little metadata I was already aware of and called
vapigen:

$ cat > hildon-1/hildon-1.metadata << EOF
Hildon cheader_filename="hildon/hildon.h"
hildon_color_button_get_color.color is_out="1"
hildon_color_chooser_get_color.color is_out="1"
hildon_color_chooser_dialog_get_color.color is_out="1"
hildon_find_toolbar_get_active_iter.iter is_out="1"
EOF
$ vapigen --pkg=gtk+-2.0 --library hildon-1 --metadata=hildon-1/hildon-1.metadata hildon-1/hildon-1.gi

The output of this command:

hildon-1.gi:0.0-0.0: error: `Hildon.CheckButton' already contains a definition for `toggled'
hildon-1.gi:0.0-0.0: error: `Hildon.PickerButton' already contains a definition for `value_changed'
hildon-1.gi:0.0-0.0: error: `Hildon.TouchSelector' already contains a definition for `has_multiple_selection'
Generation failed: 3 error(s), 0 warning(s)

So I applied the following patch manually to just drop those symbols
(and also turn the lone key_t into gint32, I'm not sure if it would be
better to include sys/types.h somehow):

--- hildon-1.gi 2009-09-23 23:42:17.022226240 +0200
+++ hildon-1.gi.MODIFIED        2009-09-23 23:42:12.193962687 +0200
@@ -1181,12 +1181,6 @@
                                        <parameter name="is_active" type="gboolean"/>
                                </parameters>
                        </method>
-                       <method name="toggled" symbol="hildon_check_button_toggled">
-                               <return-type type="void"/>
-                               <parameters>
-                                       <parameter name="button" type="HildonCheckButton*"/>
-                               </parameters>
-                       </method>
                        <property name="size" type="HildonSizeType" readable="0" writable="1" construct="0" 
construct-only="0"/>
                        <signal name="toggled" when="FIRST">
                                <return-type type="void"/>
@@ -2232,12 +2226,6 @@
                                        <parameter name="selector" type="HildonTouchSelector*"/>
                                </parameters>
                        </method>
-                       <method name="value_changed" symbol="hildon_picker_button_value_changed">
-                               <return-type type="void"/>
-                               <parameters>
-                                       <parameter name="button" type="HildonPickerButton*"/>
-                               </parameters>
-                       </method>
                        <property name="done-button-text" type="char*" readable="1" writable="1" 
construct="0" construct-only="0"/>
                        <property name="touch-selector" type="HildonTouchSelector*" readable="1" writable="1" 
construct="0" construct-only="0"/>
                        <signal name="value-changed" when="LAST">
@@ -2524,7 +2512,7 @@
                                <return-type type="void"/>
                                <parameters>
                                        <parameter name="self" type="HildonRemoteTexture*"/>
-                                       <parameter name="key" type="key_t"/>
+                                       <parameter name="key" type="guint32"/>
                                        <parameter name="width" type="guint"/>
                                        <parameter name="height" type="guint"/>
                                        <parameter name="bpp" type="guint"/>
@@ -3142,12 +3130,6 @@
                                        <parameter name="column" type="gint"/>
                                </parameters>
                        </method>
-                       <method name="has_multiple_selection" 
symbol="hildon_touch_selector_has_multiple_selection">
-                               <return-type type="gboolean"/>
-                               <parameters>
-                                       <parameter name="selector" type="HildonTouchSelector*"/>
-                               </parameters>
-                       </method>
                        <method name="insert_text" symbol="hildon_touch_selector_insert_text">
                                <return-type type="void"/>
                                <parameters>
@@ -3277,12 +3259,6 @@
                                        <parameter name="object" type="HildonTouchSelector*"/>
                                </parameters>
                        </signal>
-                       <vfunc name="has_multiple_selection">
-                               <return-type type="gboolean"/>
-                               <parameters>
-                                       <parameter name="selector" type="HildonTouchSelector*"/>
-                               </parameters>
-                       </vfunc>
                        <vfunc name="set_model">
                                <return-type type="void"/>
                                <parameters>

As a result, the generation succeded:

$ vapigen --pkg=gtk+-2.0 --library hildon-1 --metadata=hildon-1/hildon-1.metadata hildon-1/hildon-1.gi
Generation succeeded - 0 warning(s)

But finally, I had to apply this patch directly to hildon-1.vapi to fix
the argument to hildon_gtk_init, probably because I don't know how to
use the hildon-1.metadata file properly:

--- a/hildon-1.vapi     2009-09-23 23:44:42.351846163 +0200
+++ b/hildon-1.vapi     2009-09-23 23:38:57.503866815 +0200
@@ -1124,7 +1124,7 @@
        [CCode (cheader_filename = "hildon/hildon.h")]
        public static void gtk_icon_view_set_ui_mode (Gtk.IconView iconview, Hildon.UIMode mode);
        [CCode (cheader_filename = "hildon/hildon.h")]
-       public static void gtk_init ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
+       public static void gtk_init (int argc, out unowned string argv);
        [CCode (cheader_filename = "hildon/hildon.h")]
        public static unowned Gtk.Widget gtk_menu_new ();
        [CCode (cheader_filename = "hildon/hildon.h")]


THE RESULTING PATCH TO UPSTREAM hildon-1.vapi
========================================================================

--- /usr/share/vala/vapi/hildon-1.vapi  2009-09-18 08:50:15.000000000 +0200
+++ cinaest/vapi/hildon-1.vapi  2009-09-23 23:48:10.492717531 +0200
@@ -3,6 +3,38 @@
 [CCode (cprefix = "Hildon", lower_case_cprefix = "hildon_")]
 namespace Hildon {
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class AnimationActor : Gtk.Window, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public AnimationActor ();
+               public void send_message (uint32 message_type, uint32 l0, uint32 l1, uint32 l2, uint32 l3, 
uint32 l4);
+               public void set_anchor (int x, int y);
+               public void set_anchor_from_gravity (uint gravity);
+               public void set_depth (int depth);
+               public void set_opacity (int opacity);
+               public void set_parent (Gtk.Window parent);
+               public void set_position (int x, int y);
+               public void set_position_full (int x, int y, int depth);
+               public void set_rotation (int axis, double degrees, int x, int y, int z);
+               public void set_rotationx (int axis, int32 degrees, int x, int y, int z);
+               public void set_scale (double x_scale, double y_scale);
+               public void set_scalex (int32 x_scale, int32 y_scale);
+               public void set_show (int show);
+               public void set_show_full (int show, int opacity);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class AppMenu : Gtk.Window, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public AppMenu ();
+               public void add_filter (Gtk.Button filter);
+               public void append (Gtk.Button item);
+               public unowned GLib.List get_filters ();
+               public unowned GLib.List get_items ();
+               public void insert (Gtk.Button item, int position);
+               public void popup (Gtk.Window parent_window);
+               public void prepend (Gtk.Button item);
+               public void reorder_child (Gtk.Button item, int position);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class Banner : Gtk.Window, Atk.Implementor, Gtk.Buildable {
                public void set_fraction (double fraction);
                public void set_icon (string icon_name);
@@ -12,6 +44,7 @@
                public void set_timeout (uint timeout);
                public static unowned Gtk.Widget show_animation (Gtk.Widget widget, string animation_name, 
string text);
                public static unowned Gtk.Widget show_information (Gtk.Widget widget, string icon_name, 
string text);
+               public static unowned Gtk.Widget show_information_override_dnd (Gtk.Widget widget, string 
text);
                public static unowned Gtk.Widget show_information_with_markup (Gtk.Widget widget, string 
icon_name, string markup);
                public static unowned Gtk.Widget show_informationf (Gtk.Widget widget, string icon_name, 
string format);
                public static unowned Gtk.Widget show_progress (Gtk.Widget widget, Gtk.ProgressBar bar, 
string text);
@@ -28,13 +61,43 @@
                public BreadCrumbTrail ();
                public void clear ();
                public void pop ();
-               public void push (Hildon.BreadCrumb item, void* id, GLib.DestroyNotify notify);
+               public void push (Hildon.BreadCrumb item, void* id, GLib.DestroyNotify destroy);
                public void push_icon (string text, Gtk.Widget icon, void* id, GLib.DestroyNotify destroy);
-               public void push_text (string text, void* id, GLib.DestroyNotify notify);
+               public void push_text (string text, void* id, GLib.DestroyNotify destroy);
                public virtual signal bool crumb_clicked (void* id);
                public virtual signal void move_parent ();
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class Button : Gtk.Button, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public Button (Hildon.SizeType size, Hildon.ButtonArrangement arrangement);
+               public void add_image_size_group (Gtk.SizeGroup size_group);
+               public void add_size_groups (Gtk.SizeGroup title_size_group, Gtk.SizeGroup value_size_group, 
Gtk.SizeGroup image_size_group);
+               public void add_title_size_group (Gtk.SizeGroup size_group);
+               public void add_value_size_group (Gtk.SizeGroup size_group);
+               public unowned Gtk.Widget get_image ();
+               public Hildon.ButtonStyle get_style ();
+               public unowned string get_title ();
+               public unowned string get_value ();
+               public void set_alignment (float xalign, float yalign, float xscale, float yscale);
+               public void set_image (Gtk.Widget image);
+               public void set_image_alignment (float xalign, float yalign);
+               public void set_image_position (Gtk.PositionType position);
+               public void set_style (Hildon.ButtonStyle style);
+               public void set_text (string title, string value);
+               public void set_title (string title);
+               public void set_title_alignment (float xalign, float yalign);
+               public void set_value (string value);
+               public void set_value_alignment (float xalign, float yalign);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public Button.with_text (Hildon.SizeType size, Hildon.ButtonArrangement arrangement, string 
title, string value);
+               public Hildon.ButtonArrangement arrangement { construct; }
+               public Hildon.SizeType size { construct; }
+               public Hildon.ButtonStyle style { get; set; }
+               public string title { get; set; }
+               public string value { get; set; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class Calendar : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
                [CCode (array_length = false)]
                public weak int[] day_month;
@@ -148,6 +211,16 @@
                public virtual signal void activate ();
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class CheckButton : Gtk.Button, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public CheckButton (Hildon.SizeType size);
+               public bool get_active ();
+               public void set_active (bool is_active);
+               [NoAccessorMethod]
+               public Hildon.SizeType size { set; }
+               public virtual signal void toggled ();
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class CodeDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public CodeDialog ();
@@ -169,6 +242,7 @@
                public ColorButton.with_color (Gdk.Color color);
                public Gdk.Color color { get; set; }
                public bool popup_shown { get; }
+               public virtual signal void setup_dialog (Hildon.ColorChooserDialog p0);
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
        public class ColorChooser : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
@@ -203,6 +277,15 @@
                public virtual signal void end_reached (bool end);
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class DateButton : Hildon.PickerButton, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public DateButton (Hildon.SizeType size, Hildon.ButtonArrangement arrangement);
+               public void get_date (uint year, uint month, uint day);
+               public void set_date (uint year, uint month, uint day);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public DateButton.with_year_range (Hildon.SizeType size, Hildon.ButtonArrangement 
arrangement, int min_year, int max_year);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class DateEditor : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public DateEditor ();
@@ -224,7 +307,52 @@
                public virtual signal bool date_error (Hildon.DateTimeError type);
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
-       public class FindToolbar : Gtk.Toolbar, Atk.Implementor, Gtk.Buildable {
+       public class DateSelector : Hildon.TouchSelector, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public DateSelector ();
+               public void get_date (uint year, uint month, uint day);
+               public bool select_current_date (uint year, uint month, uint day);
+               public void select_day (uint day);
+               public bool select_month (uint month, uint year);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public DateSelector.with_year_range (int min_year, int max_year);
+               [NoAccessorMethod]
+               public int max_year { get; construct; }
+               [NoAccessorMethod]
+               public int min_year { get; construct; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class Dialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public Dialog ();
+               public unowned Gtk.Widget add_button (string button_text, int response_id);
+               public void add_buttons (...);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public Dialog.with_buttons (string title, Gtk.Window parent, Gtk.DialogFlags flags, ...);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class EditToolbar : Gtk.HBox, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public EditToolbar ();
+               public void set_button_label (string label);
+               public void set_label (string label);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public EditToolbar.with_text (string label, string button);
+               public virtual signal void arrow_clicked ();
+               public virtual signal void button_clicked ();
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class Entry : Gtk.Entry, Atk.Implementor, Gtk.Buildable, Gtk.Editable, Gtk.CellEditable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public Entry (Hildon.SizeType size);
+               public unowned string get_text ();
+               public void set_placeholder (string text);
+               public void set_text (string text);
+               [NoAccessorMethod]
+               public Hildon.SizeType size { set construct; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class FindToolbar : Gtk.Toolbar, Atk.Implementor, Gtk.Buildable, Gtk.ToolShell {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public FindToolbar (string label);
                public int get_active ();
@@ -359,6 +487,8 @@
                [NoAccessorMethod]
                public string icon { owned get; set; }
                [NoAccessorMethod]
+               public Hildon.NoteType note_type { get; set construct; }
+               [NoAccessorMethod]
                public Gtk.ProgressBar progressbar { owned get; set; }
                [NoAccessorMethod]
                public string stock_icon { owned get; set; }
@@ -374,15 +504,115 @@
                public virtual signal bool range_error (Hildon.NumberEditorErrorType type);
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class PannableArea : Gtk.Bin, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public PannableArea ();
+               public void add_with_viewport (Gtk.Widget child);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public PannableArea.full (int mode, bool enabled, double vel_min, double vel_max, double 
decel, uint sps);
+               public unowned Gtk.Adjustment get_hadjustment ();
+               public Hildon.SizeRequestPolicy get_size_request_policy ();
+               public unowned Gtk.Adjustment get_vadjustment ();
+               public void jump_to (int x, int y);
+               public void jump_to_child (Gtk.Widget child);
+               public void scroll_to (int x, int y);
+               public void scroll_to_child (Gtk.Widget child);
+               public void set_size_request_policy (Hildon.SizeRequestPolicy size_request_policy);
+               [NoAccessorMethod]
+               public uint bounce_steps { get; set construct; }
+               [NoAccessorMethod]
+               public double deceleration { get; set construct; }
+               [NoAccessorMethod]
+               public uint direction_error_margin { get; set construct; }
+               [NoAccessorMethod]
+               public double drag_inertia { get; set construct; }
+               [NoAccessorMethod]
+               public bool enabled { get; set construct; }
+               [NoAccessorMethod]
+               public uint force { get; set construct; }
+               public Gtk.Adjustment hadjustment { get; }
+               [NoAccessorMethod]
+               public int hovershoot_max { get; set construct; }
+               [NoAccessorMethod]
+               public Gtk.PolicyType hscrollbar_policy { get; set construct; }
+               [NoAccessorMethod]
+               public bool initial_hint { get; set construct; }
+               [NoAccessorMethod]
+               public bool low_friction_mode { get; set construct; }
+               [NoAccessorMethod]
+               public Hildon.PannableAreaMode mode { get; set construct; }
+               [NoAccessorMethod]
+               public Hildon.MovementMode mov_mode { get; set construct; }
+               [NoAccessorMethod]
+               public uint panning_threshold { get; set construct; }
+               [NoAccessorMethod]
+               public double scroll_time { get; set construct; }
+               [NoAccessorMethod]
+               public uint scrollbar_fade_delay { get; set construct; }
+               public Hildon.SizeRequestPolicy size_request_policy { get; set construct; }
+               [NoAccessorMethod]
+               public uint sps { get; set construct; }
+               public Gtk.Adjustment vadjustment { get; }
+               [NoAccessorMethod]
+               public double velocity_fast_factor { get; set construct; }
+               [NoAccessorMethod]
+               public double velocity_max { get; set construct; }
+               [NoAccessorMethod]
+               public double velocity_min { get; set construct; }
+               [NoAccessorMethod]
+               public double velocity_overshooting_max { get; set construct; }
+               [NoAccessorMethod]
+               public int vovershoot_max { get; set construct; }
+               [NoAccessorMethod]
+               public Gtk.PolicyType vscrollbar_policy { get; set construct; }
+               public virtual signal void horizontal_movement (int direction, double x, double y);
+               public virtual signal void panning_finished ();
+               public virtual signal bool panning_started ();
+               public virtual signal void vertical_movement (int direction, double x, double y);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class PickerButton : Hildon.Button, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public PickerButton (Hildon.SizeType size, Hildon.ButtonArrangement arrangement);
+               public int get_active ();
+               public unowned string get_done_button_text ();
+               public unowned Hildon.TouchSelector get_selector ();
+               public void set_active (int index);
+               public void set_done_button_text (string done_button_text);
+               public void set_selector (Hildon.TouchSelector selector);
+               public string done_button_text { get; set; }
+               [NoAccessorMethod]
+               public Hildon.TouchSelector touch_selector { owned get; set; }
+               public virtual signal void value_changed ();
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class PickerDialog : Hildon.Dialog, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public PickerDialog (Gtk.Window parent);
+               public unowned string get_done_label ();
+               public unowned Hildon.TouchSelector get_selector ();
+               public void set_done_label (string label);
+               public virtual bool set_selector (Hildon.TouchSelector selector);
+               [NoAccessorMethod]
+               public bool center_on_show { get; set construct; }
+               [NoAccessorMethod]
+               public string done_button_text { owned get; set construct; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class Program : GLib.Object {
                public void add_window (Hildon.Window window);
                public bool get_can_hibernate ();
+               public unowned Hildon.AppMenu get_common_app_menu ();
                public unowned Gtk.Menu get_common_menu ();
                public unowned Gtk.Toolbar get_common_toolbar ();
                public static unowned Hildon.Program get_instance ();
                public bool get_is_topmost ();
+               public void go_to_root_window ();
+               public unowned Hildon.StackableWindow peek_window_stack ();
+               public unowned Hildon.StackableWindow pop_window_stack ();
                public void remove_window (Hildon.Window window);
                public void set_can_hibernate (bool can_hibernate);
+               public void set_common_app_menu (Hildon.AppMenu menu);
                public void set_common_menu (Gtk.Menu menu);
                public void set_common_toolbar (Gtk.Toolbar toolbar);
                public bool can_hibernate { get; set; }
@@ -414,6 +644,21 @@
                public string separator { get; set construct; }
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class RemoteTexture : Gtk.Window, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public RemoteTexture ();
+               public void send_message (uint32 message_type, uint32 l0, uint32 l1, uint32 l2, uint32 l3, 
uint32 l4);
+               public void set_image (uint32 key, uint width, uint height, uint bpp);
+               public void set_offset (double x, double y);
+               public void set_opacity (int opacity);
+               public void set_parent (Gtk.Window parent);
+               public void set_position (int x, int y, int width, int height);
+               public void set_scale (double x_scale, double y_scale);
+               public void set_show (int show);
+               public void set_show_full (int show, int opacity);
+               public void update_area (int x, int y, int width, int height);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class Seekbar : Gtk.Scale, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public Seekbar ();
@@ -457,6 +702,30 @@
                public Gtk.SortType sort_order { get; set; }
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class StackableWindow : Hildon.Window, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public StackableWindow ();
+               public unowned Hildon.WindowStack get_stack ();
+               public void set_main_menu (Hildon.AppMenu menu);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TextView : Gtk.TextView, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TextView ();
+               public unowned Gtk.TextBuffer get_buffer ();
+               public void set_buffer (Gtk.TextBuffer buffer);
+               public void set_placeholder (string text);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TimeButton : Hildon.PickerButton, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TimeButton (Hildon.SizeType size, Hildon.ButtonArrangement arrangement);
+               public void get_time (uint hours, uint minutes);
+               public void set_time (uint hours, uint minutes);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TimeButton.step (Hildon.SizeType size, Hildon.ButtonArrangement arrangement, uint 
minutes_step);
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class TimeEditor : Gtk.Container, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public TimeEditor ();
@@ -495,6 +764,81 @@
                public uint minutes { get; set; }
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TimeSelector : Hildon.TouchSelector, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TimeSelector ();
+               public void get_time (uint hours, uint minutes);
+               public bool set_time (uint hours, uint minutes);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TimeSelector.step (uint minutes_step);
+               [NoAccessorMethod]
+               public uint minutes_step { get; construct; }
+               [NoAccessorMethod]
+               public Hildon.TimeSelectorFormatPolicy time_format_policy { get; set construct; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TouchSelector : Gtk.VBox, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TouchSelector ();
+               public unowned Hildon.TouchSelectorColumn append_column (Gtk.TreeModel model, 
Gtk.CellRenderer cell_renderer);
+               public void append_text (string text);
+               public unowned Hildon.TouchSelectorColumn append_text_column (Gtk.TreeModel model, bool 
center);
+               public void center_on_selected ();
+               public int get_active (int column);
+               public unowned Hildon.TouchSelectorColumn get_column (int column);
+               public Hildon.TouchSelectorSelectionMode get_column_selection_mode ();
+               public unowned string get_current_text ();
+               public Hildon.UIMode get_hildon_ui_mode ();
+               public unowned Gtk.TreePath get_last_activated_row (int column);
+               public unowned Gtk.TreeModel get_model (int column);
+               public int get_num_columns ();
+               public unowned Hildon.TouchSelectorPrintFunc get_print_func ();
+               public bool get_selected (int column, Gtk.TreeIter iter);
+               public unowned GLib.List get_selected_rows (int column);
+               public void insert_text (int position, string text);
+               public void optimal_size_request (Gtk.Requisition requisition);
+               public void prepend_text (string text);
+               public bool remove_column (int column);
+               public void select_iter (int column, Gtk.TreeIter iter, bool scroll_to);
+               public void set_active (int column, int index);
+               public void set_column_attributes (int num_column, Gtk.CellRenderer cell_renderer);
+               public void set_column_selection_mode (Hildon.TouchSelectorSelectionMode mode);
+               public bool set_hildon_ui_mode (Hildon.UIMode mode);
+               public virtual void set_model (int column, Gtk.TreeModel model);
+               public void set_print_func (Hildon.TouchSelectorPrintFunc func);
+               public void set_print_func_full (Hildon.TouchSelectorPrintFunc func, GLib.DestroyNotify 
destroy_func);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TouchSelector.text ();
+               public void unselect_all (int column);
+               public void unselect_iter (int column, Gtk.TreeIter iter);
+               [NoAccessorMethod]
+               public bool has_multiple_selection { get; }
+               public Hildon.UIMode hildon_ui_mode { get; set; }
+               [NoAccessorMethod]
+               public bool initial_scroll { get; set construct; }
+               public virtual signal void changed (int column);
+               public virtual signal void columns_changed ();
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TouchSelectorColumn : GLib.Object, Gtk.CellLayout {
+               public int get_text_column ();
+               public void set_text_column (int text_column);
+               public int text_column { get; set; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public class TouchSelectorEntry : Hildon.TouchSelector, Atk.Implementor, Gtk.Buildable {
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TouchSelectorEntry ();
+               public unowned Hildon.Entry get_entry ();
+               public Hildon.GtkInputMode get_input_mode ();
+               public int get_text_column ();
+               public void set_input_mode (Hildon.GtkInputMode input_mode);
+               public void set_text_column (int text_column);
+               [CCode (type = "GtkWidget*", has_construct_function = false)]
+               public TouchSelectorEntry.text ();
+               public int text_column { get; set; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class VVolumebar : Hildon.Volumebar, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public VVolumebar ();
@@ -509,8 +853,6 @@
                public void set_range_insensitive_message (string message);
                public void set_range_insensitive_messagef (string format);
                [NoAccessorMethod]
-               public bool can_focus { get; set construct; }
-               [NoAccessorMethod]
                public bool has_mute { get; set construct; }
                public double level { get; set; }
                public bool mute { get; set; }
@@ -543,17 +885,46 @@
                public Window ();
                public void add_toolbar (Gtk.Toolbar toolbar);
                public void add_with_scrollbar (Gtk.Widget child);
+               public unowned Hildon.AppMenu get_app_menu ();
                public bool get_is_topmost ();
+               public unowned Gtk.Menu get_main_menu ();
+               public unowned string get_markup ();
                public unowned Gtk.Menu get_menu ();
                public void remove_toolbar (Gtk.Toolbar toolbar);
+               public void set_app_menu (Hildon.AppMenu menu);
+               public void set_edit_toolbar (Hildon.EditToolbar toolbar);
+               public void set_main_menu (Gtk.Menu menu);
+               public void set_markup (string markup);
                public void set_menu (Gtk.Menu menu);
+               [NoWrapper]
+               public virtual bool toggle_menu (uint button, uint32 time);
                public bool is_topmost { get; }
+               public string markup { get; set; }
                public virtual signal void clipboard_operation (int operation);
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public class WindowStack : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public WindowStack ();
+               public static unowned Hildon.WindowStack get_default ();
+               public unowned GLib.List get_windows ();
+               public unowned Gtk.Widget peek ();
+               public void pop (int nwindows, GLib.List popped_windows);
+               public unowned Gtk.Widget pop_1 ();
+               public void pop_and_push (int nwindows, GLib.List popped_windows, Hildon.StackableWindow 
win1);
+               public void pop_and_push_list (int nwindows, GLib.List popped_windows, GLib.List list);
+               public void push (Hildon.StackableWindow win1);
+               public void push_1 (Hildon.StackableWindow win);
+               public void push_list (GLib.List list);
+               public int size ();
+               [NoAccessorMethod]
+               public Gtk.WindowGroup window_group { owned get; construct; }
+       }
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public class WizardDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
                [CCode (type = "GtkWidget*", has_construct_function = false)]
                public WizardDialog (Gtk.Window parent, string wizard_name, Gtk.Notebook notebook);
+               public void set_forward_page_func (Hildon.WizardDialogPageFunc page_func, void* data, 
GLib.DestroyNotify destroy);
                [NoAccessorMethod]
                public bool autotitle { get; set; }
                [NoAccessorMethod]
@@ -567,7 +938,17 @@
                public abstract void get_natural_size (int width, int height);
                public signal void crumb_activated ();
        }
-       [CCode (cprefix = "HILDON_CALENDAR_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_BUTTON_ARRANGEMENT_", cheader_filename = "hildon/hildon.h")]
+       public enum ButtonArrangement {
+               HORIZONTAL,
+               VERTICAL
+       }
+       [CCode (cprefix = "HILDON_BUTTON_STYLE_", cheader_filename = "hildon/hildon.h")]
+       public enum ButtonStyle {
+               NORMAL,
+               PICKER
+       }
+       [CCode (cprefix = "HILDON_CALENDAR_", cheader_filename = "hildon/hildon.h")]
        [Flags]
        public enum CalendarDisplayOptions {
                SHOW_HEADING,
@@ -576,17 +957,17 @@
                SHOW_WEEK_NUMBERS,
                WEEK_START_MONDAY
        }
-       [CCode (cprefix = "HILDON_CAPTION_POSITION_", has_type_id = "0", cheader_filename = 
"hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_CAPTION_POSITION_", cheader_filename = "hildon/hildon.h")]
        public enum CaptionIconPosition {
                LEFT,
                RIGHT
        }
-       [CCode (cprefix = "HILDON_CAPTION_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_CAPTION_", cheader_filename = "hildon/hildon.h")]
        public enum CaptionStatus {
                OPTIONAL,
                MANDATORY
        }
-       [CCode (cprefix = "HILDON_DATE_TIME_ERROR_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_DATE_TIME_ERROR_", cheader_filename = "hildon/hildon.h")]
        public enum DateTimeError {
                NO_ERROR,
                MAX_HOURS,
@@ -613,7 +994,21 @@
                INVALID_DATE,
                INVALID_TIME
        }
-       [CCode (cprefix = "HILDON_NOTE_TYPE_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_MOVEMENT_", cheader_filename = "hildon/hildon.h")]
+       public enum MovementDirection {
+               UP,
+               DOWN,
+               LEFT,
+               RIGHT
+       }
+       [CCode (cprefix = "HILDON_MOVEMENT_MODE_", cheader_filename = "hildon/hildon.h")]
+       [Flags]
+       public enum MovementMode {
+               HORIZ,
+               VERT,
+               BOTH
+       }
+       [CCode (cprefix = "HILDON_NOTE_TYPE_", cheader_filename = "hildon/hildon.h")]
        public enum NoteType {
                CONFIRMATION,
                CONFIRMATION_BUTTON,
@@ -621,19 +1016,47 @@
                INFORMATION_THEME,
                PROGRESSBAR
        }
-       [CCode (cprefix = "HILDON_NUMBER_EDITOR_ERROR_", has_type_id = "0", cheader_filename = 
"hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_NUMBER_EDITOR_ERROR_", cheader_filename = "hildon/hildon.h")]
        public enum NumberEditorErrorType {
                MAXIMUM_VALUE_EXCEED,
                MINIMUM_VALUE_EXCEED,
                ERRONEOUS_VALUE
        }
-       [CCode (cprefix = "HILDON_WINDOW_CO_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_PANNABLE_AREA_MODE_", cheader_filename = "hildon/hildon.h")]
+       public enum PannableAreaMode {
+               PUSH,
+               ACCEL,
+               AUTO
+       }
+       [CCode (cprefix = "HILDON_PORTRAIT_MODE_", cheader_filename = "hildon/hildon.h")]
+       [Flags]
+       public enum PortraitFlags {
+               REQUEST,
+               SUPPORT
+       }
+       [CCode (cprefix = "HILDON_SIZE_REQUEST_", cheader_filename = "hildon/hildon.h")]
+       public enum SizeRequestPolicy {
+               MINIMUM,
+               CHILDREN
+       }
+       [CCode (cprefix = "HILDON_TIME_SELECTOR_FORMAT_POLICY_", cheader_filename = "hildon/hildon.h")]
+       public enum TimeSelectorFormatPolicy {
+               AMPM,
+               @24H,
+               AUTOMATIC
+       }
+       [CCode (cprefix = "HILDON_TOUCH_SELECTOR_SELECTION_MODE_", cheader_filename = "hildon/hildon.h")]
+       public enum TouchSelectorSelectionMode {
+               SINGLE,
+               MULTIPLE
+       }
+       [CCode (cprefix = "HILDON_WINDOW_CO_", cheader_filename = "hildon/hildon.h")]
        public enum WindowClipboardOperation {
                COPY,
                CUT,
                PASTE
        }
-       [CCode (cprefix = "HILDON_WIZARD_DIALOG_", has_type_id = "0", cheader_filename = "hildon/hildon.h")]
+       [CCode (cprefix = "HILDON_WIZARD_DIALOG_", cheader_filename = "hildon/hildon.h")]
        public enum WizardDialogResponse {
                CANCEL,
                PREVIOUS,
@@ -641,6 +1064,34 @@
                FINISH
        }
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public delegate unowned string TouchSelectorPrintFunc (Hildon.TouchSelector selector);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public delegate bool WizardDialogPageFunc (Gtk.Notebook notebook, int current_page);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_CENTER_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_E_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_NE_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_NW_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_N_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_SE_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_SW_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_S_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_W_GRAVITY;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_X_AXIS;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_Y_AXIS;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int AA_Z_AXIS;
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public const int MAJOR_VERSION;
        [CCode (cheader_filename = "hildon/hildon.h")]
        public const int MARGIN_DEFAULT;
@@ -657,8 +1108,48 @@
        [CCode (cheader_filename = "hildon/hildon.h")]
        public const int WINDOW_LONG_PRESS_TIME;
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public const int WINDOW_TITLEBAR_HEIGHT;
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned string format_file_size_for_display (int64 size);
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public static int get_icon_pixel_size (Gtk.IconSize size);
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_button_new (Hildon.SizeType size);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_hscale_new ();
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_icon_view_new (Hildon.UIMode mode);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_icon_view_new_with_model (Hildon.UIMode mode, Gtk.TreeModel 
model);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_icon_view_set_ui_mode (Gtk.IconView iconview, Hildon.UIMode mode);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_init ([CCode (array_length_pos = 0.9)] ref unowned string[] argv);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_menu_new ();
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_radio_button_new (Hildon.SizeType size, GLib.SList group);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_radio_button_new_from_widget (Hildon.SizeType size, 
Gtk.RadioButton radio_group_member);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_toggle_button_new (Hildon.SizeType size);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_tree_view_new (Hildon.UIMode mode);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_tree_view_new_with_model (Hildon.UIMode mode, Gtk.TreeModel 
model);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_tree_view_set_ui_mode (Gtk.TreeView treeview, Hildon.UIMode mode);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget gtk_vscale_new ();
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_window_set_do_not_disturb (Gtk.Window window, bool dndflag);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_window_set_portrait_flags (Gtk.Window window, Hildon.PortraitFlags 
portrait_flags);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_window_set_progress_indicator (Gtk.Window window, uint state);
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void gtk_window_take_screenshot (Gtk.Window window, bool take);
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public static bool helper_event_button_is_finger (Gdk.EventButton event);
        [CCode (cheader_filename = "hildon/hildon.h")]
        public static void helper_set_insensitive_message (Gtk.Widget widget, string message);
@@ -671,5 +1162,9 @@
        [CCode (cheader_filename = "hildon/hildon.h")]
        public static void helper_set_thumb_scrollbar (Gtk.ScrolledWindow win, bool thumb);
        [CCode (cheader_filename = "hildon/hildon.h")]
+       public static void init ();
+       [CCode (cheader_filename = "hildon/hildon.h")]
+       public static unowned Gtk.Widget pannable_get_child_widget_at (Hildon.PannableArea area, double x, 
double y);
+       [CCode (cheader_filename = "hildon/hildon.h")]
        public static void play_system_sound (string sample);
 }




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]