1 #include "shaderssourcewidget.h"
5 ShadersSourceWidget::ShadersSourceWidget(QWidget *parent)
9 m_edit = new GLSLEdit(this);
10 m_edit->setReadOnly(true);
12 m_ui.verticalLayout->addWidget(m_edit);
14 connect(m_ui.shadersCB, SIGNAL(currentIndexChanged(const QString &)),
15 SLOT(changeShader(const QString &)));
18 void ShadersSourceWidget::setShaders(const QMap<QString, QString> &sources)
22 m_ui.shadersCB->clear();
25 if (m_sources.isEmpty()) {
26 m_ui.shadersCB->setDisabled(true);
27 m_edit->setPlainText(tr("No bound shaders."));
28 m_edit->setDisabled(true);
32 m_ui.shadersCB->setEnabled(true);
33 m_edit->setEnabled(true);
35 QMap<QString, QString>::const_iterator itr;
36 for (itr = m_sources.constBegin(); itr != m_sources.constEnd(); ++itr) {
37 m_ui.shadersCB->addItem(itr.key());
39 m_ui.shadersCB->setCurrentIndex(0);
42 void ShadersSourceWidget::changeShader(const QString &key)
44 m_edit->setPlainText(m_sources.value(key));
47 #include "shaderssourcewidget.moc"