00001 #ifndef _MAINWINDOW_H 00002 #define _MAINWINDOW_H 00003 00004 #include <gtkmm.h> 00005 #include "AbstractMotionReceiver.h" 00006 #include "ClassificationChain.h" 00007 #include "util/ConfigManager.h" 00008 00011 class MainWindow : public Gtk::Window 00012 { 00013 public: 00015 MainWindow(ConfigManager *cfgManager); 00016 00018 virtual ~MainWindow(); 00019 00021 void connect(); 00022 00023 private: 00024 virtual void onNotebookSwitchPage(GtkNotebookPage* page, guint page_num); 00025 00026 int m_pageNum; 00027 AbstractMotionReceiver *m_motionReceiver; 00028 ClassificationChain *m_classificationChain; 00029 Glib::Thread *m_receiverThread; 00030 00031 Gtk::Button m_btnQuit, m_btnConnect; 00032 Gtk::Entry m_entWiimoteAddr; 00033 Gtk::Label m_lblWiiuse, m_lblCwiid, m_lblRandomMotion; 00034 Gtk::VBox m_boxWiiuse, m_boxCwiid, m_boxRandomMotion, m_boxMain; 00035 Gtk::HBox m_boxButtons; 00036 Gtk::Notebook m_notebook; 00037 00038 ConfigManager *m_cfgManager; 00039 00040 }; 00041 00042 #endif