class TextViewer;
+extern BaseUI::RequestType NullMessage;
extern BaseUI::RequestType ErrorMessage;
extern BaseUI::RequestType CallSlot;
extern BaseUI::RequestType TouchDisplay;
Transmitter::Channel chn;
void *arg;
const char *msg2;
+
+ UIRequest () {
+ type = NullMessage;
+ }
~UIRequest () {
if (type == ErrorMessage && msg) {
void run (Receiver &old_receiver);
void set_state (Gtk::Widget *w, Gtk::StateType state);
- void popup_error (const char *text);
+ void popup_error (const std::string& text);
void flush_pending ();
void toggle_errors ();
+ void show_errors ();
void touch_display (Touchable *);
- void set_tip (Gtk::Widget *w, const gchar *tip, const gchar *hlp);
+ void set_tip (Gtk::Widget &w, const gchar *tip);
+ void set_tip (Gtk::Widget &w, const std::string &tip);
+ void set_tip (Gtk::Widget *w, const gchar *tip, const gchar *hlp="");
void idle_add (int (*func)(void *), void *arg);
Gtk::Main& main() const { return *theMain; }
Glib::signal_idle().connect (bind (slot (&UI::idle_delete<T>), obj));
}
+ template<class T> void delete_in_self (T *obj) {
+ call_slot (boost::bind (&UI::delete_in_self, this, obj));
+ }
+
Gdk::Color get_color (const std::string& prompt, bool& picked, const Gdk::Color *initial = 0);
/* starting is sent just before we enter the main loop,