Sha256: 39d399f1c0827ef6855891bfbc4d39a5d56595b1fec68bc2b641021ebabb0507
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
class Shoes module Swt class ListBox include Common::Remove include Common::Visibility include Common::UpdatePosition include ::Shoes::BackendDimensionsDelegations attr_reader :dsl, :app def initialize(dsl, app) @dsl = dsl @app = app @real = ::Swt::Widgets::Combo.new( @app.real, ::Swt::SWT::DROP_DOWN | ::Swt::SWT::READ_ONLY ) @real.set_size dsl.element_width, dsl.element_height @real.add_selection_listener do |_event| @dsl.call_change_listeners end update_items # Set initial selection without triggering callbacks! choice = @dsl.style[:choose] @real.text = choice if choice end def update_items @real.items = @dsl.items.to_a.map(&:to_s) end def text text = @real.text text == '' ? nil : text end def choose(item) @real.text = item @dsl.call_change_listeners end def enabled(value) @real.enable_widget value end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
shoes-swt-4.0.0.pre7 | lib/shoes/swt/list_box.rb |
shoes-swt-4.0.0.pre6 | lib/shoes/swt/list_box.rb |
shoes-swt-4.0.0.pre5 | lib/shoes/swt/list_box.rb |