[Vala] RFC: hildon-1.vapi update for Maemo Fremantle
- From: Philipp Zabel <philipp zabel gmail com>
- To: vala-list gnome org
- Subject: [Vala] RFC: hildon-1.vapi update for Maemo Fremantle
- Date: Thu, 24 Sep 2009 00:03:21 +0200
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]