Class: Gtk::ComboBox
- Inherits:
-
Object
- Object
- Gtk::ComboBox
- Defined in:
- lib/extensions/gtk/widgets/gtk_combo_box.rb
Instance Method Summary collapse
- #bind(options) ⇒ Object
- #elements=(enumerable) ⇒ Object
- #selected ⇒ Object
- #selected=(object) ⇒ Object
Instance Method Details
#bind(options) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/extensions/gtk/widgets/gtk_combo_box.rb', line 29 def bind() if [:property].to_sym == :elements @path = [:path] @text = [:text] || "to_s" renderer = Gtk::CellRendererText.new self.pack_start(renderer, true) self.add_attribute(renderer,:text, 1) end super() end |
#elements=(enumerable) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/extensions/gtk/widgets/gtk_combo_box.rb', line 6 def elements=(enumerable) list_store = Gtk::ListStore.new(::Object, String) enumerable.each do |item| iterator = list_store.append iterator[0] = item iterator[1] = item.send(@text) end self.model = list_store end |
#selected ⇒ Object
16 17 18 19 |
# File 'lib/extensions/gtk/widgets/gtk_combo_box.rb', line 16 def selected iter = self.active_iter return iter[0] if iter end |
#selected=(object) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/extensions/gtk/widgets/gtk_combo_box.rb', line 21 def selected=(object) if self.model self.model.each do |model, path, iter| self.active_iter = iter if iter[0] == object end end end |