Continued to implement GUI::Program.
[aesalon.git] / src / gui / ProgramDisplay.h
blobf8031664ac770ef24128b78cc825ef5472356989
1 #ifndef AESALON_GUI_PROGRAM_DISPLAY_H
2 #define AESALON_GUI_PROGRAM_DISPLAY_H
4 #include <QTimer>
6 #include <QMdiSubWindow>
7 #include <QGridLayout>
8 #include <QLineEdit>
9 #include <QLabel>
10 #include <QHBoxLayout>
11 #include <QVBoxLayout>
12 #include <QPushButton>
13 #include <QTabWidget>
14 #include <QCheckBox>
16 #include "ProgramBlockDisplay.h"
17 #include "ProgramReferenceDisplay.h"
19 #include "misc/SmartPointer.h"
20 #include "platform/NamedPipe.h"
21 #include "Program.h"
23 namespace Aesalon {
24 namespace GUI {
26 class ProgramDisplay : public QMdiSubWindow { Q_OBJECT
27 private:
28 ProgramBlockDisplay *program_block_display;
29 ProgramReferenceDisplay *program_reference_display;
31 QWidget *launch_widget;
32 QVBoxLayout *launch_layout;
33 QGridLayout *launch_program_layout;
34 QLineEdit *launch_program_name;
35 QLabel *launch_program_label;
36 QLineEdit *launch_program_arguments;
37 QLabel *launch_program_arguments_label;
38 QCheckBox *launch_program_xterm;
39 QPushButton *launch_program_button;
41 QWidget *running_widget;
42 QVBoxLayout *running_layout;
43 QTabWidget *running_tab_bar;
44 QWidget *running_general;
45 QVBoxLayout *running_general_layout;
46 QHBoxLayout *running_general_program_layout;
47 QLabel *running_general_program_label;
48 QLabel *running_general_program_name_label;
50 QTimer *update_timer;
52 Misc::SmartPointer<Program> program;
54 void create_launch_widget();
55 void create_running_widget();
56 private slots:
57 void begin_program();
58 public:
59 ProgramDisplay(QWidget *parent = 0);
60 virtual ~ProgramDisplay();
63 } // namespace GUI
64 } // namespace Aesalon
66 #endif