File: datawindow.h

package info (click to toggle)
aoflagger 3.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,000 kB
  • sloc: cpp: 67,891; python: 497; sh: 242; makefile: 22
file content (62 lines) | stat: -rw-r--r-- 1,579 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef GUI_QUALITY__DATA_WINDOW_H
#define GUI_QUALITY__DATA_WINDOW_H

#include <string>

#include <gtkmm/box.h>
#include <gtkmm/combobox.h>
#include <gtkmm/liststore.h>
#include <gtkmm/scrolledwindow.h>
#include <gtkmm/textview.h>
#include <gtkmm/window.h>

class XYPlot;

class DataWindow : public Gtk::Window {
 public:
  DataWindow() {
    _box.append(_comboBox);
    _comboListStore = Gtk::ListStore::create(_comboColumnRecord);
    _comboBox.set_model(_comboListStore);
    _comboBox.pack_start(_comboColumnRecord._comboListNameColumn);
    _comboBox.signal_changed().connect(
        sigc::mem_fun(*this, &DataWindow::onComboChange));
    _comboBox.show();

    _scrolledWindow.set_child(_textView);
    _textView.show();

    _box.append(_scrolledWindow);
    _scrolledWindow.show();

    set_child(_box);
    _box.show();

    set_default_size(300, 400);
  }
  ~DataWindow() {}
  void SetData(const std::string& data) {
    _textView.get_buffer()->set_text(data);
  }
  void SetData(const XYPlot& plot);

 private:
  DataWindow(const DataWindow& dataWindow) = delete;

  void onComboChange();
  void loadData(size_t plotSetIndex);

  class ComboColumnRecord : public Gtk::TreeModel::ColumnRecord {
   public:
    ComboColumnRecord() { add(_comboListNameColumn); }
    Gtk::TreeModelColumn<Glib::ustring> _comboListNameColumn;
  } _comboColumnRecord;
  Gtk::Box _box{Gtk::Orientation::VERTICAL};
  Gtk::ComboBox _comboBox;
  Glib::RefPtr<Gtk::ListStore> _comboListStore;
  Gtk::ScrolledWindow _scrolledWindow;
  Gtk::TextView _textView;
  const XYPlot* _plot;
};

#endif