//!
//! \addtogroup linuxui Linux UI
//! @{
//! 

#ifndef _OUTPUT_BOX_H_
#define _OUTPUT_BOX_H_

#include "MGGladeXML.h"
#include "listmodel_wrapper.h"
#include <gtkmm/scrolledwindow.h>
#include <gtkmm/treeview.h>
#include <gtkmm/textview.h>
#include <gtkmm/notebook.h>

#include "grt/grt_message_list.h"

class OutputBox : public Gtk::Notebook
{
  Gtk::ScrolledWindow _output_swin;
  Gtk::TextView _output_text;

  bec::MessageListBE *_message_be;
  Gtk::ScrolledWindow _message_swin;
  Gtk::TreeView _message_tree;
  
  Glib::RefPtr<ListModelWrapper> _message_model;
  bool process_event_button(GdkEventButton* ev);

public:
  OutputBox(bec::GRTManager *grtm);

  bec::MessageListBE *get_be() { return _message_be; }
  
  void add_output(const std::string &text);

  void refresh();
};


#endif /* _OUTPUT_BOX_H_ */

//!                                                                                                                                     
//! @}                                                                                                                                  
//!
