Virtual Testbed
Ship dynamics simulator for extreme conditions
EntityDialog.hh
1 #ifndef VTESTBED_GUI_ENTITYDIALOG_HH
2 #define VTESTBED_GUI_ENTITYDIALOG_HH
3 
4 #include <functional>
5 
6 #include <vtestbed/gui/FileDialog.hh>
7 #include <vtestbed/gui/TaskDialog.hh>
8 
9 namespace vtb {
10 
11  namespace gui {
12 
13  class EntityDialog {
14 
15  public:
17  using reset_function = std::function<void()>;
18 
19  private:
20  FileDialog _fileDialog;
21  TaskDialog _taskDialog;
22  import_function _import;
23  reset_function _reset;
24 
25  public:
26 
27  EntityDialog();
28 
29  void list();
30  void import_original();
31  bool draw();
32 
33  inline void
34  import(import_function func) {
35  this->_import = func;
36  }
37 
38  inline void
39  import_original(reset_function func) {
40  this->_reset = func;
41  }
42 
43  inline FileDialog* files() { return &this->_fileDialog; }
44 
45  };
46 
47  }
48 
49 }
50 
51 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9