class TkComponent::Builder::TkText

Public Instance Methods

append_text(text) click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 250
def append_text(text)
  native_item.insert('end', text)
end
current_line() click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 246
def current_line
  native_item.get('insert linestart', 'insert lineend')
end
select_range(from, to) click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 254
def select_range(from, to)
  native_item.tag_add('sel', from, to)
end
selected_text() click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 240
def selected_text
  ranges = native_item.tag_ranges('sel')
  return nil if ranges.empty?
  native_item.get(ranges.first.first, ranges.first.last)
end
set_event_handler(event_handler) click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 258
def set_event_handler(event_handler)
  case event_handler.name
  when :change
    pre_lambda = ->(e) do
      # Prevent the event if the text wasn't really modified
      # This is because setting "modified = false" triggers
      # the modification event itself, which makes not much sense.
      e.sender.is_a?(self.class) && !e.sender.native_item.modified?
    end
    post_lambda = ->(e) do
      if e.sender.is_a?(self.class)
        e.sender.native_item.modified = false
      end
    end
    Event.bind_event('<Modified>', self, event_handler.options, event_handler.lambda, pre_lambda, post_lambda)
  else
    super
  end
end
value() click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 232
def value
  native_item.get('1.0', 'end')
end
value=(text) click to toggle source
# File lib/tk_component/builder/tk_item.rb, line 236
def value=(text)
  native_item.replace('1.0', 'end', text)
end