1 // Gmsh - Copyright (C) 1997-2021 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 
6 #ifndef FIELD_WINDOW_H
7 #define FIELD_WINDOW_H
8 
9 #include <list>
10 #include <FL/Fl.H>
11 #include <FL/Fl_Window.H>
12 #include <FL/Fl_Hold_Browser.H>
13 #include <FL/Fl_Help_View.H>
14 #include <FL/Fl_Widget.H>
15 #include <FL/Fl_Button.H>
16 #include <FL/Fl_Group.H>
17 #include <FL/Fl_Scroll.H>
18 #include <FL/Fl_Box.H>
19 #include <FL/Fl_Menu_Button.H>
20 
21 class Field;
22 
23 class fieldWindow {
24 private:
25   int _deltaFontSize;
26 
27 public:
28   Fl_Window *win;
29   Fl_Hold_Browser *browser;
30   std::list<Fl_Widget *> options_widget;
31   Fl_Scroll *options_scroll;
32   Fl_Group *editor_group;
33   Fl_Box *title, *empty_message;
34   Fl_Button *background_btn;
35   Fl_Menu_Button *put_on_view_btn;
36   Fl_Help_View *help_display;
37   Fl_Button *delete_btn;
38   int selected_id;
39 
40 public:
41   fieldWindow(int deltaFontSize = 0);
~fieldWindow()42   ~fieldWindow() { Fl::delete_widget(win); }
43   void loadFieldViewList();
44   void loadFieldList();
45   void saveFieldOptions();
46   void loadFieldOptions();
47   void editField(Field *f);
48 };
49 
50 void field_cb(Fl_Widget *w, void *data);
51 
52 #endif
53