У меня есть GtkListStore с двумя полями скрин из Glade.
одно gchararray - G_TYPE_STRING а другое - G_TYPE_INT
Этот GtkListStore связан с GtkTreeView скрин из Glade
Вопрос в следующем: каким образом можно организовать вывод альтернативного значения в втором объекте отображения cellrenderertextValue. Т.е. есть флаг chkbutValueFlag - это обычный GtkCheckButton. И при добалвении новой строки (событие on_butAdd_clicked) я смотрю на него. Если он установлен - я добавляю и 0 и 1 столбец в GtkListStore, если не установлен, то добавляю только 0 столбец GtkListStore, т.е. столбец 1 по сути пустой, но при этом в GtkTreeView отображается 0. А я хочу например вывести тест туда: «нет значения». Как это можно реализовать? Есть вариант конечно сделать второе поле не G_TYPE_INT, а так же G_TYPE_STRING и делать преобразования типов, но это не очень здорово.
void on_butAdd_clicked(GtkWidget *button, gpointer data)
{
MainWindowObjects* mwo = (MainWindowObjects*)data;
GtkTreeIter iter;
gtk_list_store_append(GTK_LIST_STORE( mwo->liststoreValues ), &iter);
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON(mwo->chkbutValueFlag ) ) )
{
gtk_list_store_set(GTK_LIST_STORE( mwo->liststoreValues ), &iter, NAME, gtk_entry_get_text(mwo->entryName),
VALUE, static_cast<int>( gtk_adjustment_get_value(mwo->adjValue) ),
-1 );
}
else
{
gtk_list_store_set(GTK_LIST_STORE( mwo->liststoreValues ), &iter, NAME, gtk_entry_get_text(mwo->entryName), -1 );
}
}