26 #include <sigc++/slot.h>
27 #include <sigc++/trackable.h>
29 #include <glibmm/threads.h>
30 #include <glibmm/main.h>
54 Glib::RefPtr<Glib::MainLoop>
main_loop()
const {
return _main_loop; }
55 bool caller_is_self ()
const {
return _run_loop_thread ? _run_loop_thread->caller_is_self () :
true; }
57 bool ok()
const {
return _ok; }
virtual void handle_ui_requests()=0
static RequestType CallSlot
CrossThreadChannel request_channel
bool request_handler(Glib::IOCondition)
static RequestType new_request_type()
void attach_request_source()
virtual void thread_init()
Glib::RefPtr< Glib::MainLoop > _main_loop
Glib::RefPtr< Glib::MainLoop > main_loop() const
static void set_thread_priority(int p)
void signal_new_request()
PBD::Thread * _run_loop_thread
bool caller_is_self() const
int set_thread_priority() const
virtual void maybe_install_precall_handler(Glib::RefPtr< Glib::MainContext >)
BaseUI(const std::string &name)
Glib::RefPtr< Glib::MainContext > m_context
Glib::Threads::Cond _running
static int _thread_priority
BaseUI * base_ui_instance
Glib::Threads::Mutex _run_lock
GtkImageIconNameData name