#ifndef ARGUMENTSEDITOR_H
#define ARGUMENTSEDITOR_H
+#include "apitracecall.h"
#include "ui_argumentseditor.h"
+
#include <QComboBox>
+#include <QDialog>
#include <QItemEditorFactory>
#include <QStandardItemModel>
-#include <QWidget>
class ApiTraceCall;
QByteArray valuePropertyName(QVariant::Type) const;
};
-class ArgumentsEditor : public QWidget
+class ArgumentsEditor : public QDialog
{
Q_OBJECT
public:
~ArgumentsEditor();
+ virtual void accept();
+
void setCall(ApiTraceCall *call);
ApiTraceCall *call() const;
private slots:
void currentSourceChanged(int idx);
void sourceChanged();
+ void revert();
private:
void init();
void setupCall();
void setupShaderEditor(const QList<QVariant> &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;