Class: Glimmer::Tk::EntryProxy

Inherits:
WidgetProxy show all
Includes:
TextVariableOwner
Defined in:
lib/glimmer/tk/entry_proxy.rb

Overview

Proxy for Tk::Tile::TEntry

Follows the Proxy Design Pattern

Constant Summary

Constants inherited from WidgetProxy

WidgetProxy::FONTS_PREDEFINED, WidgetProxy::HEXADECIMAL_CHARACTERS

Instance Attribute Summary

Attributes inherited from WidgetProxy

#args, #bind_ids, #children, #destroyed, #keyword, #parent_proxy, #tk

Attributes included from DraggableAndDroppable

#on_drag_motion_block

Instance Method Summary collapse

Methods included from TextVariableOwner

#initialize_defaults

Methods inherited from WidgetProxy

#add_observer, #ancestor_proxies, #apply_style, #attribute_argument_normalizers, #attribute_setter, #clear_children, #content, create, #destroy, #disabled, #disabled=, #enabled, #enabled=, #event_generate, #font=, #get_attribute, #grid, #has_attribute?, #has_attributes_attribute?, #has_state?, #hidden, #hidden=, #image_argument, #initialize, #inspect, #method_missing, #normalize_attribute_arguments, #on, #post_add_content, #post_initialize_child, #respond_to?, #root_parent_proxy, #set_attribute, #style=, tk_widget_class_for, #tk_widget_has_attribute_getter_setter?, #tk_widget_has_attribute_setter?, #toplevel_parent_proxy, #unbind_all, #visible, #visible=, #widget_attribute_listener_installers, #widget_custom_attribute_mapping, widget_exists?, widget_proxy_class, #window?

Methods included from DraggableAndDroppable

#drag_source=, #drop_target=, #make_draggable, #make_droppable, #make_non_draggable, #make_non_droppable, #on_drag_start_block=, #on_drop_block=, #textvariable_defined?

Constructor Details

This class inherits a constructor from Glimmer::Tk::WidgetProxy

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Glimmer::Tk::WidgetProxy

Instance Method Details

#handle_listener(listener_name, &listener) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/glimmer/tk/entry_proxy.rb', line 52

def handle_listener(listener_name, &listener)
  case listener_name.to_s.downcase
  when 'change', 'changed', 'modified'
    tk.textvariable.trace('write') {
      listener.call(@tk.textvariable)
    }
  when 'validatecommand', 'validate'
    self.validatecommand_block = listener
  when 'invalidcommand', 'invalid'
    self.invalidcommand_block = listener
  else
    super
  end
end

#invalidcommand_block=(proc) ⇒ Object



38
39
40
41
# File 'lib/glimmer/tk/entry_proxy.rb', line 38

def invalidcommand_block=(proc)
  self.validate = 'key' unless validate
  tk.invalidcommand(proc)
end

#validateObject



43
44
45
# File 'lib/glimmer/tk/entry_proxy.rb', line 43

def validate
  @validate
end

#validate=(value) ⇒ Object



47
48
49
50
# File 'lib/glimmer/tk/entry_proxy.rb', line 47

def validate=(value)
  @validate = value
  @tk.validate(value)
end

#validatecommand_block=(proc) ⇒ Object



33
34
35
36
# File 'lib/glimmer/tk/entry_proxy.rb', line 33

def validatecommand_block=(proc)
  self.validate = 'key' unless validate
  tk.validatecommand(proc)
end