ACMX 2.139.0
Dual-Backend Real-Time GPU Video Synthesis
Loading...
Searching...
No Matches
ShaderPassDialog Class Reference

UI for selecting and ordering shader passes. More...

#include <shaderpass.hpp>

Inheritance diagram for ShaderPassDialog:

Public Slots

void addShader ()
void applyChanges ()
void clearAll ()
void filterSearchChanged (const QString &text)
void insertShader ()
void loadShaderPass ()
void moveDown ()
void moveUp ()
void removeShader ()
void saveShaderPass ()

Signals

void settingsApplied (bool enabled, const QStringList &selectedShaderNames)
void shaderEditRequested (const QString &shaderName)
 Request that a shader in the pass list be opened for editing.

Public Member Functions

QStringList getSelectedShaderIndices () const
 Return selected pass indices corresponding to available shader list.
QStringList getSelectedShaderNames () const
 Return selected shader names in execution order.
QString getShaderPassArgument () const
 Build CLI argument payload for selected shader passes.
bool isShaderPassEnabled () const
 Return whether shader-pass mode is enabled.
void setEnabled (bool enabled)
void setSelectedIndices (const QStringList &indices)
void setSelectedShaderNames (const QStringList &names)
 ShaderPassDialog (const QStringList &shaderNames, QWidget *parent=nullptr)
void updateShaderList (const QStringList &shaderNames)

Private Member Functions

void loadShaders (const QStringList &shaderNames)
void setupUI ()

Private Attributes

QPushButton * addButton
QPushButton * applyButton
QPushButton * cancelButton
QPushButton * clearButton
QPushButton * downButton
QCheckBox * enableCheckBox
QPushButton * insertButton
QPushButton * loadButton
QPushButton * okButton
QSortFilterProxyModel * proxyModel
QPushButton * removeButton
QPushButton * saveButton
QLineEdit * searchLineEdit
QListWidget * selectedShadersList
QComboBox * shaderComboBox
QStandardItemModel * shaderModel
QStringList shaderNamesList
QMap< QString, int > shaderNameToIndex
QPushButton * upButton

Detailed Description

UI for selecting and ordering shader passes.

Definition at line 26 of file shaderpass.hpp.

Constructor & Destructor Documentation

◆ ShaderPassDialog()

ShaderPassDialog::ShaderPassDialog ( const QStringList & shaderNames,
QWidget * parent = nullptr )
explicit

Definition at line 11 of file shaderpass.cpp.

References loadShaders(), and setupUI().

Referenced by MainWindow::menuShaderPassSettings().

Member Function Documentation

◆ addShader

void ShaderPassDialog::addShader ( )
slot

Definition at line 180 of file shaderpass.cpp.

References selectedShadersList, shaderComboBox, and shaderNameToIndex.

Referenced by setupUI(), and shaderEditRequested().

◆ applyChanges

void ShaderPassDialog::applyChanges ( )
slot

Definition at line 290 of file shaderpass.cpp.

References getSelectedShaderNames(), isShaderPassEnabled(), and settingsApplied().

Referenced by setupUI(), and shaderEditRequested().

◆ clearAll

void ShaderPassDialog::clearAll ( )
slot

Definition at line 232 of file shaderpass.cpp.

References selectedShadersList.

Referenced by setupUI(), and shaderEditRequested().

◆ filterSearchChanged

void ShaderPassDialog::filterSearchChanged ( const QString & text)
slot

Definition at line 173 of file shaderpass.cpp.

References proxyModel, and shaderComboBox.

Referenced by setupUI(), and shaderEditRequested().

◆ getSelectedShaderIndices()

QStringList ShaderPassDialog::getSelectedShaderIndices ( ) const

Return selected pass indices corresponding to available shader list.

Definition at line 236 of file shaderpass.cpp.

References selectedShadersList.

Referenced by getShaderPassArgument().

◆ getSelectedShaderNames()

QStringList ShaderPassDialog::getSelectedShaderNames ( ) const

Return selected shader names in execution order.

Definition at line 267 of file shaderpass.cpp.

References selectedShadersList.

Referenced by applyChanges(), loadShaders(), and MainWindow::menuShaderPassSettings().

◆ getShaderPassArgument()

QString ShaderPassDialog::getShaderPassArgument ( ) const

Build CLI argument payload for selected shader passes.

Definition at line 246 of file shaderpass.cpp.

References getSelectedShaderIndices().

◆ insertShader

void ShaderPassDialog::insertShader ( )
slot

Definition at line 193 of file shaderpass.cpp.

References selectedShadersList, shaderComboBox, and shaderNameToIndex.

Referenced by setupUI(), and shaderEditRequested().

◆ isShaderPassEnabled()

bool ShaderPassDialog::isShaderPassEnabled ( ) const

Return whether shader-pass mode is enabled.

Definition at line 234 of file shaderpass.cpp.

References enableCheckBox, and selectedShadersList.

Referenced by applyChanges(), and MainWindow::menuShaderPassSettings().

◆ loadShaderPass

void ShaderPassDialog::loadShaderPass ( )
slot

Definition at line 320 of file shaderpass.cpp.

References selectedShadersList, and shaderNameToIndex.

Referenced by setupUI(), and shaderEditRequested().

◆ loadShaders()

void ShaderPassDialog::loadShaders ( const QStringList & shaderNames)
private

◆ moveDown

void ShaderPassDialog::moveDown ( )
slot

Definition at line 223 of file shaderpass.cpp.

References selectedShadersList.

Referenced by setupUI(), and shaderEditRequested().

◆ moveUp

void ShaderPassDialog::moveUp ( )
slot

Definition at line 214 of file shaderpass.cpp.

References selectedShadersList.

Referenced by setupUI(), and shaderEditRequested().

◆ removeShader

void ShaderPassDialog::removeShader ( )
slot

Definition at line 207 of file shaderpass.cpp.

References selectedShadersList.

Referenced by setupUI(), and shaderEditRequested().

◆ saveShaderPass

void ShaderPassDialog::saveShaderPass ( )
slot

Definition at line 292 of file shaderpass.cpp.

References selectedShadersList.

Referenced by setupUI(), and shaderEditRequested().

◆ setEnabled()

void ShaderPassDialog::setEnabled ( bool enabled)

Definition at line 251 of file shaderpass.cpp.

References enableCheckBox.

◆ setSelectedIndices()

void ShaderPassDialog::setSelectedIndices ( const QStringList & indices)

Definition at line 253 of file shaderpass.cpp.

References selectedShadersList, and shaderNamesList.

◆ setSelectedShaderNames()

void ShaderPassDialog::setSelectedShaderNames ( const QStringList & names)

Definition at line 276 of file shaderpass.cpp.

References selectedShadersList, and shaderNameToIndex.

Referenced by loadShaders().

◆ settingsApplied

void ShaderPassDialog::settingsApplied ( bool enabled,
const QStringList & selectedShaderNames )
signal

◆ setupUI()

◆ shaderEditRequested

void ShaderPassDialog::shaderEditRequested ( const QString & shaderName)
signal

◆ updateShaderList()

void ShaderPassDialog::updateShaderList ( const QStringList & shaderNames)

Definition at line 288 of file shaderpass.cpp.

References loadShaders().

Member Data Documentation

◆ addButton

QPushButton* ShaderPassDialog::addButton
private

Definition at line 71 of file shaderpass.hpp.

Referenced by setupUI().

◆ applyButton

QPushButton* ShaderPassDialog::applyButton
private

Definition at line 80 of file shaderpass.hpp.

Referenced by setupUI().

◆ cancelButton

QPushButton* ShaderPassDialog::cancelButton
private

Definition at line 81 of file shaderpass.hpp.

Referenced by setupUI().

◆ clearButton

QPushButton* ShaderPassDialog::clearButton
private

Definition at line 76 of file shaderpass.hpp.

Referenced by setupUI().

◆ downButton

QPushButton* ShaderPassDialog::downButton
private

Definition at line 75 of file shaderpass.hpp.

Referenced by setupUI().

◆ enableCheckBox

QCheckBox* ShaderPassDialog::enableCheckBox
private

Definition at line 67 of file shaderpass.hpp.

Referenced by isShaderPassEnabled(), setEnabled(), and setupUI().

◆ insertButton

QPushButton* ShaderPassDialog::insertButton
private

Definition at line 72 of file shaderpass.hpp.

Referenced by setupUI().

◆ loadButton

QPushButton* ShaderPassDialog::loadButton
private

Definition at line 78 of file shaderpass.hpp.

Referenced by setupUI().

◆ okButton

QPushButton* ShaderPassDialog::okButton
private

Definition at line 79 of file shaderpass.hpp.

Referenced by setupUI().

◆ proxyModel

QSortFilterProxyModel* ShaderPassDialog::proxyModel
private

Definition at line 84 of file shaderpass.hpp.

Referenced by filterSearchChanged(), and setupUI().

◆ removeButton

QPushButton* ShaderPassDialog::removeButton
private

Definition at line 73 of file shaderpass.hpp.

Referenced by setupUI().

◆ saveButton

QPushButton* ShaderPassDialog::saveButton
private

Definition at line 77 of file shaderpass.hpp.

Referenced by setupUI().

◆ searchLineEdit

QLineEdit* ShaderPassDialog::searchLineEdit
private

Definition at line 69 of file shaderpass.hpp.

Referenced by setupUI().

◆ selectedShadersList

◆ shaderComboBox

QComboBox* ShaderPassDialog::shaderComboBox
private

Definition at line 68 of file shaderpass.hpp.

Referenced by addShader(), filterSearchChanged(), insertShader(), and setupUI().

◆ shaderModel

QStandardItemModel* ShaderPassDialog::shaderModel
private

Definition at line 83 of file shaderpass.hpp.

Referenced by loadShaders(), and setupUI().

◆ shaderNamesList

QStringList ShaderPassDialog::shaderNamesList
private

Definition at line 87 of file shaderpass.hpp.

Referenced by loadShaders(), and setSelectedIndices().

◆ shaderNameToIndex

QMap<QString, int> ShaderPassDialog::shaderNameToIndex
private

◆ upButton

QPushButton* ShaderPassDialog::upButton
private

Definition at line 74 of file shaderpass.hpp.

Referenced by setupUI().


The documentation for this class was generated from the following files: