Class: PPCurses::DatePicker
- Inherits:
-
View
- Object
- Responder
- ResponderManager
- View
- PPCurses::DatePicker
- Defined in:
- lib/ppcurses/form/date_picker.rb
Overview
Ruby date objects are immutable
09-15-1950 05-04-2015 = May 4th 2015
Constant Summary collapse
- DOWN_ARROW =
'∇'
Instance Attribute Summary collapse
-
#date ⇒ Object
Returns the value of attribute date.
-
#selected ⇒ Object
Does the element have focus in the form?.
Attributes inherited from View
Attributes inherited from ResponderManager
Attributes inherited from Responder
Instance Method Summary collapse
- #clear ⇒ Object
- #height ⇒ Object
-
#initialize(label, initial_date = Date.today) ⇒ DatePicker
constructor
A new instance of DatePicker.
- #key_down(key) ⇒ Object
-
#object_value_of_selected_item ⇒ Object
Return Value The object in the receiver’s internal item list corresponding to the last item selected from the pop-up list, or nil if no item is selected.
- #set_curs_pos(screen) ⇒ Object
- #show(screen) ⇒ Object
Methods inherited from View
#display, #setFrameOrigin, #setFrameSize
Methods inherited from ResponderManager
#accepts_first_responder, #make_first_responder
Methods inherited from Responder
#accepts_first_responder, #become_first_responder, isa, #resign_first_responder
Constructor Details
#initialize(label, initial_date = Date.today) ⇒ DatePicker
Returns a new instance of DatePicker.
18 19 20 21 22 |
# File 'lib/ppcurses/form/date_picker.rb', line 18 def initialize(label, initial_date = Date.today) @label = label @display_width = 13 @date = initial_date end |
Instance Attribute Details
#date ⇒ Object
Returns the value of attribute date.
16 17 18 |
# File 'lib/ppcurses/form/date_picker.rb', line 16 def date @date end |
#selected ⇒ Object
Does the element have focus in the form?
15 16 17 |
# File 'lib/ppcurses/form/date_picker.rb', line 15 def selected @selected end |
Instance Method Details
#clear ⇒ Object
76 77 78 79 80 81 |
# File 'lib/ppcurses/form/date_picker.rb', line 76 def clear @date = Date.today if .nil? == false .day = @date end end |
#height ⇒ Object
36 37 38 |
# File 'lib/ppcurses/form/date_picker.rb', line 36 def height 1 end |
#key_down(key) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/ppcurses/form/date_picker.rb', line 55 def key_down(key) if key == ENTER if .nil? = PPCurses::DateMenu.new(@date) end .set_origin(@combo_display_point) .show . if .pressed_enter @date = .day end end end |
#object_value_of_selected_item ⇒ Object
Return Value The object in the receiver’s internal item list corresponding to the last item selected from the pop-up list, or nil if no item is selected.
47 48 49 50 51 52 53 |
# File 'lib/ppcurses/form/date_picker.rb', line 47 def object_value_of_selected_item if .nil? return nil end [.selection] end |
#set_curs_pos(screen) ⇒ Object
40 41 42 |
# File 'lib/ppcurses/form/date_picker.rb', line 40 def set_curs_pos(screen) screen.curs_set(INVISIBLE) end |
#show(screen) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ppcurses/form/date_picker.rb', line 25 def show(screen) screen.attron(A_REVERSE) if @selected screen.addstr("#{@label}:") @combo_display_point = screen.cur_point screen.attroff(A_REVERSE) if @selected screen.addstr(display_string) end |