CEBL  2.1
TabDecision.hpp
Go to the documentation of this file.
1 /*
2 * CEBL : CSU EEG Brain-Computer Interface Lab
3 *
4 * Author: Jeshua Bratman - jeshuabratman@gmail.com
5 *
6 * This file is part of CEBL.
7 *
8 * CEBL is free software; you can redistribute it and/or modify it.
9 * We only ask that if you use our code that you cite the source in
10 * your project or publication.
11 *
12 * EEG Group (www.cs.colostate.edu/eeg)
13 * Department of Computer Science
14 * Colorado State University
15 *
16 */
17 
26 #ifndef TABDECISION_H
27 #define TABDECISION_H
28 
29 #include "Tab.hpp"
30 #include "WidgetPanel.hpp"
31 
32 
33 class TabDecision : public Tab
34 {
35 private:
36 
37  private:
38  GtkWidget *combo_decision,
39  *panel_container,
40  *panel_box,
41  *hbox_decision;
42 
43 
44  //decision
45  WidgetPanel *panel;
46  std::vector<string> decision_names;
47  string selected_decision;
48  bool updating_view;
49  int num_decision;
50 
51 
52  //CALLBACKS
53  static void CB_ChangeDecision(GtkWidget *, gpointer);
54 
55 protected:
57  void CreateGUI();
58 
59 public:
60 
61  //Constructors / Destructors
62  TabDecision(string title, GtkWidget* notebook, CEBLViewGTK * view) : Tab(title,notebook,view) { CreateGUI(); }
63  ~TabDecision();
64 
65  //update the view
66  void updateView();
67  //update model
68  void updateModel();
69  //update decision when hidden
70  void onHide();
71 };
72 
73 
74 #endif
75 
76 
77