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