mirror of
https://github.com/tristanpenman/valijson.git
synced 2024-12-13 18:45:11 +01:00
49 lines
920 B
C++
49 lines
920 B
C++
#pragma once
|
|
|
|
#include <QJsonDocument>
|
|
#include <QMainWindow>
|
|
|
|
class QJsonDocument;
|
|
class QSplitter;
|
|
class QStatusBar;
|
|
class QTabWidget;
|
|
class QTextEdit;
|
|
class QToolBar;
|
|
|
|
namespace valijson {
|
|
class Schema;
|
|
}
|
|
|
|
class Window : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Window(QWidget * parent = 0);
|
|
|
|
public slots:
|
|
void refreshJson();
|
|
|
|
void showOpenDocumentDialog();
|
|
void showOpenSchemaDialog();
|
|
|
|
private:
|
|
QTextEdit * createEditor(bool readOnly);
|
|
QSplitter * createSplitter(QWidget * left, QWidget * right, bool horizontal);
|
|
QStatusBar * createStatusBar();
|
|
QTabWidget * createTabWidget(QWidget * child, const QString & name);
|
|
QToolBar * createToolBar();
|
|
|
|
void validate();
|
|
|
|
QTextEdit * m_documentEditor;
|
|
QTextEdit * m_schemaEditor;
|
|
|
|
QTextEdit * m_errors;
|
|
|
|
QJsonDocument m_documentJson;
|
|
QJsonDocument m_schemaJson;
|
|
|
|
valijson::Schema * m_schema;
|
|
};
|