To Kjell,
Re Gtk::Dialog::response(int);
Ok, I will give that a try. I will let you know how I get on in due course.
Thanks Mike
On Tuesday, 15 April 2014, 9:19, Kjell Ahlstedt <kjell.ahlst...@bredband.net>
wrote:
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