2010-03-01 24 views
2

我有一個TreeModel代表Tag s樹。每個Tag有這些 特性,其中包括:在Gtk中,如何在具有多個CellRenderer的TreeViewColumn中創建CellRendererToggle時,只有在複選框本身被點擊後纔會被切換?

string Name 
bool Active 
Tag Parent 
TagList Children //basically just a List<Tag> 

TreeView的一列,有兩個CellRenderer s是 CellRendererToggleActive,併爲Name一個CellRendererText。我想 他們在同一列,因爲多個列變得混亂,因爲你 得到落後於TreeView後裔。

我的問題是,當我點擊該列中的任何地方時, CellRendererToggle被切換。這是有問題的,因爲我想 做像拖動標籤,並重命名它們內聯。有沒有 任何方式使CellRendererToggle只有得到切換時,我點擊 複選框本身,而沒有將其移動到一個單獨的列?

回答

3

您需要設置CellRendererModeActivatable

renderer.Mode = CellRendererMode.Activatable; 

如果渲染器沒有激活,但在列另一個渲染器,GTK傳遞點擊該渲染器。將非切換渲染器也設置爲可激活,這樣可以防止它們傳遞點擊。

相關問題