I think that you shall call Gtk::Dialog::response(), i.e. simulate that
the user has pressed a response button in the dialog box.
Kjell
2014-04-15 09:20, mike lear skrev:
Hello All,
I am using gtkmm messagedialog windows in a project that I
am writing. My problem relates to using a timeout function
with the dialogs. I am using a signal handler to provide a
visual 10 second countdown of the message window. The timer
works fine and displays the countdown in the dialog message
window. But when it reaches it's timeout of 0 seconds. I am
unable to get the dialog window to hide. The only way I can
hide the window is by using the exit(0); command in place of
the return false; command. Below is the section of code in
question. I am using the boost library to provide shared
pointers and lexical casts in this function.
bool funkeys::on_timeout(int seconds) { // seconds = 10
shared_ptr<string> timer(new string);
shared_ptr<string> timestr(new string("#~#")); // position to
insert seconds
static int i = seconds;
Format fmt; // A class that format strings to contain markup
// Markup & insrepAt part of the Format class
try {
if (i == 0) {
on_button_quit(); // does not work it calls hide()
hide(); // does not hide the dialog window
// return false; // this just disconnect's the timer
exit(0); // this works but its not nice
}
*timer = boost::lexical_cast<string>(i--); // convert int to string
Markup tis(*timer); // tis time in seconds
*timer = Bold(Italic(tis))->dataStr(); // add markup to string
fmt->insrepAt("blue",10.5,*timer,*timestr); // add text colour and
size
Timer.set_text(*timestr); // Timer is the gtk label
Timer.set_markup(*timestr); // timestr is the
markup string
Timer.set_use_markup(true); // containing the
timer seconds
Timer.get_use_markup();
} catch(boost::bad_lexical_cast& e) {
cerr << e.what() << "\nlexical_cast error in function on_timeout\n";
exit(1);
}
return true;
}
Any help or ideas will be most appreciated.
Thanks Mike Lear
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list