Class: VR::CellRendererDate
- Inherits:
-
Gtk::CellRendererText
- Object
- Gtk::CellRendererText
- VR::CellRendererDate
- 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
-
#column ⇒ Object
Returns the value of attribute column.
-
#date_format ⇒ Object
Returns the value of attribute date_format.
-
#edited_callback ⇒ Object
Returns the value of attribute edited_callback.
-
#model_col ⇒ Object
Returns the value of attribute model_col.
-
#model_sym ⇒ Object
Returns the value of attribute model_sym.
Instance Method Summary collapse
-
#initialize(model_col, column, view, model_sym) ⇒ CellRendererDate
constructor
:nodoc:.
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
#column ⇒ Object
Returns the value of attribute column.
16 17 18 |
# File 'lib/treeview/columns/CellRendererDate.rb', line 16 def column @column end |
#date_format ⇒ Object
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_callback ⇒ Object
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_col ⇒ Object
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_sym ⇒ Object
Returns the value of attribute model_sym.
16 17 18 |
# File 'lib/treeview/columns/CellRendererDate.rb', line 16 def model_sym @model_sym end |