From 53579f8ec711675c2b304f9a616feac72fcaa0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Tue, 28 Feb 2012 12:09:29 +0100 Subject: parse elm_index.h, generate elm_index.rb --- lib/efl/elementary_all.rb | 2 +- lib/efl/elm/elm_index.rb | 31 ++++++++++++++++++++ lib/efl/native/elm/elm_index.rb | 63 +++++++++++++++++++++++++++++++++++++++++ tools/genruby.rb | 2 +- 4 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 lib/efl/elm/elm_index.rb create mode 100644 lib/efl/native/elm/elm_index.rb diff --git a/lib/efl/elementary_all.rb b/lib/efl/elementary_all.rb index 09947d0..662a9e3 100644 --- a/lib/efl/elementary_all.rb +++ b/lib/efl/elementary_all.rb @@ -50,7 +50,7 @@ require 'efl/elm/elm_hover' require 'efl/elm/elm_hoversel' require 'efl/elm/elm_icon' require 'efl/elm/elm_image' -#require 'efl/elm/elm_index' +require 'efl/elm/elm_index' #require 'efl/elm/elm_intro' require 'efl/elm/elm_label' require 'efl/elm/elm_layout' diff --git a/lib/efl/elm/elm_index.rb b/lib/efl/elm/elm_index.rb new file mode 100644 index 0000000..c6ba981 --- /dev/null +++ b/lib/efl/elm/elm_index.rb @@ -0,0 +1,31 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/elm/elm_object' +require 'efl/elm/elm_object_item' +require 'efl/native/elm/elm_index' +# +module Efl + # + module Elm + # + class ElmIndex < ElmObject + # + include Helper + constructor :elm_index_add + search_prefixes 'elm_index_' + # + def item_selected_get idx + ElmObjectItem.new Native::elm_index_item_selected_get @ptr, idx + end + # + def item_find item + ElmObjectItem.new Native::elm_index_item_find @ptr, item + end + # + end + # + end +end +# +# EOF diff --git a/lib/efl/native/elm/elm_index.rb b/lib/efl/native/elm/elm_index.rb new file mode 100644 index 0000000..b87d404 --- /dev/null +++ b/lib/efl/native/elm/elm_index.rb @@ -0,0 +1,63 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'efl/native' +require 'efl/native/elementary' +# +module Efl + # + module ElmIndex + # + FCT_PREFIX = 'elm_index_' 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' + # + # FUNCTIONS + fcts = [ + # EAPI Evas_Object *elm_index_add(Evas_Object *parent); + [ :elm_index_add, [ :evas_object ], :evas_object ], + # EAPI void elm_index_active_set(Evas_Object *obj, Eina_Bool active); + [ :elm_index_active_set, [ :evas_object, :bool ], :void ], + # EAPI Eina_Bool elm_index_active_get(const Evas_Object *obj); + [ :elm_index_active_get, [ :evas_object ], :bool ], + # EAPI void elm_index_item_level_set(Evas_Object *obj, int level); + [ :elm_index_item_level_set, [ :evas_object, :int ], :void ], + # EAPI int elm_index_item_level_get(const Evas_Object *obj); + [ :elm_index_item_level_get, [ :evas_object ], :int ], + # EAPI Elm_Object_Item *elm_index_item_selected_get(const Evas_Object *obj, int level); + [ :elm_index_item_selected_get, [ :evas_object, :int ], :elm_object_item ], + # EAPI void elm_index_item_append(Evas_Object *obj, const char *letter, const void *item); + [ :elm_index_item_append, [ :evas_object, :string, :pointer ], :void ], + # EAPI void elm_index_item_prepend(Evas_Object *obj, const char *letter, const void *item); + [ :elm_index_item_prepend, [ :evas_object, :string, :pointer ], :void ], + # EAPI void elm_index_item_append_relative(Evas_Object *obj, const char *letter, const void *item, const Elm_Object_Item *relative); + [ :elm_index_item_append_relative, [ :evas_object, :string, :pointer, :elm_object_item ], :void ], + # EAPI void elm_index_item_prepend_relative(Evas_Object *obj, const char *letter, const void *item, const Elm_Object_Item *relative); + [ :elm_index_item_prepend_relative, [ :evas_object, :string, :pointer, :elm_object_item ], :void ], + # EAPI void elm_index_item_sorted_insert(Evas_Object *obj, const char *letter, const void *item, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func); + [ :elm_index_item_sorted_insert, [ :evas_object, :string, :pointer, :eina_compare_cb, :eina_compare_cb ], :void ], + # EAPI Elm_Object_Item *elm_index_item_find(Evas_Object *obj, const void *item); + [ :elm_index_item_find, [ :evas_object, :pointer ], :elm_object_item ], + # EAPI void elm_index_item_clear(Evas_Object *obj); + [ :elm_index_item_clear, [ :evas_object ], :void ], + # EAPI void elm_index_item_go(Evas_Object *obj, int level); + [ :elm_index_item_go, [ :evas_object, :int ], :void ], + # EAPI const char *elm_index_item_letter_get(const Elm_Object_Item *item); + [ :elm_index_item_letter_get, [ :elm_object_item ], :string ], + ] + # + attach_fcts fcts + # + end +end +# +# EOF diff --git a/tools/genruby.rb b/tools/genruby.rb index ed6af28..fa27591 100755 --- a/tools/genruby.rb +++ b/tools/genruby.rb @@ -408,7 +408,7 @@ libs << elm_h('elm_frame.h', 'ElmFrame') libs << elm_h('elm_grid.h', 'ElmGrid') libs << elm_h('elm_hover.h', 'ElmHover') libs << elm_h('elm_image.h', 'ElmImage') -#libs << elm_h('elm_index.h', 'ElmX') +libs << elm_h('elm_index.h', 'ElmIndex') #libs << elm_h('elm_intro.h', 'ElmX') libs << elm_h('elm_label.h', 'ElmLabel', ["#{NATIVE}/elementary","#{NATIVE}/elm/elm_entry"]) libs << elm_h('elm_layout.h', 'ElmLayout') -- cgit v1.1-2-g2b99