# File gtk/sample/gtk-demo/tree_store.rb, line 209
    def add_columns(treeview)
      model = treeview.model

      # column for holiday names
      renderer = Gtk::CellRendererText.new
      renderer.xalign = 0.0

      col_offset = treeview.insert_column(-1, 'Holiday',
                                          renderer,
                                          'text' => HOLIDAY_NAME_COLUMN)
      column = treeview.get_column(col_offset - 1)
      column.clickable = true

      [
        ['Alex',  true ],
        ['Havoc', false],
        ['Tim',   true ],
        ['Owen',  false],
        ['Dave',  false],
      ].each_with_index do |args, i|
        person, european = *args
        renderer = Gtk::CellRendererToggle.new
        renderer.xalign = 0.0
        eval(%Q[def renderer.column; #{ALEX_COLUMN + i}; end])

        renderer.signal_connect('toggled') do |cell, path|
          item_toggled(cell, path, model)
        end

        attributes =  {
          'active' => (ALEX_COLUMN + i),
          'visible' => VISIBLE_COLUMN,
        }
        if european
          attributes['activatable'] = WORLD_COLUMN
        end
        col_offset = treeview.insert_column(-1, person, renderer, attributes)

        column = treeview.get_column(col_offset - 1)
        column.sizing = Gtk::TreeViewColumn::FIXED
        column.fixed_width = 50
        column.clickable = true
      end
    end