33 #include <InterViews/dialog.h>
53 #if defined(__STDC__) || defined(__ANSI_CPP__)
54 #define SymChooserCallback(T) T##_SymChooserCallback
55 #define SymChooserMemberFunction(T) T##_SymChooserMemberFunction
57 #define SymChooserCallback(T) T _SymChooserCallback
58 #define SymChooserMemberFunction(T) T _SymChooserMemberFunction
61 #define declareSymChooserCallback(T) \
62 typedef void (T::*SymChooserMemberFunction(T))(SymChooser*, bool); \
63 class SymChooserCallback(T) \
64 : public SymChooserAction { \
66 SymChooserCallback(T)(T*, SymChooserMemberFunction(T)); \
67 virtual ~SymChooserCallback(T)(); \
69 virtual void execute(SymChooser*, bool accept); \
73 SymChooserMemberFunction(T) func_; \
76 #define implementSymChooserCallback(T) \
77 SymChooserCallback(T)::SymChooserCallback(T)(T * obj, SymChooserMemberFunction(T) func) { \
82 SymChooserCallback(T)::~SymChooserCallback(T)() {} \
84 void SymChooserCallback(T)::execute(SymChooser* f, bool accept) { \
85 (obj_->*func_)(f, accept); \
virtual void execute(SymChooser *, bool accept)
virtual ~SymChooserAction()
virtual void dismiss(bool)
virtual double * selected_var()
virtual const String * selected() const
virtual int selected_vector_count()
SymChooser(SymDirectory *, WidgetKit *, Style *, SymChooserAction *=NULL, int nbrowser=3)