summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/efl/elementary_all.rb2
-rw-r--r--lib/efl/elm/elm_web.rb22
-rw-r--r--lib/efl/native/elm/elm_web.rb165
-rwxr-xr-xtools/genruby.rb2
4 files changed, 189 insertions, 2 deletions
diff --git a/lib/efl/elementary_all.rb b/lib/efl/elementary_all.rb
index c62fbc1..0ffc4dd 100644
--- a/lib/efl/elementary_all.rb
+++ b/lib/efl/elementary_all.rb
@@ -84,7 +84,7 @@ require 'efl/elm/elm_thumb'
require 'efl/elm/elm_toolbar'
require 'efl/elm/elm_transit'
require 'efl/elm/elm_video'
-#require 'efl/elm/elm_web'
+require 'efl/elm/elm_web'
#require 'efl/elm/elm_widget'
require 'efl/elm/elm_win'
#
diff --git a/lib/efl/elm/elm_web.rb b/lib/efl/elm/elm_web.rb
new file mode 100644
index 0000000..a8084b7
--- /dev/null
+++ b/lib/efl/elm/elm_web.rb
@@ -0,0 +1,22 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/elm/elm_object'
+require 'efl/native/elm/elm_web'
+#
+module Efl
+ #
+ module Elm
+ #
+ class ElmWeb < ElmObject
+ #
+ include Helper
+ constructor :elm_web_add
+ search_prefixes 'elm_web_'
+ #
+ end
+ #
+ end
+end
+#
+# EOF
diff --git a/lib/efl/native/elm/elm_web.rb b/lib/efl/native/elm/elm_web.rb
new file mode 100644
index 0000000..1a4a55d
--- /dev/null
+++ b/lib/efl/native/elm/elm_web.rb
@@ -0,0 +1,165 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+#
+require 'efl/native'
+require 'efl/native/elementary'
+#
+module Efl
+ #
+ module ElmWeb
+ #
+ FCT_PREFIX = 'elm_web_' unless const_defined? :FCT_PREFIX
+ #
+ def self.method_missing meth, *args, &block
+ sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
+ self.send sym, *args, &block
+ end
+ #
+ end
+ #
+ module Native
+ #
+ ffi_lib 'elementary-ver-pre-svn-09.so.0'
+ #
+ # ENUMS
+ # typedef enum {...} Elm_Web_Menu_Item_Type;
+ enum :elm_web_menu_item_type, [ :elm_web_menu_separator, :elm_web_menu_group, :elm_web_menu_option ]
+ # typedef enum {...} Elm_Web_Zoom_Mode;
+ enum :elm_web_zoom_mode, [ :elm_web_zoom_mode_manual, 0, :elm_web_zoom_mode_auto_fit, 1, :elm_web_zoom_mode_auto_fill, 2,
+ :elm_web_zoom_mode_last, 3 ]
+ #
+ # TYPEDEFS
+ # typedef struct _Elm_Web_Frame_Load_Error Elm_Web_Frame_Load_Error;
+ typedef :pointer, :elm_web_frame_load_error
+ # typedef struct _Elm_Web_Menu_Item Elm_Web_Menu_Item;
+ typedef :pointer, :elm_web_menu_item
+ # typedef struct _Elm_Web_Menu Elm_Web_Menu;
+ typedef :pointer, :elm_web_menu
+ # typedef struct _Elm_Web_Download Elm_Web_Download;
+ typedef :pointer, :elm_web_download
+ # typedef struct _Elm_Web_Window_Features Elm_Web_Window_Features;
+ typedef :pointer, :elm_web_window_features
+ #
+ # CALLBACKS
+ # typedef Evas_Object *(*Elm_Web_Window_Open) (void *data, Evas_Object *obj, Eina_Bool js, const Elm_Web_Window_Features *window_features);
+ callback :elm_web_window_open_cb, [ :pointer, :evas_object, :bool, :elm_web_window_features ], :evas_object
+ # typedef Evas_Object *(*Elm_Web_Dialog_Alert) (void *data, Evas_Object *obj, const char *message);
+ callback :elm_web_dialog_alert_cb, [ :pointer, :evas_object, :string ], :evas_object
+ # typedef Evas_Object *(*Elm_Web_Dialog_Confirm) (void *data, Evas_Object *obj, const char *message, Eina_Bool *ret);
+ callback :elm_web_dialog_confirm_cb, [ :pointer, :evas_object, :string, :pointer ], :evas_object
+ # typedef Evas_Object *(*Elm_Web_Dialog_Prompt) (void *data, Evas_Object *obj, const char *message, const char *def_value, char **value, Eina_Bool *ret);
+ callback :elm_web_dialog_prompt_cb, [ :pointer, :evas_object, :string, :string, :pointer, :pointer ], :evas_object
+ # typedef Evas_Object *(*Elm_Web_Dialog_File_Selector) (void *data, Evas_Object *obj, Eina_Bool allows_multiple, Eina_List *accept_types, Eina_List **selected, Eina_Bool *ret);
+ callback :elm_web_dialog_file_selector_cb, [ :pointer, :evas_object, :bool, :eina_list, :eina_list, :pointer ], :evas_object
+ # typedef void (*Elm_Web_Console_Message) (void *data, Evas_Object *obj, const char *message, unsigned int line_number, const char *source_id);
+ callback :elm_web_console_message_cb, [ :pointer, :evas_object, :string, :uint, :string ], :void
+ #
+ # FUNCTIONS
+ fcts = [
+ # EAPI Evas_Object *elm_web_add(Evas_Object *parent);
+ [ :elm_web_add, [ :evas_object ], :evas_object ],
+ # EAPI void elm_web_useragent_set(Evas_Object *obj, const char *user_agent);
+ [ :elm_web_useragent_set, [ :evas_object, :string ], :void ],
+ # EAPI const char* elm_web_useragent_get(const Evas_Object *obj);
+ [ :elm_web_useragent_get, [ :evas_object ], :pointer ],
+ # EAPI Evas_Object *elm_web_webkit_view_get(const Evas_Object *obj);
+ [ :elm_web_webkit_view_get, [ :evas_object ], :evas_object ],
+ # EAPI void elm_web_window_create_hook_set(Evas_Object *obj, Elm_Web_Window_Open func, void *data);
+ [ :elm_web_window_create_hook_set, [ :evas_object, :elm_web_window_open_cb, :pointer ], :void ],
+ # EAPI void elm_web_dialog_alert_hook_set(Evas_Object *obj, Elm_Web_Dialog_Alert func, void *data);
+ [ :elm_web_dialog_alert_hook_set, [ :evas_object, :elm_web_dialog_alert_cb, :pointer ], :void ],
+ # EAPI void elm_web_dialog_confirm_hook_set(Evas_Object *obj, Elm_Web_Dialog_Confirm func, void *data);
+ [ :elm_web_dialog_confirm_hook_set, [ :evas_object, :elm_web_dialog_confirm_cb, :pointer ], :void ],
+ # EAPI void elm_web_dialog_prompt_hook_set(Evas_Object *obj, Elm_Web_Dialog_Prompt func, void *data);
+ [ :elm_web_dialog_prompt_hook_set, [ :evas_object, :elm_web_dialog_prompt_cb, :pointer ], :void ],
+ # EAPI void elm_web_dialog_file_selector_hook_set(Evas_Object *obj, Elm_Web_Dialog_File_Selector func, void *data);
+ [ :elm_web_dialog_file_selector_hook_set, [ :evas_object, :elm_web_dialog_file_selector_cb, :pointer ], :void ],
+ # EAPI void elm_web_console_message_hook_set(Evas_Object *obj, Elm_Web_Console_Message func, void *data);
+ [ :elm_web_console_message_hook_set, [ :evas_object, :elm_web_console_message_cb, :pointer ], :void ],
+ # EAPI Eina_Bool elm_web_tab_propagate_get(const Evas_Object *obj);
+ [ :elm_web_tab_propagate_get, [ :evas_object ], :bool ],
+ # EAPI void elm_web_tab_propagate_set(Evas_Object *obj, Eina_Bool propagate);
+ [ :elm_web_tab_propagate_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_web_uri_set(Evas_Object *obj, const char *uri);
+ [ :elm_web_uri_set, [ :evas_object, :string ], :bool ],
+ # EAPI const char *elm_web_uri_get(const Evas_Object *obj);
+ [ :elm_web_uri_get, [ :evas_object ], :string ],
+ # EAPI const char *elm_web_title_get(const Evas_Object *obj);
+ [ :elm_web_title_get, [ :evas_object ], :string ],
+ # EAPI void elm_web_bg_color_set(Evas_Object *obj, int r, int g, int b, int a);
+ [ :elm_web_bg_color_set, [ :evas_object, :int, :int, :int, :int ], :void ],
+ # EAPI void elm_web_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a);
+ [ :elm_web_bg_color_get, [ :evas_object, :pointer, :pointer, :pointer, :pointer ], :void ],
+ # EAPI char *elm_web_selection_get(const Evas_Object *obj);
+ [ :elm_web_selection_get, [ :evas_object ], :string ],
+ # EAPI void elm_web_popup_selected_set(Evas_Object *obj, int index);
+ [ :elm_web_popup_selected_set, [ :evas_object, :int ], :void ],
+ # EAPI Eina_Bool elm_web_popup_destroy(Evas_Object *obj);
+ [ :elm_web_popup_destroy, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_text_search(const Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap);
+ [ :elm_web_text_search, [ :evas_object, :string, :bool, :bool, :bool ], :bool ],
+ # EAPI unsigned int elm_web_text_matches_mark(Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit);
+ [ :elm_web_text_matches_mark, [ :evas_object, :string, :bool, :bool, :uint ], :uint ],
+ # EAPI Eina_Bool elm_web_text_matches_unmark_all(Evas_Object *obj);
+ [ :elm_web_text_matches_unmark_all, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_text_matches_highlight_set(Evas_Object *obj, Eina_Bool highlight);
+ [ :elm_web_text_matches_highlight_set, [ :evas_object, :bool ], :bool ],
+ # EAPI Eina_Bool elm_web_text_matches_highlight_get(const Evas_Object *obj);
+ [ :elm_web_text_matches_highlight_get, [ :evas_object ], :bool ],
+ # EAPI double elm_web_load_progress_get(const Evas_Object *obj);
+ [ :elm_web_load_progress_get, [ :evas_object ], :double ],
+ # EAPI Eina_Bool elm_web_stop(Evas_Object *obj);
+ [ :elm_web_stop, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_reload(Evas_Object *obj);
+ [ :elm_web_reload, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_reload_full(Evas_Object *obj);
+ [ :elm_web_reload_full, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_back(Evas_Object *obj);
+ [ :elm_web_back, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_forward(Evas_Object *obj);
+ [ :elm_web_forward, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_navigate(Evas_Object *obj, int steps);
+ [ :elm_web_navigate, [ :evas_object, :int ], :bool ],
+ # EAPI Eina_Bool elm_web_back_possible(Evas_Object *obj);
+ [ :elm_web_back_possible, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_forward_possible(Evas_Object *obj);
+ [ :elm_web_forward_possible, [ :evas_object ], :bool ],
+ # EAPI Eina_Bool elm_web_navigate_possible(Evas_Object *obj, int steps);
+ [ :elm_web_navigate_possible, [ :evas_object, :int ], :bool ],
+ # EAPI Eina_Bool elm_web_history_enable_get(const Evas_Object *obj);
+ [ :elm_web_history_enable_get, [ :evas_object ], :bool ],
+ # EAPI void elm_web_history_enable_set(Evas_Object *obj, Eina_Bool enable);
+ [ :elm_web_history_enable_set, [ :evas_object, :bool ], :void ],
+ # EAPI void elm_web_zoom_set(Evas_Object *obj, double zoom);
+ [ :elm_web_zoom_set, [ :evas_object, :double ], :void ],
+ # EAPI double elm_web_zoom_get(const Evas_Object *obj);
+ [ :elm_web_zoom_get, [ :evas_object ], :double ],
+ # EAPI void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode);
+ [ :elm_web_zoom_mode_set, [ :evas_object, :elm_web_zoom_mode ], :void ],
+ # EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj);
+ [ :elm_web_zoom_mode_get, [ :evas_object ], :elm_web_zoom_mode ],
+ # EAPI void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h);
+ [ :elm_web_region_show, [ :evas_object, :int, :int, :int, :int ], :void ],
+ # EAPI void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h);
+ [ :elm_web_region_bring_in, [ :evas_object, :int, :int, :int, :int ], :void ],
+ # EAPI void elm_web_inwin_mode_set(Evas_Object *obj, Eina_Bool value);
+ [ :elm_web_inwin_mode_set, [ :evas_object, :bool ], :void ],
+ # EAPI Eina_Bool elm_web_inwin_mode_get(const Evas_Object *obj);
+ [ :elm_web_inwin_mode_get, [ :evas_object ], :bool ],
+ # EAPI void elm_web_window_features_ref(Elm_Web_Window_Features *wf);
+ [ :elm_web_window_features_ref, [ :elm_web_window_features ], :void ],
+ # EAPI void elm_web_window_features_unref(Elm_Web_Window_Features *wf);
+ [ :elm_web_window_features_unref, [ :elm_web_window_features ], :void ],
+ # EAPI void elm_web_window_features_bool_property_get(const Elm_Web_Window_Features *wf, Eina_Bool *toolbar_visible, Eina_Bool *statusbar_visible, Eina_Bool *scrollbars_visible, Eina_Bool *menubar_visible, Eina_Bool *locationbar_visble, Eina_Bool *fullscreen);
+ [ :elm_web_window_features_bool_property_get, [ :elm_web_window_features, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer ], :void
+ ],
+ # EAPI void elm_web_window_features_int_property_get(const Elm_Web_Window_Features *wf, int *x, int *y, int *w, int *h);
+ [ :elm_web_window_features_int_property_get, [ :elm_web_window_features, :pointer, :pointer, :pointer, :pointer ], :void ],
+ ]
+ #
+ attach_fcts fcts
+ #
+ end
+end
+#
+# EOF
diff --git a/tools/genruby.rb b/tools/genruby.rb
index edf95c0..27cff71 100755
--- a/tools/genruby.rb
+++ b/tools/genruby.rb
@@ -440,7 +440,7 @@ libs << elm_h('elm_thumb.h', 'ElmThumb')
libs << elm_h('elm_toolbar.h', 'ElmToolbar', ["#{NATIVE}/elementary","#{NATIVE}/elm/elm_icon"])
libs << elm_h('elm_transit.h', 'ElmTransit')
libs << elm_h('elm_video.h', 'ElmVideo')
-#libs << elm_h('elm_web.h', 'ElmX')
+libs << elm_h('elm_web.h', 'ElmWeb')
#libs << elm_h('elm_widget.h', 'ElmX')
libs << elm_h('elm_win.h', 'ElmWin')