passthrough.h
00001
00002
00003
00004
00005
00006 #ifndef PASSTHROUGH_H
00007 #define PASSTHROUGH_H
00008
00009 #include "container.h"
00010
00011 namespace cwidget
00012 {
00013 namespace widgets
00014 {
00015 class passthrough:public container
00016 {
00017 void gained_focus();
00018 void lost_focus();
00019
00020 protected:
00021 virtual bool handle_key(const config::key &k);
00022
00023
00024
00025
00026
00027 void defocus();
00028 void refocus();
00029
00030 protected:
00031 passthrough();
00032
00033 public:
00034
00035 virtual widget_ref get_focus()=0;
00036
00037 widget_ref get_active_widget();
00038
00039 virtual void dispatch_mouse(short id, int x, int y, int z, mmask_t bstate);
00040
00041 virtual bool focus_me();
00042 virtual bool get_cursorvisible();
00043 virtual point get_cursorloc();
00044 };
00045
00046 typedef util::ref_ptr<passthrough> passthrough_ref;
00047 }
00048 }
00049
00050 #endif