X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fargumentseditor.h;h=e6b3d8fd65f01043ad5072787d0a622a18a90d44;hb=535fa49a6a540079d41a7f5f076cd2b599c521f4;hp=fdec85725ca73ade8fdc7867be442b22dd2a852f;hpb=4b3d3bf911c2fd927ce6570e1e52e7b3286746ad;p=apitrace diff --git a/gui/argumentseditor.h b/gui/argumentseditor.h index fdec857..e6b3d8f 100644 --- a/gui/argumentseditor.h +++ b/gui/argumentseditor.h @@ -1,11 +1,13 @@ #ifndef ARGUMENTSEDITOR_H #define ARGUMENTSEDITOR_H +#include "apitracecall.h" #include "ui_argumentseditor.h" + #include +#include #include #include -#include class ApiTraceCall; @@ -27,7 +29,7 @@ public: QByteArray valuePropertyName(QVariant::Type) const; }; -class ArgumentsEditor : public QWidget +class ArgumentsEditor : public QDialog { Q_OBJECT public: @@ -35,16 +37,27 @@ public: ~ArgumentsEditor(); + virtual void accept(); + void setCall(ApiTraceCall *call); ApiTraceCall *call() const; -signals: - void argumentsEdited(ApiTraceCall *call); - +private slots: + void currentSourceChanged(int idx); + void sourceChanged(); + void revert(); private: void init(); void setupCall(); void setupShaderEditor(const QList &sources); + QVariant valueForName(const QString &name, + const QVariant &orignalValue, + bool *changed) const; + QVariant arrayFromIndex(const QModelIndex &index, + const ApiArray &array, + bool *changed) const; + QVariant arrayFromEditor(const ApiArray &origArray, + bool *changed) const; private: Ui_ArgumentsEditor m_ui; QStandardItemModel *m_model;