ardour
Namespaces | Macros | Functions
gui_thread.h File Reference
#include <cstdlib>
#include <gtkmm2ext/gtk_ui.h>
#include <boost/bind.hpp>
#include <boost/bind/protect.hpp>
#include "gtkmm2ext/visibility.h"

Go to the source code of this file.

Namespaces

 sigc
 

Macros

#define ENSURE_GUI_THREAD(obj, method,...)   if (!Gtkmm2ext::UI::instance()->caller_is_self()) { abort (); }
 
#define gui_context()   Gtkmm2ext::UI::instance() /* a UICallback-derived object that specifies the event loop for GUI signal handling */
 
#define ui_bind(f,...)   boost::protect (boost::bind (f, __VA_ARGS__))
 
#define invalidator(x)   __invalidator ((x), __FILE__, __LINE__)
 

Functions

LIBGTKMM2EXT_API
PBD::EventLoop::InvalidationRecord
__invalidator (sigc::trackable &trackable, const char *, int)
 

Macro Definition Documentation

#define ENSURE_GUI_THREAD (   obj,
  method,
  ... 
)    if (!Gtkmm2ext::UI::instance()->caller_is_self()) { abort (); }

Definition at line 34 of file gui_thread.h.

#define gui_context ( )    Gtkmm2ext::UI::instance() /* a UICallback-derived object that specifies the event loop for GUI signal handling */

Definition at line 36 of file gui_thread.h.

#define invalidator (   x)    __invalidator ((x), __FILE__, __LINE__)

Definition at line 40 of file gui_thread.h.

#define ui_bind (   f,
  ... 
)    boost::protect (boost::bind (f, __VA_ARGS__))

Definition at line 37 of file gui_thread.h.

Function Documentation

LIBGTKMM2EXT_API PBD::EventLoop::InvalidationRecord* __invalidator ( sigc::trackable &  trackable,
const char *  file,
int  line 
)

Create a PBD::EventLoop::InvalidationRecord and attach a callback to a given sigc::trackable so that PBD::EventLoop::invalidate_request is called when that trackable is destroyed.

Definition at line 424 of file gtk_ui.cc.