The code is below, and it currently looks like this:
CellRendererCombo
looks like a CellRendererText
, and I have to double-click it to show the drop-down list. Is it possible to show drop-down button always, like this?Source code
st = new Gtk.TreeStore(typeof(string), typeof(int), typeof(string));
st.AppendValues("Homer", 38, "male");
st.AppendValues("Marge", 34, "female");
MyTree.Model = st;
var r1 = new Gtk.CellRendererText();
var r2 = new Gtk.CellRendererText();
var r3 = new Gtk.CellRendererCombo();
var genders = new Gtk.ListStore(typeof(string));
genders.AppendValues("male");
genders.AppendValues("female");
r3.Model = genders;
r3.TextColumn = 0;
r3.Editable = true;
MyTree.Columns[0].PackStart(r1, false);
MyTree.Columns[1].PackStart(r2, false);
MyTree.Columns[2].PackStart(r3, false);
MyTree.Columns[0].AddAttribute(r1, "text", 0);
MyTree.Columns[1].AddAttribute(r2, "text", 1);
MyTree.Columns[2].AddAttribute(r3, "text", 2);
You want to set the has-entry property to False
.
This will result in something like (I'm not good at C#):
var r3 = new Gtk.CellRendererCombo();
r3.SetHasEntry(false); // or if that fails, use
r3.SetProperty('has-entry', false);