154 setWindowTitle(tr(
"Built-in Uniform Reference"));
158 auto *mainLayout =
new QVBoxLayout(
this);
159 auto *introLabel =
new QLabel(tr(
"Select a uniform to see its GLSL type, availability, and usage."),
this);
160 introLabel->setWordWrap(
true);
161 mainLayout->addWidget(introLabel);
164 searchEdit->setPlaceholderText(tr(
"Filter uniforms..."));
168 auto *splitter =
new QSplitter(Qt::Horizontal,
this);
176 splitter->setStretchFactor(0, 0);
177 splitter->setStretchFactor(1, 1);
178 mainLayout->addWidget(splitter, 1);
180 auto *buttons =
new QDialogButtonBox(QDialogButtonBox::Close,
this);
181 mainLayout->addWidget(buttons);
184 connect(
uniformList, &QListWidget::currentItemChanged,
this, [
this](QListWidgetItem *current, QListWidgetItem *) {
showUniformDetails(current); });
185 connect(buttons, &QDialogButtonBox::rejected,
this, &QDialog::close);
193 for (
const UniformInfo &uniform : UNIFORMS) {
194 auto *item =
new QListWidgetItem(QString::fromLatin1(uniform.name),
uniformList);
195 item->setData(Qt::UserRole, detailsFor(uniform,
activeBackend));
196 item->setData(Qt::UserRole + 1, QStringLiteral(
"%1 %2 %3").arg(QString::fromLatin1(uniform.name), QString::fromLatin1(uniform.type), QString::fromLatin1(uniform.category)));
197 item->setToolTip(QString::fromLatin1(uniform.category));