00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef esve_viewers_dimn_Simple_Viewer_hxx
00035 #define esve_viewers_dimn_Simple_Viewer_hxx
00036
00037 #include <esve/viewers/dimn/Minimal_Viewer.hxx>
00038 #include <esve/components/dimn/Valuator_Handler.hxx>
00039 #include <esve/components/dimn/Simple_UI.hxx>
00040 #include <esve/ui/extra/Toggle_Handler.hxx>
00041 #include <esve/ui/extra/File_Selector_Handler.hxx>
00042 #include <esve/ui/base/Keyboard_Handler.hxx>
00043 #include <esve/ui/base/Mouse_Handler.hxx>
00044 #include <esve/types/quat.hxx>
00045 #include <esve/types/pure.hxx>
00046 #include <esve/types/complex.hxx>
00047 #include <esve/types/Constants.hxx>
00048 #include <string>
00049
00050 namespace esve { namespace viewers { namespace dimn {
00051
00056
00057 class Simple_Viewer
00058 : virtual protected Minimal_Viewer,
00059 virtual protected components::dimn::Simple_UI,
00060 virtual protected types::Constants,
00061 protected components::dimn::Valuator_Handler<types::real>,
00062 protected components::dimn::Valuator_Handler<types::complex>,
00063 protected components::dimn::Valuator_Handler<types::pure>,
00064 protected components::dimn::Valuator_Handler<types::quat>,
00065 protected ui::extra::Toggle_Handler,
00066 protected ui::extra::File_Selector_Handler,
00067 protected ui::base::Keyboard_Handler,
00068 protected ui::base::Mouse_Handler
00069 {
00070 public:
00073 typedef types::real real ;
00074
00077 typedef types::complex complex ;
00078
00081 typedef types::pure pure ;
00082
00085 typedef types::quat quat ;
00086
00089 typedef components::dimn::Valuator<real> Valuator ;
00090
00093 typedef components::dimn::Valuator<complex> Complex_Valuator ;
00094
00097 typedef components::dimn::Valuator<pure> Pure_Valuator ;
00098
00101 typedef components::dimn::Valuator<quat> Quat_Valuator ;
00102
00104 virtual const std::string & help_text() const = 0 ;
00105
00107 virtual void initialize() = 0 ;
00108
00109
00110 bool handle_key_push( Key, const Keyboard & ) ;
00111 bool handle_key_release( Key, const Keyboard & ) ;
00112 bool handle_mouse_move( const Mouse & ) ;
00113 bool handle_mouse_push( Button, const Mouse & ) ;
00114 bool handle_mouse_release( Button, const Mouse & ) ;
00115 bool handle_toggle( const Toggle & ) ;
00116 bool handle_file_selector( const File_Selector & ) ;
00117 bool handle_valuator( const Valuator & ) ;
00118 bool handle_valuator( const Complex_Valuator & ) ;
00119 bool handle_valuator( const Pure_Valuator & ) ;
00120 bool handle_valuator( const Quat_Valuator & ) ;
00121
00122 virtual ~Simple_Viewer() = 0 ;
00123
00124 protected:
00125 Simple_Viewer() ;
00126
00127 private:
00128 Simple_Viewer( const Simple_Viewer & ) ;
00129 Simple_Viewer & operator=( const Simple_Viewer & ) ;
00130 } ;
00131
00132 }}}
00133
00134 #endif