Class: VR::CellRendererPhone

Inherits:
Gtk::CellRendererText
  • Object
show all
Defined in:
lib/treeview/columns/CellRendererPhone.rb

Overview

This class is a helper to VR::ListView and VR::TreeView. When

colums are created, this class is used as the renderer because
it adds functionality to the Gtk Renderer.

When you call ListView#render(model_col) an instance of this class
will be returned.  It is a subclass of

{Gtk::CellRendererText}[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3ACellRendererText]

So it has all the functionality of its parent, plus the methods listed here.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_col, column, view, model_sym) ⇒ CellRendererPhone

:nodoc:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/treeview/columns/CellRendererPhone.rb', line 18

def initialize(model_col, column, view, model_sym) # :nodoc:

    super()
  @model_col = model_col
  @column = column
  @view = view
  @model_sym = model_sym
  @view.model.set_sort_func(@model_col) { |x,y| x[@model_col] <=> y[@model_col] }
  @phone_format = "%3-%3-%4"
    @validate_block = Proc.new { |text, model_sym, row, view| 
    only_numbers = text.gsub(/[^0-9]/, "")
    if (only_numbers.size == 10)
      true
    else
      VR.msg("Unrecognized phone number:  " + text)
      false 
    end } 
  @edited_block = nil
    self.signal_connect('edited') do |ren, path, text|
      next unless iter = @view.model.get_iter(path)
      if @validate_block.call(text, @model_sym, @view.vr_row(iter), @view)
        iter[@model_col] = DateTime.strptime(text, @date_format)
        @edited_callback.call(@model_sym, @view.vr_row(iter)) if @edited_callback
      end
    end
end

Instance Attribute Details

#columnObject

Returns the value of attribute column.



16
17
18
# File 'lib/treeview/columns/CellRendererPhone.rb', line 16

def column
  @column
end

#edited_callbackObject

Returns the value of attribute edited_callback.



16
17
18
# File 'lib/treeview/columns/CellRendererPhone.rb', line 16

def edited_callback
  @edited_callback
end

#model_colObject

Returns the value of attribute model_col.



16
17
18
# File 'lib/treeview/columns/CellRendererPhone.rb', line 16

def model_col
  @model_col
end

#model_symObject

Returns the value of attribute model_sym.



16
17
18
# File 'lib/treeview/columns/CellRendererPhone.rb', line 16

def model_sym
  @model_sym
end

#phone_formatObject

Returns the value of attribute phone_format.



16
17
18
# File 'lib/treeview/columns/CellRendererPhone.rb', line 16

def phone_format
  @phone_format
end