gtk treeview MVC

http://hi.baidu.com/20065562/item/72d204cf5188f03b449416af

http://www.pygtk.org/pygtk2tutorial/sec-CellRenderers.html

http://www.cnblogs.com/cy163/archive/2007/06/16/785358.html


gtk.TreeStore implements gtk.Buildable gtk.TreeModel


gtk_list_store_append

void gtk_list_store_append (GtkListStore *self,
GtkTreeIter* iter);

Appends a new row to @list_store. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value()


gtk_list_store_set(list_store, &iter,
    column_number_1, value_1,
    column_number_2, value_2,
    ...,
    NULL);
but for filesystem chooser   use proxy  gtk.TreeStore to op gtk filesysytemmodel, cell is not realy a file

 * 
 * Adds an "empty" row at the beginning of the model.  This does not refer to
 * any file, but is a temporary placeholder for a file name that the user will
 * type when a corresponding cell is made editable.  When your code is done
 * using this temporary row, call _gtk_file_system_model_remove_editable().   //when real file create , treemodel notify treeview to update, so we need to rm fake file first
 **/
void
_gtk_file_system_model_add_editable (GtkFileSystemModel *model, GtkTreeIter *iter)
{
  FileModelNode *node;
  GtkTreePath *path;


  g_return_if_fail (!model->has_editable);


  model->has_editable = TRUE;


  node = file_model_node_new (model, NULL);
  node->is_visible = TRUE;


  node->next = model->roots;
  model->roots = node;


  path = gtk_tree_path_new ();
  gtk_tree_path_append_index (path, 0);
  iter->user_data = node;


  gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, iter);


  gtk_tree_path_free (path);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值