Class: VR::CellRendererDate

Inherits:
Gtk::CellRendererText
  • Object
show all
Defined in:
lib/treeview/columns/CellRendererDate.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) ⇒ CellRendererDate

: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/CellRendererDate.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] }
	@date_format = "%m-%d-%Y"
		@validate_block = Proc.new { |text, model_sym, row, view| 
		begin
			Date.strptime(text, @date_format)
			true
		rescue
			VR.msg("Unrecognized date format:  " + 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/CellRendererDate.rb', line 16

def column
  @column
end

#date_formatObject

Returns the value of attribute date_format.



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

def date_format
  @date_format
end

#edited_callbackObject

Returns the value of attribute edited_callback.



16
17
18
# File 'lib/treeview/columns/CellRendererDate.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/CellRendererDate.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/CellRendererDate.rb', line 16

def model_sym
  @model_sym
end