Sha256: e591577f5601bd267642f405c312d061611f3bab171230031da400465e337e30
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
class Shoes module Swt # Class is used by edit_box and edit_line class InputBox include Common::Child include Common::Clear include Common::PainterUpdatesPosition include Common::Toggle include Common::UpdatePosition include ::Shoes::BackendDimensionsDelegations attr_reader :real, :dsl, :parent def initialize(dsl, parent, text_options) @dsl = dsl @parent = parent @real = ::Swt::Widgets::Text.new(@parent.real, text_options) @real.set_size dsl.element_width, dsl.element_height @real.set_text dsl.initial_text.to_s @real.add_modify_listener do |event| @dsl.call_change_listeners unless nothing_changed?(event) end end def text @real.text end def text=(value) @last_text = @real.text @real.text = value end def enabled(value) @real.enable_widget value end def highlight_text(start_index, final_index) @real.set_selection(start_index, final_index) end def caret_to(index) @real.set_selection(index) end private def nothing_changed?(event) source = event.source event.class == Java::OrgEclipseSwtEvents::ModifyEvent && source.class == Java::OrgEclipseSwtWidgets::Text && source.text == @last_text end end class EditLine < InputBox DEFAULT_STYLES = ::Swt::SWT::SINGLE | ::Swt::SWT::BORDER def initialize(dsl, parent) styles = DEFAULT_STYLES styles |= ::Swt::SWT::PASSWORD if dsl.secret? super(dsl, parent, styles) end end class EditBox < InputBox DEFAULT_STYLES = ::Swt::SWT::MULTI | ::Swt::SWT::BORDER | ::Swt::SWT::WRAP | ::Swt::SWT::V_SCROLL def initialize(dsl, parent) super(dsl, parent, DEFAULT_STYLES) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shoes-4.0.0.pre1 | lib/shoes/swt/input_box.rb |