#include <CShaderEditor.h>
Public Member Functions | |
CShaderEditor (VStudio *const control, QWidget *parent=0) | |
~CShaderEditor () | |
bool | OpenAndApplyVertex () |
bool | OpenAndApplyFragment () |
bool | LoadVertex (QString &fileName) |
bool | LoadFragment (QString &fileName) |
void | setValidatorPath (QString path) |
void | setEditor (QString &path, QStringList &args) |
QString | getValidatorPath () |
QString | getEditor () |
QStringList | getEditorArgs () |
void | SaveState (QSettings &sceneFile) |
void | OpenState (QSettings &sceneFile) |
void | ResetState () |
Private Slots | |
void | on_close_btn_clicked () |
void | on_open_fragment_released () |
void | on_open_vertex_released () |
void | on_new_fragment_released () |
void | on_new_Vertex_released () |
void | FileModified () |
void | on_tabWidget_currentChanged (int) |
void | on_detach_btn_released () |
void | on_attach_btn_released () |
void | on_validate_btn_released () |
void | on_save_btn_released () |
void | on_fetch_btn_released () |
void | on_edit_btn_released () |
Private Member Functions | |
QString | ShowOpenDialog () |
QString | ShowSaveDialog () |
bool | ShowQuestionDialog () |
bool | OpenShader () |
bool | LoadShader (QString &fileName) |
bool | SaveShader () |
QString | Validate (QString &shaderText) |
void | EditInEditor () |
void | Fetch () |
void | Attach () |
void | Detach () |
void | Close () |
void | AddShaderTab (CShaderFile *) |
void | ResetUI () |
void | SetShaderStatus () |
void | AppendOutput (QString &action, QString &content) |
void | logShaderLoadResult () |
void | logShaderSaveResult () |
void | SetFileEdit (bool enable) |
Private Attributes | |
Ui::CShaderEditorClass | ui |
QMessageBox * | pQuestionSave |
QFileDialog * | pOpenSaveDialog |
QList< CShaderFile * > | shaderList |
CShaderFile * | pCSFile |
short | shaderLoadResult |
short | shaderSaveResult |
QString | validatorPath |
QString | editorPath |
QStringList | editorArgs |
QString | editStringSent |
VStudio * | pControl |
bool | documentModified |
QString | lastShaderFilePath |
Definition at line 29 of file CShaderEditor.h.
CShaderEditor::CShaderEditor | ( | VStudio *const | control, | |
QWidget * | parent = 0 | |||
) |
Definition at line 36 of file CShaderEditor.cpp.
References editStringSent, lastShaderFilePath, pOpenSaveDialog, pQuestionSave, ResetUI(), shaderLoadResult, shaderSaveResult, and ui.
CShaderEditor::~CShaderEditor | ( | ) |
Definition at line 62 of file CShaderEditor.cpp.
void CShaderEditor::AddShaderTab | ( | CShaderFile * | file | ) | [private] |
Definition at line 721 of file CShaderEditor.cpp.
References FileModified(), CShaderFile::GetFileName(), CShaderFile::GetTabID(), on_tabWidget_currentChanged(), SetFileEdit(), SetShaderStatus(), CShaderFile::SetTabID(), shaderList, and ui.
Referenced by LoadFragment(), LoadVertex(), on_new_fragment_released(), on_new_Vertex_released(), on_open_fragment_released(), on_open_vertex_released(), OpenAndApplyFragment(), and OpenAndApplyVertex().
void CShaderEditor::AppendOutput | ( | QString & | action, | |
QString & | content | |||
) | [private] |
Definition at line 711 of file CShaderEditor.cpp.
References ui.
Referenced by Attach(), Detach(), and on_validate_btn_released().
void CShaderEditor::Attach | ( | ) | [private] |
Definition at line 545 of file CShaderEditor.cpp.
References AppendOutput(), CShaderFile::GetAttached(), CShaderFile::GetFileName(), VStudio::GetProgram(), CShaderFile::GetShaderID(), CShaderFile::GetShaderType(), pControl, pCSFile, CShaderFile::SetAttached(), CShaderFile::SetCompiled(), CShaderFile::SetShaderID(), and SetShaderStatus().
Referenced by on_attach_btn_released(), OpenAndApplyFragment(), and OpenAndApplyVertex().
void CShaderEditor::Close | ( | ) | [private] |
Definition at line 632 of file CShaderEditor.cpp.
References Detach(), CShaderFile::GetAttached(), CShaderFile::GetTabID(), CShaderFile::isUpToDate(), logShaderSaveResult(), on_tabWidget_currentChanged(), pCSFile, CShaderFile::saveAs(), SHADER_SAVE_FAILED, SHADER_SAVE_SUCCESS, shaderList, shaderSaveResult, ShowQuestionDialog(), ShowSaveDialog(), and ui.
Referenced by on_close_btn_clicked(), and OpenState().
void CShaderEditor::Detach | ( | ) | [private] |
Definition at line 603 of file CShaderEditor.cpp.
References AppendOutput(), CShaderFile::GetAttached(), CShaderFile::GetFileName(), VStudio::GetProgram(), CShaderFile::GetShaderID(), pControl, pCSFile, CShaderFile::SetAttached(), and SetShaderStatus().
Referenced by Close(), and on_detach_btn_released().
void CShaderEditor::EditInEditor | ( | ) | [private] |
Definition at line 497 of file CShaderEditor.cpp.
References editorArgs, editorPath, editStringSent, pCSFile, SetFileEdit(), and CShaderFile::StartEdit().
Referenced by on_edit_btn_released().
void CShaderEditor::Fetch | ( | ) | [private] |
Definition at line 512 of file CShaderEditor.cpp.
References editStringSent, CShaderFile::isUpToDate(), pCSFile, SaveShader(), SetFileEdit(), ShowQuestionDialog(), and CShaderFile::StopEdit().
Referenced by on_fetch_btn_released().
void CShaderEditor::FileModified | ( | ) | [private, slot] |
Definition at line 783 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), pCSFile, and ui.
Referenced by AddShaderTab(), and on_tabWidget_currentChanged().
QString CShaderEditor::getEditor | ( | ) | [inline] |
QStringList CShaderEditor::getEditorArgs | ( | ) | [inline] |
QString CShaderEditor::getValidatorPath | ( | ) | [inline] |
bool CShaderEditor::LoadFragment | ( | QString & | fileName | ) |
Definition at line 115 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), FRAGMENT_SHADER, LoadShader(), and pCSFile.
Referenced by OpenState().
bool CShaderEditor::LoadShader | ( | QString & | fileName | ) | [private] |
Definition at line 381 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), CShaderFile::isUpToDate(), CShaderFile::load(), logShaderLoadResult(), logShaderSaveResult(), pCSFile, CShaderFile::saveAs(), SHADER_LOAD_FAILED, SHADER_LOAD_SUCCESS, SHADER_SAVE_FAILED, SHADER_SAVE_NOSAVE, SHADER_SAVE_SUCCESS, shaderLoadResult, shaderSaveResult, ShowQuestionDialog(), ShowSaveDialog(), and ui.
Referenced by LoadFragment(), and LoadVertex().
bool CShaderEditor::LoadVertex | ( | QString & | fileName | ) |
Definition at line 100 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), LoadShader(), pCSFile, and VERTEX_SHADER.
Referenced by OpenState().
void CShaderEditor::logShaderLoadResult | ( | ) | [private] |
Definition at line 749 of file CShaderEditor.cpp.
References VStudio::GetConsole(), CShaderFile::GetFileName(), CConsole::Log(), MAIN_THREAD, pControl, pCSFile, SHADER_LOAD_ABORTED, SHADER_LOAD_FAILED, SHADER_LOAD_SUCCESS, and shaderLoadResult.
Referenced by LoadShader(), and OpenShader().
void CShaderEditor::logShaderSaveResult | ( | ) | [private] |
Definition at line 764 of file CShaderEditor.cpp.
References VStudio::GetConsole(), CShaderFile::GetFileName(), CConsole::Log(), MAIN_THREAD, pControl, pCSFile, SHADER_SAVE_ABORTED, SHADER_SAVE_FAILED, SHADER_SAVE_SUCCESS, and shaderSaveResult.
Referenced by Close(), LoadShader(), OpenShader(), SaveShader(), and SaveState().
void CShaderEditor::on_attach_btn_released | ( | ) | [private, slot] |
void CShaderEditor::on_close_btn_clicked | ( | ) | [private, slot] |
void CShaderEditor::on_detach_btn_released | ( | ) | [private, slot] |
void CShaderEditor::on_edit_btn_released | ( | ) | [private, slot] |
void CShaderEditor::on_fetch_btn_released | ( | ) | [private, slot] |
void CShaderEditor::on_new_fragment_released | ( | ) | [private, slot] |
Definition at line 822 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), and FRAGMENT_SHADER.
void CShaderEditor::on_new_Vertex_released | ( | ) | [private, slot] |
Definition at line 814 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), and VERTEX_SHADER.
void CShaderEditor::on_open_fragment_released | ( | ) | [private, slot] |
Definition at line 843 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), FRAGMENT_SHADER, OpenShader(), and pCSFile.
void CShaderEditor::on_open_vertex_released | ( | ) | [private, slot] |
Definition at line 830 of file CShaderEditor.cpp.
References AddShaderTab(), CShaderFile::Create(), OpenShader(), pCSFile, and VERTEX_SHADER.
void CShaderEditor::on_save_btn_released | ( | ) | [private, slot] |
void CShaderEditor::on_tabWidget_currentChanged | ( | int | index | ) | [private, slot] |
Definition at line 789 of file CShaderEditor.cpp.
References FileModified(), CShaderFile::GetFileName(), CShaderFile::isUpToDate(), pCSFile, ResetUI(), SetFileEdit(), shaderList, and ui.
Referenced by AddShaderTab(), Close(), and OpenState().
void CShaderEditor::on_validate_btn_released | ( | ) | [private, slot] |
Definition at line 862 of file CShaderEditor.cpp.
References AppendOutput(), CShaderFile::GetFileName(), pCSFile, and Validate().
bool CShaderEditor::OpenAndApplyFragment | ( | ) |
Definition at line 83 of file CShaderEditor.cpp.
References AddShaderTab(), Attach(), CShaderFile::Create(), FRAGMENT_SHADER, OpenShader(), and pCSFile.
Referenced by VStudio::on_actionApply_Fragment_Shader_triggered().
bool CShaderEditor::OpenAndApplyVertex | ( | ) |
Definition at line 66 of file CShaderEditor.cpp.
References AddShaderTab(), Attach(), CShaderFile::Create(), OpenShader(), pCSFile, and VERTEX_SHADER.
Referenced by VStudio::on_actionApply_Vertex_Shader_triggered().
bool CShaderEditor::OpenShader | ( | ) | [private] |
Definition at line 211 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), CShaderFile::isLoaded(), CShaderFile::isUpToDate(), CShaderFile::load(), logShaderLoadResult(), logShaderSaveResult(), pCSFile, pQuestionSave, CShaderFile::saveAs(), SHADER_LOAD_FAILED, SHADER_LOAD_SUCCESS, SHADER_SAVE_FAILED, SHADER_SAVE_NOSAVE, SHADER_SAVE_SUCCESS, shaderLoadResult, shaderSaveResult, ShowOpenDialog(), ShowQuestionDialog(), ShowSaveDialog(), and ui.
Referenced by on_open_fragment_released(), on_open_vertex_released(), OpenAndApplyFragment(), and OpenAndApplyVertex().
void CShaderEditor::OpenState | ( | QSettings & | sceneFile | ) |
Definition at line 180 of file CShaderEditor.cpp.
References Close(), LoadFragment(), LoadVertex(), on_attach_btn_released(), on_tabWidget_currentChanged(), shaderList, and VERTEX_SHADER.
Referenced by VStudio::OpenScene().
void CShaderEditor::ResetState | ( | ) |
Definition at line 203 of file CShaderEditor.cpp.
void CShaderEditor::ResetUI | ( | ) | [private] |
Definition at line 674 of file CShaderEditor.cpp.
References ui.
Referenced by CShaderEditor(), and on_tabWidget_currentChanged().
bool CShaderEditor::SaveShader | ( | ) | [private] |
Definition at line 430 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), CShaderFile::GetTabID(), logShaderSaveResult(), pCSFile, CShaderFile::saveAs(), SHADER_SAVE_FAILED, SHADER_SAVE_SUCCESS, shaderSaveResult, ShowSaveDialog(), and ui.
Referenced by Fetch(), and on_save_btn_released().
void CShaderEditor::SaveState | ( | QSettings & | sceneFile | ) |
Definition at line 128 of file CShaderEditor.cpp.
References logShaderSaveResult(), SHADER_SAVE_FAILED, SHADER_SAVE_SUCCESS, shaderList, shaderSaveResult, ShowQuestionDialog(), and ShowSaveDialog().
Referenced by VStudio::SaveScene().
void CShaderEditor::setEditor | ( | QString & | path, | |
QStringList & | args | |||
) | [inline] |
Definition at line 46 of file CShaderEditor.h.
References editorArgs, and editorPath.
Referenced by VStudio::Create().
void CShaderEditor::SetFileEdit | ( | bool | enable | ) | [private] |
Definition at line 686 of file CShaderEditor.cpp.
References ui.
Referenced by AddShaderTab(), EditInEditor(), Fetch(), and on_tabWidget_currentChanged().
void CShaderEditor::SetShaderStatus | ( | ) | [private] |
Definition at line 693 of file CShaderEditor.cpp.
References CShaderFile::GetAttached(), CShaderFile::GetCompiled(), CShaderFile::GetShaderType(), CShaderFile::GetTabID(), pCSFile, ui, and VERTEX_SHADER.
Referenced by AddShaderTab(), Attach(), and Detach().
void CShaderEditor::setValidatorPath | ( | QString | path | ) | [inline] |
Definition at line 45 of file CShaderEditor.h.
References validatorPath.
Referenced by VStudio::Create().
QString CShaderEditor::ShowOpenDialog | ( | ) | [private] |
Definition at line 311 of file CShaderEditor.cpp.
References FRAGMENT_SHADER, CShaderFile::GetShaderType(), lastShaderFilePath, pCSFile, pOpenSaveDialog, SHADER_LOAD_ABORTED, and shaderLoadResult.
Referenced by OpenShader().
bool CShaderEditor::ShowQuestionDialog | ( | ) | [private] |
Definition at line 375 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), pCSFile, and pQuestionSave.
Referenced by Close(), Fetch(), LoadShader(), OpenShader(), and SaveState().
QString CShaderEditor::ShowSaveDialog | ( | ) | [private] |
Definition at line 343 of file CShaderEditor.cpp.
References FRAGMENT_SHADER, CShaderFile::GetShaderType(), lastShaderFilePath, pCSFile, pOpenSaveDialog, SHADER_SAVE_ABORTED, and shaderSaveResult.
Referenced by Close(), LoadShader(), OpenShader(), SaveShader(), and SaveState().
QString CShaderEditor::Validate | ( | QString & | shaderText | ) | [private] |
Definition at line 445 of file CShaderEditor.cpp.
References CShaderFile::GetFileName(), CShaderFile::GetShaderType(), pCSFile, validatorPath, and VERTEX_SHADER.
Referenced by on_validate_btn_released().
bool CShaderEditor::documentModified [private] |
Definition at line 112 of file CShaderEditor.h.
QStringList CShaderEditor::editorArgs [private] |
Definition at line 106 of file CShaderEditor.h.
Referenced by EditInEditor(), getEditorArgs(), and setEditor().
QString CShaderEditor::editorPath [private] |
Definition at line 104 of file CShaderEditor.h.
Referenced by EditInEditor(), getEditor(), and setEditor().
QString CShaderEditor::editStringSent [private] |
Definition at line 107 of file CShaderEditor.h.
Referenced by CShaderEditor(), EditInEditor(), and Fetch().
QString CShaderEditor::lastShaderFilePath [private] |
Definition at line 113 of file CShaderEditor.h.
Referenced by CShaderEditor(), ShowOpenDialog(), and ShowSaveDialog().
VStudio* CShaderEditor::pControl [private] |
Definition at line 110 of file CShaderEditor.h.
Referenced by Attach(), Detach(), logShaderLoadResult(), and logShaderSaveResult().
CShaderFile* CShaderEditor::pCSFile [private] |
Definition at line 98 of file CShaderEditor.h.
Referenced by Attach(), Close(), Detach(), EditInEditor(), Fetch(), FileModified(), LoadFragment(), LoadShader(), LoadVertex(), logShaderLoadResult(), logShaderSaveResult(), on_open_fragment_released(), on_open_vertex_released(), on_tabWidget_currentChanged(), on_validate_btn_released(), OpenAndApplyFragment(), OpenAndApplyVertex(), OpenShader(), SaveShader(), SetShaderStatus(), ShowOpenDialog(), ShowQuestionDialog(), ShowSaveDialog(), and Validate().
QFileDialog* CShaderEditor::pOpenSaveDialog [private] |
Definition at line 93 of file CShaderEditor.h.
Referenced by CShaderEditor(), ShowOpenDialog(), and ShowSaveDialog().
QMessageBox* CShaderEditor::pQuestionSave [private] |
Definition at line 92 of file CShaderEditor.h.
Referenced by CShaderEditor(), OpenShader(), and ShowQuestionDialog().
QList<CShaderFile *> CShaderEditor::shaderList [private] |
Definition at line 96 of file CShaderEditor.h.
Referenced by AddShaderTab(), Close(), on_tabWidget_currentChanged(), OpenState(), and SaveState().
short CShaderEditor::shaderLoadResult [private] |
Definition at line 100 of file CShaderEditor.h.
Referenced by CShaderEditor(), LoadShader(), logShaderLoadResult(), OpenShader(), and ShowOpenDialog().
short CShaderEditor::shaderSaveResult [private] |
Definition at line 101 of file CShaderEditor.h.
Referenced by Close(), CShaderEditor(), LoadShader(), logShaderSaveResult(), OpenShader(), SaveShader(), SaveState(), and ShowSaveDialog().
Ui::CShaderEditorClass CShaderEditor::ui [private] |
Definition at line 89 of file CShaderEditor.h.
Referenced by AddShaderTab(), AppendOutput(), Close(), CShaderEditor(), FileModified(), LoadShader(), on_tabWidget_currentChanged(), OpenShader(), ResetUI(), SaveShader(), SetFileEdit(), and SetShaderStatus().
QString CShaderEditor::validatorPath [private] |
Definition at line 103 of file CShaderEditor.h.
Referenced by getValidatorPath(), setValidatorPath(), and Validate().