Marlin  1.17.1
 All Classes Namespaces Functions Variables Enumerations Friends Pages
mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3 
20 #include <QMainWindow>
21 
22 #include "marlin/MarlinSteerCheck.h"
23 
24 class QListWidget;
25 class QTableWidget;
26 class QGroupBox;
27 class QSplitter;
28 class QPushButton;
29 class QTextEdit;
30 class QString;
31 class QActionGroup;
32 
33 using namespace marlin;
34 
35 class MainWindow : public QMainWindow
36 {
37  Q_OBJECT
38 
39 public:
40  MainWindow(const MainWindow&) = default ;
41  MainWindow& operator=(const MainWindow&) = default ;
42  MainWindow();
43 
44  void setMarlinSteerCheck( const char* filename=NULL );
45 
46 signals:
47  void modifiedContent();
48 
49 public slots:
50  void aProcNameChanged();
51  void iProcNameChanged();
52  void editAProcessor(int row=-1);
53 
54 private slots:
55  virtual void closeEvent(QCloseEvent *e);
56  void changeStyle(bool checked);
57  void aboutGUI();
58  void help();
59  void madeChanges();
60  void selectionChanged(int row);
61  void conditionChanged(int row, int col);
62  void hideIProcessors(bool checked);
63  void hideAProcErrors(bool checked);
64  void showConditions(bool checked);
65  void selectColumn(int col);
66  void procTypeDC(int row, int col);
67 
68  //operations
69  void addLCIOFile();
70  void remLCIOFile();
71  void addCondition();
72  void editCondition();
73  void remCondition();
74  void addAProcessor();
75  void remAProcessor();
76  void remIProcessor();
77  void editIProcessor();
78  void activateProcessor();
79  void deactivateProcessor();
80  void moveLCIOFileUp();
81  void moveLCIOFileDown();
82  void moveProcessorUp();
83  void moveProcessorDown();
84 
85  //file managing
86  void changeGearFile();
87  void newXMLFile();
88  void openXMLFile();
89  void saveXMLFile();
90  void saveAsXMLFile();
91 
92 private:
93 
94  //init functions
95  void setupViews();
96  void createMenus();
97 
98  //update functions
99  void updateProcessors();
100  void updateIProcessors( int pos=-1 );
101  void updateAProcessors( int pos=-1 );
102  void updateConds( int pos=-1 );
103  void updateFiles( int pos=-1 );
104  void updateGlobalSection();
105 
106  //selection functions
107  void selectRow( QTableWidget* t, int row, bool colors=false );
108  void selectLCIORow( QListWidget* t, int row );
109  void checkCurrentStyle();
110 
111  //variables
112  bool _modified{};
113  bool _saved{};
114  std::string _file{};
115  MarlinSteerCheck* msc{};
116 
117  //group boxes
118  QGroupBox *aProcErrorsGBox{};
119  QGroupBox *viewButtonsGBox{};
120  QGroupBox *aProcButtonsGBox{};
121  QGroupBox *iProcButtonsGBox{};
122  QGroupBox *aProcGBox{};
123  QGroupBox *iProcGBox{};
124  QGroupBox *condGBox{};
125  QGroupBox *lcioFilesGBox{};
126  QGroupBox *lcioColsGBox{};
127  QGroupBox *globalSectionGBox{};
128 
129  //tables
130  QTableWidget *aProcTable{};
131  QTableWidget *iProcTable{};
132  QTableWidget *globalSectionTable{};
133  QTableWidget *lcioColsTable{};
134  QTableWidget *condTable{};
135  QListWidget *lcioFilesList{};
136 
137  //toggle buttons
138  QPushButton *hideProcs{};
139  QPushButton *hideErrors{};
140  QPushButton *showCond{};
141 
142  //splitters
143  QSplitter *vSplitter{};
144  QSplitter *hSplitter{};
145  QList<int> hSizes{};
146  int hSplitterSize{};
147 
148  //other
149  QTextEdit *aProcErrors{};
150  QString saveChangesMsg{};
151  QString aboutGUIMsg{};
152  QActionGroup *styleActionGroup{};
153 };
154 
155 #endif
this class is a Marlin Steering File consistency check Tool.
Definition: MarlinSteerCheck.h:72
Definition: mainwindow.h:35