У меня следующая проблема: я создал программу, которая запрашивает у пользователя ввод данных.Это делается с использованием производного Gtk::Dialog
, которое используется следующим образом:
if (modal_dialog->run() == SUCCESS){
// do stuff depending on modal_dialog inputs here
}
Теперь я хотел бы заменить диалог встроенным виджетом, который отображается в моем главном окне, но действует так же, как моймодальный диалог.Это означает, что я хотел бы иметь возможность вызывать что-то вроде:
if (modal_widget->run == SUCSESS){
// hide modal widget and do stuff
}
Это легко возможно в C ++ / gtkmm?
Примечание: Мне удалось получитьжелаемое поведение (то же самое для конечного пользователя) с использованием переменных состояния и т. д. Это означает, что я вручную show
виджет wannabe-modal и говорю кнопке подтверждения в виджете wannabe-modal выполнить остальную частьрутина (совокупность вышеприведенных if
-общений).Тем не менее, я использую один и тот же виджет-подражатель для разных действий, так что я всегда должен следить за тем, что я делаю, что не очень элегантно.