Class: Cxxproject::Utils::TaskTable

Inherits:
Table
  • Object
show all
Defined in:
lib/cxxproject/utils/rbcurse_tasktable.rb

Instance Method Summary collapse

Constructor Details

#initialize(rake_gui, form = nil, config = {}, &block) ⇒ TaskTable

Returns a new instance of TaskTable.



4
5
6
7
8
# File 'lib/cxxproject/utils/rbcurse_tasktable.rb', line 4

def initialize(rake_gui, form=nil, config={}, &block)
  super(form, config, &block)
  @rake_gui = rake_gui
  activate_keybindings
end

Instance Method Details

#activate_keybindingsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/cxxproject/utils/rbcurse_tasktable.rb', line 9

def activate_keybindings
  configure do
    bind_key(RakeGui.keycode('r')) do
      @rake_gui.invoke(self)
    end
    bind_key(RakeGui.keycode('d')) do
      @rake_gui.details(self)
    end
    bind_key(RakeGui.keycode('e')) do
      task = get_value_at(focussed_row, 0)
      @rake_gui.start_editor_for_task(task)
    end
    [RakeGui.keycode('p'), KEY_BACKSPACE, 127].each do |code|
      bind_key(code) do
        @rake_gui.pop_data
      end
    end
  end
end

#get_cell_renderer(row, col) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/cxxproject/utils/rbcurse_tasktable.rb', line 29

def get_cell_renderer(row, col)
  renderer = super(row, col)
  content = get_value_at(row, 0)
  if renderer.nil?
    renderer = get_default_cell_renderer_for_class(content.class.to_s) if renderer.nil?
    column = @table_column_model.column(col)
    renderer.display_length column.width if column
  end

  if content && content.failure
    renderer.color('red')
    renderer.bgcolor('black')
  else
    renderer.color('white')
    renderer.bgcolor('black')
  end
  return renderer
end