31 #include <InterViews/input.h>
35 class FieldSEditorImpl;
50 #if defined(__STDC__) || defined(__ANSI_CPP__)
51 #define __FieldSEditorCallback(T) T##_FieldSEditorCallback
52 #define FieldSEditorCallback(T) __FieldSEditorCallback(T)
53 #define __FieldSEditorMemberFunction(T) T##_FieldSEditorMemberFunction
54 #define FieldSEditorMemberFunction(T) __FieldSEditorMemberFunction(T)
56 #define __FieldSEditorCallback(T) T _FieldSEditorCallback
57 #define FieldSEditorCallback(T) __FieldSEditorCallback(T)
58 #define __FieldSEditorMemberFunction(T) T _FieldSEditorMemberFunction
59 #define FieldSEditorMemberFunction(T) __FieldSEditorMemberFunction(T)
62 #define declareFieldSEditorCallback(T) \
63 typedef void (T::*FieldSEditorMemberFunction(T))(FieldSEditor*); \
64 class FieldSEditorCallback(T) \
65 : public FieldSEditorAction { \
67 FieldSEditorCallback( \
68 T)(T*, FieldSEditorMemberFunction(T) accept, FieldSEditorMemberFunction(T) cancel); \
69 virtual ~FieldSEditorCallback(T)(); \
71 virtual void accept(FieldSEditor*); \
72 virtual void cancel(FieldSEditor*); \
76 FieldSEditorMemberFunction(T) accept_; \
77 FieldSEditorMemberFunction(T) cancel_; \
80 #define implementFieldSEditorCallback(T) \
81 FieldSEditorCallback(T)::FieldSEditorCallback( \
82 T)(T * obj, FieldSEditorMemberFunction(T) accept, FieldSEditorMemberFunction(T) cancel) { \
88 FieldSEditorCallback(T)::~FieldSEditorCallback(T)() {} \
90 void FieldSEditorCallback(T)::accept(FieldSEditor* f) { \
91 (obj_->*accept_)(f); \
93 void FieldSEditorCallback(T)::cancel(FieldSEditor* f) { \
94 (obj_->*cancel_)(f); \
115 virtual void select(
int left,
int right);
120 virtual void edit(
const char*,
int left,
int right);
121 virtual void edit(
const String&,
int left,
int right);
123 virtual const String*
text()
const;
virtual void cancel(FieldSEditor *)
virtual ~FieldSEditorAction()
virtual void accept(FieldSEditor *)
virtual void field(const String &)
virtual void release(const Event &)
virtual void edit(const char *, int left, int right)
virtual const String * text() const
virtual void selection(int &start, int &index) const
virtual void press(const Event &)
virtual void select(int pos)
virtual void keystroke(const Event &)
virtual void drag(const Event &)
virtual void select(int left, int right)
virtual InputHandler * focus_in()
virtual void edit(const String &, int left, int right)
FieldSEditor(const String &sample, WidgetKit *, Style *, FieldSEditorAction *=NULL)
virtual void field(const char *)