From 5b350248a794b3233ecbbdecbf543fb383db0a39 Mon Sep 17 00:00:00 2001 From: dridk Date: Fri, 6 Jan 2017 19:53:45 +0100 Subject: [PATCH] change license to MIT, make code simple, add C++11 feature --- QJsonModel.pro | 16 ++-- icons.qrc | 12 --- icons/brick.png | Bin 1818 -> 0 bytes icons/bullet_black.png | Bin 770 -> 0 bytes icons/bullet_blue.png | Bin 792 -> 0 bytes icons/bullet_green.png | Bin 740 -> 0 bytes icons/bullet_orange.png | Bin 754 -> 0 bytes icons/bullet_purple.png | Bin 773 -> 0 bytes icons/bullet_red.png | Bin 779 -> 0 bytes icons/table.png | Bin 920 -> 0 bytes main.cpp | 41 +++++++++- mainwindow.cpp | 84 -------------------- mainwindow.h | 30 ------- mainwindow.ui | 91 --------------------- qjsonitem.cpp | 137 -------------------------------- qjsonitem.h | 41 ---------- qjsonmodel.cpp | 171 ++++++++++++++++++++++++++++++++-------- qjsonmodel.h | 82 ++++++++++++++++--- resource.qrc | 12 --- screen.png | Bin 31058 -> 50750 bytes 20 files changed, 255 insertions(+), 462 deletions(-) delete mode 100644 icons.qrc delete mode 100644 icons/brick.png delete mode 100644 icons/bullet_black.png delete mode 100644 icons/bullet_blue.png delete mode 100644 icons/bullet_green.png delete mode 100644 icons/bullet_orange.png delete mode 100644 icons/bullet_purple.png delete mode 100644 icons/bullet_red.png delete mode 100644 icons/table.png delete mode 100644 mainwindow.cpp delete mode 100644 mainwindow.h delete mode 100644 mainwindow.ui delete mode 100644 qjsonitem.cpp delete mode 100644 qjsonitem.h delete mode 100644 resource.qrc diff --git a/QJsonModel.pro b/QJsonModel.pro index e00665c..8efa66a 100644 --- a/QJsonModel.pro +++ b/QJsonModel.pro @@ -11,17 +11,13 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = QJsonModel TEMPLATE = app +SOURCES += \ + main.cpp \ + qjsonmodel.cpp + +HEADERS += \ + qjsonmodel.h -SOURCES += main.cpp\ - mainwindow.cpp \ - qjsonmodel.cpp \ - qjsonitem.cpp -HEADERS += mainwindow.h \ - qjsonmodel.h \ - qjsonitem.h -FORMS += mainwindow.ui -RESOURCES += \ - resource.qrc diff --git a/icons.qrc b/icons.qrc deleted file mode 100644 index cdb5055..0000000 --- a/icons.qrc +++ /dev/null @@ -1,12 +0,0 @@ - - - icons/brick.png - icons/bullet_black.png - icons/bullet_blue.png - icons/bullet_green.png - icons/bullet_orange.png - icons/bullet_purple.png - icons/bullet_red.png - icons/table.png - - diff --git a/icons/brick.png b/icons/brick.png deleted file mode 100644 index b67b1b461e051cfa68850b7722a11d392e0734a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1818 zcmV+#2j%#QP)c_Qg$0KBusjGW@hi+^PTTI_uRXZX_~l|m%{%fNxI(g z;*}joo)75K7Du{J&=V7!efnR z9U{?4Z~nx*_r89%CZjajB+&8;3b(IYScwsb>M&6qC90!3(A3s~gswvp5+o~G2}X1X zkFC4|Gz{T{ZPA2*k(fTcwX-v;G}i#AUcV{#$w$}i7&Zh3iE7QO+I*&{Hi+ukm|3X8 zT0f>uc-y%Efu-@9YP~Z}gP2H?nJ6o*!23V{ePHjIo=^8}S<{ftge!qqwdL0}>+h}J zQdLs2ASzUR^wR<4Oz;uC-fO7tIDa0Jp@Zf|k}(*ZZ34dBJjf)cJKn3Z_mEr~>MAF| zXC`o@r5(pwdp`N`wbgIZSCcLS-l8c5yNZi);L~*U2UIMaHy;=K`=KWjDRwwnBQk{b zD;6PcN(jYG%OY_D!=z1DcRNX7IMoRYpez*R`h2(&CMKrE@bKd4IN3G$I*r&&HsS*C z1tU6sIUa;p8ODk^Ie7Z+d~^+0;r#GuNefyt9UVa`L>(T_s5Ayi!{Ewj70fKutRhS@ zJLHRUOw>*dA`y$Au?-ju%NPn-NonZ-6sjkviiEf>;rFHy>~9NU!EIjLS)LDnG#8zI z#hUPBS1-=>`z<*%jVShbEScD=M0uQwR3}}Eat$n;I)ZpSjDxKvdIJ)%A;ISrmP~F7 zxT*++Btwx+%g1yBM>?Z8*4>LmB^qjGPDDg1Kwa%TwDk-i$WV=0=h2KWK{8{fItpBRINUjidDDmSV0AuL zRac;GNJThqW3Z{_z(K@gVKlY_eL>*_hLt(@8aBZ?!psan2x5R_U`=@tPcF->u^@R2 zoEtRJviCB|3jDaIG6%W&dFb$KM719}HK@i8fxdu30bym#fz$UI4lWCkodKBuP*`fV zwzvOGtN54^8;p#L0R!J39l<0mfDOw_u%{)4D-o7Y(9+{fM}xYVy8!s!%mjb~DGEJO zw=-nBy5aWvG%zyFWylN$2+(RsP|*&@m1{Ci2jF@JAebIA69c9#fviwta+cNAAV!}B z*M?+5H56L+JTVuSu!?MK(6RSodW3HU`aq`W?TiPorxhEl$~^y?xTJbgkg0r zI1&h}@WeRTrvS)OW(IhSEUOmPNnv-F%phzpal5r7u=RHVWYb=9nh+PSly+WmE5Zo& zbvN|(U9bw#LsBppTU*)ovg?KIDSd@}(mBw`4!vW|4$2Klu>hX!?7>KXcWO&^x8q#8 zpFvi<`rV!Nv*$0aD=RIhuBh9LB$KJeYmyn4 zE{AZc^&Fay?*HM?wpX_~fd`pxvcy$8(Kx4K7l_x9WeVGUZ+}-`GN-n#vSK#1Z4dPT z1J%VUqLfdBei;09su^dSP8{6#;WMoBfMZN|Y;54`0gx^WpI-8<`lwkpxAu`Yw$3P> zU0zx`3l&8^968;Bvn?%MO}jqc)O$Lmv!5)QPWS%>kg+}%tlhY(tZr>RmqT~s?#)fR zKhLW3%>t0AJ|;Ww2glR-W&#*n9}}GC@OV0pd)?}v=l=;X0034rQqJ-j&;S4c07*qo IM6N<$g6)7$KmY&$ diff --git a/icons/bullet_black.png b/icons/bullet_black.png deleted file mode 100644 index d448caafef56565d4338598fcc75bb242fa63a70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 770 zcmV+d1O5DoP)_HE0Qg4tb_M|aQYNB`$@kBz@P^C~= zpbAJSEbGkj!-}O4S<}nDWWw&eZ{B?S-pu!4WLbv896C7Up%KssXau-!0ES`yc%7NK zHOX=M1@vFuJArz#R;^a%S5_W}=(TOG^ZMO{Xb%B)cJ}t7APn4byU)Ss=os(@gEFyO zF2lw~9KzxEP$>L(xU{r9hi*wt0vsmy4-VOGc&4vI?BgehL?R%HqJpv6Y~XUa;Pk1J z5L|r**^KxIN!)Fc=$8QF^?ENl9QHMj=O#RV@e;PSQoyooYjNUJ3*P>-A~5uOie7f^ctQViI1zc?-E*7EC4+7>!0S;1Q6~Gx=zaFoeaJ`xM)E z5#lg$95-dL3_vQCRFdg*`}3~VY6@oj>>1jjDT<{M>6ZXcTb)QIm9J%4O3rkE(oxhD zY~y%%HFki?0DcyWNWj?MmVYnE$qKfCW7Hr3v{pV}0G>CrxA=Z&1su|z^SolsR-`$?5SC&nw(IfsB1HIOK^yb=d<((iLa1Oe_QqY{qyLKqvg8^QLj==nU0{@-EQ{2}W*8US}1T+F_j9&r_02crpKG2x3e*gdg07*qoM6N<$f-*d0 A-2eap diff --git a/icons/bullet_blue.png b/icons/bullet_blue.png deleted file mode 100644 index 6753441a11065d1e2b10104dd0e59db34842856f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 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 DU07gv diff --git a/icons/bullet_red.png b/icons/bullet_red.png deleted file mode 100644 index b6cfd0b8f00132d106c0e214e8d0225015feb91e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 779 zcmV+m1N8ifP)v?%@o{R6aDK`KQoh!;;D4D?b&A{8{3fLaKtB{a1f zj4{UaS7>(goY`z^qO>W^Nbx2P8Uh*u>MlU8MqrFp zJU;jP{4E?NBq7dk4>98CjD^;UFn&244Wp@Iy6rXWShY!5CP11!g*r8IVU z!R{XdrT;k0Kb(Z@*VOdz+vtsL5w!|n)2I5*9XrwyI(hRpW45ngGS*ZlsaE~~|wQ)X3zBS(hTq-4ye~N>w z+Cfm-D{n@5y92}05Z6q)YJ~s>jDyJjFit6U3;w&Q3@-T?z7_~DPF%zvm27q>R%u#p za)B|+CZWh_dL+A%#}e2;#(GP;fcA((T=MyIARSb|)@&+!FOf_E$NEwLNm2f4LbA~w zafnMkn3Te8{(Ib@wxf@WYAdd3^fl zM8C^9(%0J!Znqmd$ZR1^gLFC#i%ZK8%dF0fMi$1=nn0{p8$|mZ#S-EWqVsCE=WM|1 z8f%xO6JqC@0DRZ<_rYXl>dA8IH9meu{IqHm@4So<%?K9)j}I-T4a`7mh%_RDShxCR z1Z9U+%n7HK-E(0!9M!z=uU^LoUVFumYjJM;Cu|7#F9iG&U;vZq6mJi1`DFkA002ov JPDHLkV1j$QW{&^> diff --git a/icons/table.png b/icons/table.png deleted file mode 100644 index 0d1e11a83410d46c6912689110b05a8e16eee606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmV;J184k+P)`(YZ2MPt(oFg$RqAXOr6{HS)~KtZIc zucWeB_fla+?&fR;-;e`YBve~MLWpuOLP8B~HPgD3A6iJIO0r=xzV4CCC*c^AQ2IUz zu_P7C*lbCvG~ABx-?g(<5|;5k+!&d($E6jPSsu^K+xN;p;L>C*Su_oyR zyn{IwR)!RROt#mjbBi1%YLcyMoQgnSIo%g0;qIH08=mK%%`I#RE^Cz}Y$~t=7n5oh z?A7q&;OOgptCF+pUCqipev`PpnsHbfD_`Gzb1=FZeTe(LEIsj~ +#include +#include +#include +#include "qjsonmodel.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); - MainWindow w; - w.show(); + + QTreeView * view = new QTreeView; + QJsonModel * model = new QJsonModel; + + view->setModel(model); + + std::string json = R"({ + "firstName": "John", + "lastName": "Smith", + "age": 25, + "address": + { + "streetAddress": "21 2nd Street", + "city": "New York", + "state": "NY", + "postalCode": "10021" + }, + "phoneNumber": + [ + { + "type": "home", + "number": "212 555-1234" + }, + { + "type": "fax", + "number": "646 555-4567" + } + ] + })"; + + + + model->loadJson(QByteArray::fromStdString(json)); + view->show(); return a.exec(); } diff --git a/mainwindow.cpp b/mainwindow.cpp deleted file mode 100644 index 01d465c..0000000 --- a/mainwindow.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - QJsonModel is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with QJsonModel. If not, see . - -**********************************************/ - -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include -#include -#include -#include -#include "qjsonitem.h" -#include "qjsonmodel.h" - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) -{ - ui->setupUi(this); - mModel= new QJsonModel; - - ui->treeView->setModel(mModel); - ui->treeView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); - connect(ui->actionOpen,SIGNAL(triggered()),this,SLOT(openFile())); - connect(ui->tabWidget,SIGNAL(tabBarClicked(int)),this,SLOT(tabChanged(int))); - - - mModel->setIcon(QJsonValue::Bool, QIcon(":/icons/bullet_black.png")); - mModel->setIcon(QJsonValue::Double, QIcon(":/icons/bullet_red.png")); - mModel->setIcon(QJsonValue::String, QIcon(":/icons/bullet_blue.png")); - mModel->setIcon(QJsonValue::Array, QIcon(":/icons/table.png")); - mModel->setIcon(QJsonValue::Object, QIcon(":/icons/brick.png")); - - -} - -MainWindow::~MainWindow() -{ - delete ui; -} - -void MainWindow::openFile() -{ - - QString filename = QFileDialog::getOpenFileName(this,tr("Open Json file"),"",tr("Json file (*.json)")); - - QFile file(filename); - if (file.open(QIODevice::ReadOnly)){ - ui->textEdit->setPlainText(file.readAll()); - file.close(); - ui->tabWidget->setCurrentIndex(0); - } - - - -} - -void MainWindow::tabChanged(int index) -{ - - if (index == 0) { - if (!mModel->loadJson(ui->textEdit->toPlainText().toUtf8())) - QMessageBox::warning(this,"error","Cannot load Json Data"); - } - - -} - - - diff --git a/mainwindow.h b/mainwindow.h deleted file mode 100644 index 1b27a11..0000000 --- a/mainwindow.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include -#include -#include -#include "qjsonmodel.h" -namespace Ui { -class MainWindow; -} - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -public slots: - void openFile(); - void tabChanged(int index); - -private: - Ui::MainWindow *ui; - QJsonDocument mDocument; - QJsonModel * mModel; -}; - -#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui deleted file mode 100644 index 45d74ea..0000000 --- a/mainwindow.ui +++ /dev/null @@ -1,91 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 579 - 318 - - - - MainWindow - - - - - - - 1 - - - - Tree - - - - - - - - - - Raw - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">{ &quot;firstName&quot;: &quot;John&quot;, &quot;lastName&quot;: &quot;Smith&quot;, &quot;age&quot;: 25, &quot;address&quot;: { &quot;streetAddress&quot;: &quot;21 2nd Street&quot;, &quot;city&quot;: &quot;New York&quot;, &quot;state&quot;: &quot;NY&quot;, &quot;postalCode&quot;: &quot;10021&quot; }, &quot;phoneNumber&quot;: [ { &quot;type&quot;: &quot;home&quot;, &quot;number&quot;: &quot;212 555-1234&quot; }, { &quot;type&quot;: &quot;fax&quot;, &quot;number&quot;: &quot;646 555-4567&quot; } ], &quot;gender&quot;: { &quot;type&quot;: &quot;male&quot; } }</p></body></html> - - - false - - - - - - - - - - - - - 0 - 0 - 579 - 21 - - - - - File - - - - - - - - - - Open ... - - - - - Close - - - - - - - diff --git a/qjsonitem.cpp b/qjsonitem.cpp deleted file mode 100644 index b278913..0000000 --- a/qjsonitem.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - QJsonModel is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with QJsonModel. If not, see . - -**********************************************/ - -#include "qjsonitem.h" - -QJsonTreeItem::QJsonTreeItem(QJsonTreeItem *parent) -{ - - mParent = parent; - - -} - -QJsonTreeItem::~QJsonTreeItem() -{ - qDeleteAll(mChilds); - -} - -void QJsonTreeItem::appendChild(QJsonTreeItem *item) -{ - mChilds.append(item); -} - -QJsonTreeItem *QJsonTreeItem::child(int row) -{ - return mChilds.value(row); -} - -QJsonTreeItem *QJsonTreeItem::parent() -{ - return mParent; -} - -int QJsonTreeItem::childCount() const -{ - return mChilds.count(); -} - -int QJsonTreeItem::row() const -{ - if (mParent) - return mParent->mChilds.indexOf(const_cast(this)); - - return 0; -} - -void QJsonTreeItem::setKey(const QString &key) -{ - mKey = key; -} - -void QJsonTreeItem::setValue(const QString &value) -{ - mValue = value; -} - -void QJsonTreeItem::setType(const QJsonValue::Type &type) -{ - mType = type; -} - -QString QJsonTreeItem::key() const -{ - return mKey; -} - -QString QJsonTreeItem::value() const -{ - return mValue; -} - -QJsonValue::Type QJsonTreeItem::type() const -{ - return mType; -} - -QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* parent) -{ - - - QJsonTreeItem * rootItem = new QJsonTreeItem(parent); - rootItem->setKey("root"); - - if ( value.isObject()) - { - - //Get all QJsonValue childs - foreach (QString key , value.toObject().keys()){ - QJsonValue v = value.toObject().value(key); - QJsonTreeItem * child = load(v,rootItem); - child->setKey(key); - child->setType(v.type()); - rootItem->appendChild(child); - - } - - } - - else if ( value.isArray()) - { - //Get all QJsonValue childs - int index = 0; - foreach (QJsonValue v , value.toArray()){ - - QJsonTreeItem * child = load(v,rootItem); - child->setKey(QString::number(index)); - child->setType(v.type()); - rootItem->appendChild(child); - ++index; - } - } - else - { - rootItem->setValue(value.toVariant().toString()); - rootItem->setType(value.type()); - } - - return rootItem; -} - diff --git a/qjsonitem.h b/qjsonitem.h deleted file mode 100644 index 6e030c6..0000000 --- a/qjsonitem.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef JSONITEM_H -#define JSONITEM_H -#include -#include -#include -#include -class QJsonTreeItem -{ -public: - QJsonTreeItem(QJsonTreeItem * parent = 0); - ~QJsonTreeItem(); - void appendChild(QJsonTreeItem * item); - QJsonTreeItem *child(int row); - QJsonTreeItem *parent(); - int childCount() const; - int row() const; - void setKey(const QString& key); - void setValue(const QString& value); - void setType(const QJsonValue::Type& type); - QString key() const; - QString value() const; - QJsonValue::Type type() const; - - - static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = 0); - -protected: - - -private: - QString mKey; - QString mValue; - QJsonValue::Type mType; - - QList mChilds; - QJsonTreeItem * mParent; - - -}; - -#endif // JSONITEM_H diff --git a/qjsonmodel.cpp b/qjsonmodel.cpp index 45086b7..96cd263 100644 --- a/qjsonmodel.cpp +++ b/qjsonmodel.cpp @@ -1,30 +1,147 @@ -/*********************************************** - Copyright (C) 2014 Schutz Sacha - This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). - - QJsonModel is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - QJsonModel is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with QJsonModel. If not, see . - -**********************************************/ +/* + * The MIT License (MIT) + * + * Copyright (c) 2011 SCHUTZ Sacha + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #include "qjsonmodel.h" #include #include -#include -#include -#include #include + +QJsonTreeItem::QJsonTreeItem(QJsonTreeItem *parent) +{ + mParent = parent; +} + +QJsonTreeItem::~QJsonTreeItem() +{ + qDeleteAll(mChilds); +} + +void QJsonTreeItem::appendChild(QJsonTreeItem *item) +{ + mChilds.append(item); +} + +QJsonTreeItem *QJsonTreeItem::child(int row) +{ + return mChilds.value(row); +} + +QJsonTreeItem *QJsonTreeItem::parent() +{ + return mParent; +} + +int QJsonTreeItem::childCount() const +{ + return mChilds.count(); +} + +int QJsonTreeItem::row() const +{ + if (mParent) + return mParent->mChilds.indexOf(const_cast(this)); + + return 0; +} + +void QJsonTreeItem::setKey(const QString &key) +{ + mKey = key; +} + +void QJsonTreeItem::setValue(const QString &value) +{ + mValue = value; +} + +void QJsonTreeItem::setType(const QJsonValue::Type &type) +{ + mType = type; +} + +QString QJsonTreeItem::key() const +{ + return mKey; +} + +QString QJsonTreeItem::value() const +{ + return mValue; +} + +QJsonValue::Type QJsonTreeItem::type() const +{ + return mType; +} + +QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* parent) +{ + + + QJsonTreeItem * rootItem = new QJsonTreeItem(parent); + rootItem->setKey("root"); + + if ( value.isObject()) + { + + //Get all QJsonValue childs + for (QString key : value.toObject().keys()){ + QJsonValue v = value.toObject().value(key); + QJsonTreeItem * child = load(v,rootItem); + child->setKey(key); + child->setType(v.type()); + rootItem->appendChild(child); + + } + + } + + else if ( value.isArray()) + { + //Get all QJsonValue childs + int index = 0; + for (QJsonValue v : value.toArray()){ + + QJsonTreeItem * child = load(v,rootItem); + child->setKey(QString::number(index)); + child->setType(v.type()); + rootItem->appendChild(child); + ++index; + } + } + else + { + rootItem->setValue(value.toVariant().toString()); + rootItem->setType(value.type()); + } + + return rootItem; +} + +//========================================================================= + QJsonModel::QJsonModel(QObject *parent) : QAbstractItemModel(parent) { @@ -68,6 +185,8 @@ bool QJsonModel::loadJson(const QByteArray &json) endResetModel(); return true; } + + qDebug()<(index.internalPointer()); - if ((role == Qt::DecorationRole) && (index.column() == 0)){ - - return mTypeIcons.value(item->type()); - } - - if (role == Qt::DisplayRole) { if (index.column() == 0) @@ -169,7 +282,3 @@ int QJsonModel::columnCount(const QModelIndex &parent) const return 2; } -void QJsonModel::setIcon(const QJsonValue::Type &type, const QIcon &icon) -{ - mTypeIcons.insert(type,icon); -} diff --git a/qjsonmodel.h b/qjsonmodel.h index cdb6caf..590c122 100644 --- a/qjsonmodel.h +++ b/qjsonmodel.h @@ -1,11 +1,75 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2011 SCHUTZ Sacha + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #ifndef QJSONMODEL_H #define QJSONMODEL_H #include -#include "qjsonitem.h" #include +#include +#include #include #include + +class QJsonModel; +class QJsonItem; + +class QJsonTreeItem +{ +public: + QJsonTreeItem(QJsonTreeItem * parent = 0); + ~QJsonTreeItem(); + void appendChild(QJsonTreeItem * item); + QJsonTreeItem *child(int row); + QJsonTreeItem *parent(); + int childCount() const; + int row() const; + void setKey(const QString& key); + void setValue(const QString& value); + void setType(const QJsonValue::Type& type); + QString key() const; + QString value() const; + QJsonValue::Type type() const; + + + static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = 0); + +protected: + + +private: + QString mKey; + QString mValue; + QJsonValue::Type mType; + QList mChilds; + QJsonTreeItem * mParent; + + +}; + +//--------------------------------------------------- + class QJsonModel : public QAbstractItemModel { Q_OBJECT @@ -14,21 +78,17 @@ public: bool load(const QString& fileName); bool load(QIODevice * device); bool loadJson(const QByteArray& json); - QVariant data(const QModelIndex &index, int role) const; - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QModelIndex index(int row, int column,const QModelIndex &parent = QModelIndex()) const; - QModelIndex parent(const QModelIndex &index) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; - void setIcon(const QJsonValue::Type& type, const QIcon& icon); - - + QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE; + QVariant headerData(int section, Qt::Orientation orientation, int role) const Q_DECL_OVERRIDE; + QModelIndex index(int row, int column,const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; + QModelIndex parent(const QModelIndex &index) const Q_DECL_OVERRIDE; + int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; + int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; private: QJsonTreeItem * mRootItem; QJsonDocument mDocument; QStringList mHeaders; - QHash mTypeIcons; }; diff --git a/resource.qrc b/resource.qrc deleted file mode 100644 index cdb5055..0000000 --- a/resource.qrc +++ /dev/null @@ -1,12 +0,0 @@ - - - icons/brick.png - icons/bullet_black.png - icons/bullet_blue.png - icons/bullet_green.png - icons/bullet_orange.png - icons/bullet_purple.png - icons/bullet_red.png - icons/table.png - - diff --git a/screen.png b/screen.png index 17f74122b03a65e35fe3da4cf131a44987b273dd..6d904d39645356c505f025ca2555f725eb7142cf 100644 GIT binary patch literal 50750 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

x^ZzfvTo8cpWL}-$a6b#xf}}=`#V49-1QRg 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%0A!Smqa3!Zi5nv%F^q-xt%Rx$MAhqL+>{ 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 S?D$WSDJSKWWZxapbNzpZ