blob: 0bec7a7a83651804de58d9ed77e8fadfce476f48 [file] [log] [blame]
Zack Rusin7c814f12011-04-09 19:20:58 -04001#include "shaderssourcewidget.h"
2
3ShadersSourceWidget::ShadersSourceWidget(QWidget *parent)
4 : QWidget(parent)
5{
6 m_ui.setupUi(this);
7
8 connect(m_ui.shadersCB, SIGNAL(currentIndexChanged(int)),
9 SLOT(changeShader(int)));
10}
11
12void ShadersSourceWidget::setShaders(const QStringList &sources)
13{
14 m_sources = sources;
15
16 m_ui.shadersCB->clear();
17 m_ui.shadersTextEdit->clear();
18
19 if (m_sources.isEmpty()) {
20 m_ui.shadersCB->setDisabled(true);
21 m_ui.shadersTextEdit->setPlainText(
22 tr("No bound shaders."));
23 m_ui.shadersTextEdit->setDisabled(true);
24 return;
25 }
26
27 m_ui.shadersCB->setEnabled(true);
28 m_ui.shadersTextEdit->setEnabled(true);
29
30 for (int i = 0; i < m_sources.count(); ++i) {
31 QString source = m_sources[i];
32 m_ui.shadersCB->insertItem(
33 i,
34 tr("Shader %1").arg(i));
35 }
36 m_ui.shadersCB->setCurrentIndex(0);
37}
38
39void ShadersSourceWidget::changeShader(int idx)
40{
41 m_ui.shadersTextEdit->setPlainText(m_sources.value(idx));
42}
43
44#include "shaderssourcewidget.moc"