class Gtk::TreeStore

Constants

TYPE_MAP

Public Class Methods

new(*types) click to toggle source
# File lib/gtk/tree_store.rb, line 21
def initialize(*types)
  @native = Gtk::Lib.gtk_tree_store_new(
    types.size,
    *self.class.type_mapped_types(*types).map{ |type|
      [:int,type]
    }.flatten
  )
end
type_mapped_types(*types) click to toggle source
# File lib/gtk/tree_store.rb, line 16
def self.type_mapped_types(*types)
  types = types.first if types.size == 1 && types.first.is_a?(Array)
  types.map{ |type| TYPE_MAP[type] }
end

Public Instance Methods

append(parent=nil) click to toggle source
# File lib/gtk/tree_store.rb, line 37
def append parent=nil
  iter = Gtk::TreeIter.new
  Gtk::Lib.gtk_tree_store_append(native,iter,parent)
  iter.owner = self
  iter
end
set_column_types(*types) click to toggle source
# File lib/gtk/tree_store.rb, line 30
def set_column_types *types
  types = self.class.type_mapped_types(*types)
  array = FFI::MemoryPointer.new(:long,types.size)
  array.write_array_of_long(types)
  Lib.gtk_tree_store_set_column_types(@native,types.size,array)
end