00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FXCOMPOSECONTEXT_H
00025 #define FXCOMPOSECONTEXT_H
00026
00027 #ifndef FXID_H
00028 #include "FXId.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00034 class FXApp;
00035 class FXWindow;
00036
00037
00042 class FXAPI FXComposeContext : public FXId {
00043 FXDECLARE(FXComposeContext)
00044 protected:
00045 FXWindow *window;
00046 FXSelector message;
00047 private:
00048 #ifndef WIN32
00049 static int editStartCallback(void*,FXComposeContext*,void*);
00050 static void editDoneCallback(void*,FXComposeContext*,void*);
00051 static void editDrawCallback(void*,FXComposeContext*,void*);
00052 static void editCaretCallback(void*,FXComposeContext*,void*);
00053 static void statusStartCallback(void*,FXComposeContext*,void*);
00054 static void statusDoneCallback(void*,FXComposeContext*,void*);
00055 static void statusDrawCallback(void*,FXComposeContext*,void*);
00056 #endif
00057 protected:
00058 FXComposeContext();
00059 private:
00060 FXComposeContext(const FXComposeContext&);
00061 FXComposeContext &operator=(const FXComposeContext&);
00062 public:
00063
00065 FXComposeContext(FXApp* a,FXWindow* win=NULL,FXSelector sel=0);
00066
00068 virtual void create();
00069
00071 virtual void destroy();
00072
00074 void focusIn();
00075
00077 void focusOut();
00078
00080 void setSpot(FXint x,FXint y);
00081
00083 void setArea(FXint x,FXint y,FXint w,FXint h);
00084
00086 FXString translateEvent(FXRawEvent& event);
00087
00089 virtual ~FXComposeContext();
00090 };
00091
00092 }
00093
00094 #endif