Treeview セル内に編集可能な ComboBoxes と Spin Entries を統合したいと考えています (Linux Cent OS 6.4 x86_64 で Glade 3.6.7 と GTK+ 2.18.9 を使用し、Eclipse 3.6.1 でコーディングしています)。
コンボボックスについては、表示できませんでした。
スピン エントリについては、それらを表示して値を変更できますが、セルを終了すると保存されません。私がしたことは次のとおりです。
コンボ ボックスの場合: - ツリービューの列と行を追加し、コンボ ボックスを配置する列にコンボ セルレンダラーを割り当てます。-コンボボックスモデルを作成し、定義された列に割り当てます(「モデル」および「テキスト」プロパティを変更しました)
スピン エントリの場合: - ツリービューの列と行を追加し、スピン エントリを配置する列にスピン セルレンダラーを割り当てます。-調整を作成し、定義された列に割り当てます(「調整」および「テキスト」プロパティを変更しました)
そして、ここに私が使用したコードがあります:
void on_addTreeRowButton_clicked (GtkButton *button, gpointer user_data)
{
addTreeEntry(NULL, NULL);
}
void addTreeviewEntry(gchararray comboBoxValue, guint spinEntryValue)
{
GtkListStore *liststore;
GtkTreeIter iter;
//GtkComboBox *MsgTypeComboBox;
liststore = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)));
gtk_list_store_append(liststore, &iter);
gtk_list_store_set (liststore, &iter,
0, comboBoxValue,
1, spinEntryValue,
-1);
}