Exemplo n.º 1
0
func (s *FilesTreeStore) AddEntry(c tr.Cursor, sym tr.Symbol, text string, data tr.TreeElementIf, prop tr.Property) (err error) {
	var icon *gdk.Pixbuf
	if prop.IsReadOnly() {
		icon = readonlyPixbuf(sym)
	} else {
		icon = normalPixbuf(sym)
	}
	iter, err := s.treestore.GetIterFromString(c.Path)
	if err != nil {
		log.Fatal("FilesTreeStore.AddEntry: gtk.GetIterFromString failed: %s", err)
	}
	if err != nil {
		err = gtkErr("FilesTreeStore.addEntry", "GetPath", err)
		return
	}
	s.lookup[c.Path] = Element{prop, data}
	err = s.treestore.SetValue(iter, iconCol, icon)
	if err != nil {
		err = gtkErr("FilesTreeStore.addEntry", "SetValue(iconCol)", err)
		return
	}
	err = s.treestore.SetValue(iter, textCol, text)
	if err != nil {
		err = gtkErr("FilesTreeStore.addEntry", "SetValue(textCol)", err)
		return
	}
	return nil
}