CEBL  2.1
DataSourceCombo.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 
18 
27 #ifndef DATASOURCECOMBO_H
28 #define DATASOURCECOMBO_H
29 
30 #include "WidgetUtils.hpp"
31 #include <vector>
32 //forward defs
33 class CEBLViewGTK;
34 
35 
36 
38 {
39  private:
40  CEBLViewGTK * view;
41  //flag to indicate if view is being updated
42  bool updating_view;
43 
44  //combo boxes
45  std::vector<GtkWidget *> combos;
46  std::vector<int> num_sources;
47 
48  //selected source
49  string selected_source;
50 
51  //callbacks
52  static void CB_changeSource(GtkWidget *, gpointer);
53 
54  //udate a combo box from the model
55  void updateComboBox(int index);
56 
57  public:
60 
62  GtkWidget *getCombo();
63 
65  void updateView();
66 
68  string getSelectedSource();
69 };
70 #endif
71