core/vgui/impl/wx/vgui_wx_statusbar.h
Go to the documentation of this file.
00001 // This is core/vgui/impl/wx/vgui_wx_statusbar.h
00002 #ifndef vgui_wx_statusbar_h_
00003 #define vgui_wx_statusbar_h_
00004 //=========================================================================
00005 //:
00006 // \file
00007 // \brief  wxWidgets implementation of vgui_statusbar.
00008 // \author Miguel A. Figueroa-Villanueva (miguelfv)
00009 //
00010 // \verbatim
00011 //  Modifications
00012 //   04/18/2006 - File created. (miguelfv)
00013 // \endverbatim
00014 //=========================================================================
00015 
00016 #include <vgui/vgui_statusbuf.h>
00017 #include <vgui/vgui_statusbar.h>
00018 
00019 class wxStatusBar;
00020 
00021 #include <vcl_string.h>
00022 
00023 //-------------------------------------------------------------------------
00024 //: wxWidgets implementation of vgui_statusbar.
00025 //
00026 // This class allows vgui to post messages to the native GUI's statusbar,
00027 // if available.
00028 //-------------------------------------------------------------------------
00029 class vgui_wx_statusbar : public vgui_statusbar
00030 {
00031 public:
00032   //: Constructor, creates a wxWidgets status bar and displays it.
00033   vgui_wx_statusbar();
00034 
00035   //: Destructor.
00036   virtual ~vgui_wx_statusbar();
00037 
00038   //: Append given text (of given length) to the status bar.
00039   int write(const char* text, int n);
00040 
00041   //: Append given text to the status bar.
00042   int write(const char* text);
00043 
00044   vgui_statusbuf* statusbuf(void) const { return statusbuf_; }
00045 
00046   void set_widget(wxStatusBar* widget) { widget_ = widget; }
00047 
00048 private:
00049   wxStatusBar*     widget_;
00050 
00051   vgui_statusbuf*  statusbuf_;
00052   vcl_string       linebuffer_;
00053 };
00054 
00055 #endif // vgui_wx_statusbar_h_