00001 // This is core/vgui/vgui_wrapper_tableau.cxx 00002 #include "vgui_wrapper_tableau.h" 00003 //: 00004 // \file 00005 // \author fsm 00006 // \brief See vgui_wrapper_tableau.h for a description of this file. 00007 00008 #include <vcl_iostream.h> 00009 #include <vgui/vgui_event.h> 00010 00011 //-------------------------------------------------------------------------------- 00012 00013 vgui_wrapper_tableau::vgui_wrapper_tableau() 00014 : child(this) 00015 { 00016 } 00017 00018 vgui_wrapper_tableau::vgui_wrapper_tableau(vgui_tableau_sptr const&n) 00019 : child(this, n) 00020 { 00021 } 00022 00023 vgui_wrapper_tableau::~vgui_wrapper_tableau() 00024 { 00025 } 00026 00027 vcl_string vgui_wrapper_tableau::type_name() const 00028 { 00029 return "vgui_wrapper_tableau"; 00030 } 00031 00032 vcl_string vgui_wrapper_tableau::pretty_name() const 00033 { 00034 return child ? vcl_string(type_name() + "[" + child->pretty_name() + "]") : vcl_string("(null)"); 00035 } 00036 00037 vcl_string vgui_wrapper_tableau::file_name() const 00038 { 00039 return child ? child->file_name() : vcl_string("(null)"); 00040 } 00041 00042 bool vgui_wrapper_tableau::add_child(vgui_tableau_sptr const& c) 00043 { 00044 if (child) { 00045 vcl_cerr << __FILE__ " cannot add child " << c << "; only one child allowed\n"; 00046 return false; 00047 } 00048 else { 00049 child.assign(c); 00050 return true; 00051 } 00052 } 00053 00054 bool vgui_wrapper_tableau::remove_child(vgui_tableau_sptr const& c) 00055 { 00056 if (child.child() != c) { 00057 vcl_cerr << __FILE__ " no such child : " << c << vcl_endl; 00058 return false; 00059 } 00060 else { 00061 child.assign(0); 00062 return true; 00063 } 00064 } 00065 00066 bool vgui_wrapper_tableau::handle(vgui_event const& e) 00067 { 00068 return child && child->handle(e); 00069 } 00070 00071 bool vgui_wrapper_tableau::get_bounding_box(float low[3], float high[3]) const 00072 { 00073 return child && child->get_bounding_box(low, high); 00074 } 00075 00076 //--------------------------------------------------------------------------------