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