]> git.cworth.org Git - vogl/blob - src/vogleditor/vogleditor_qprogramexplorer.h
Initial vogl checkin
[vogl] / src / vogleditor / vogleditor_qprogramexplorer.h
1 #ifndef VOGLEDITOR_QPROGRAMEXPLORER_H
2 #define VOGLEDITOR_QPROGRAMEXPLORER_H
3
4 #include <QWidget>
5
6 #include "vogl_core.h"
7
8 class vogl_gl_object_state;
9 class vogl_program_state;
10 typedef vogl::vector<vogl_gl_object_state *> vogl_gl_object_state_ptr_vec;
11
12 namespace Ui {
13 class vogleditor_QProgramExplorer;
14 }
15
16 class vogleditor_QProgramExplorer : public QWidget
17 {
18     Q_OBJECT
19
20 public:
21     explicit vogleditor_QProgramExplorer(QWidget *parent = 0);
22     ~vogleditor_QProgramExplorer();
23
24     void clear();
25
26     void set_program_objects(vogl_gl_object_state_ptr_vec objects);
27
28     bool set_active_program(unsigned long long programHandle);
29
30 private slots:
31     void on_programListBox_currentIndexChanged(int index);
32
33     void on_shaderListBox_currentIndexChanged(int index);
34
35     void on_shaderTextEdit_textChanged();
36
37     void on_saveShaderButton_clicked();
38
39 private:
40     Ui::vogleditor_QProgramExplorer *ui;
41     vogl_gl_object_state_ptr_vec m_objects;
42
43 signals:
44     void program_edited(vogl_program_state* pNewProgramState);
45
46 };
47
48 #endif // VOGLEDITOR_QPROGRAMEXPLORER_H