button.signal_clicked.connect(sigc::bind(sigc::mem_fun(this, &Dialog::response), code));
}
+void Dialog::set_modal(bool m)
+{
+ if(m)
+ {
+ set_focus();
+ if(state&FOCUS)
+ signal_grab_pointer.emit();
+ }
+ else
+ signal_ungrab_pointer.emit();
+}
+
void Dialog::button_release(int x, int y, unsigned button)
{
Panel::button_release(x, y, button);
response handlers and delete the dialog. */
void add_button(Button &, int);
+ /** Sets the modality of the dialog. When modal, the user can't navigate
+ away from the dialog. */
+ void set_modal(bool);
+
virtual void button_release(int, int, unsigned);
virtual bool key_release(unsigned, unsigned);
protected: