Skip to content

Commit a30b04a

Browse files
committed
removeAll feature added on ptr list
1 parent a5a7d1b commit a30b04a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/JObject.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
void insert##t(int ind, t* i){QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.insert(ind,v);}} \
141141
void remove##t(t* i){QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);}} \
142142
t* remove##t##At(int ind){t* i = _##x.at(ind).value<t*>(); QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);} return i;} \
143+
Q_INVOKABLE void removeAll##t() {for (int i = _##x.length() - 1; i >= 0; i--) (_##x.at(i).value<t*>())->deleteLater(); _##x.clear();} \
143144
public: Q_INVOKABLE int count##t()const {return _##x.length();} \
144145
Q_INVOKABLE t* item##t##At(int i) {return _##x.at(i).value<t*>();} \
145146
Q_INVOKABLE bool item##t##Exist(t* i) const {QVariant v = QVariant::fromValue(i); if (v.isValid()) { return _##x.contains(v);} else return false;}
@@ -154,6 +155,7 @@
154155
void insert##t(int ind, t* i){QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.insert(ind,v);}} \
155156
void remove##t(t* i){QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);}} \
156157
t* remove##t##At(int ind){t* i = _##x.at(ind).value<t*>(); QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);} return i;} \
158+
Q_INVOKABLE void removeAll##t() {for (int i = _##x.length() - 1; i >= 0; i--) (_##x.at(i).value<t*>())->deleteLater(); _##x.clear();} \
157159
public: Q_INVOKABLE int count##t()const {return _##x.length();} \
158160
Q_INVOKABLE t* item##t##At(int i) {return _##x.at(i).value<t*>();} \
159161
Q_INVOKABLE bool item##t##Exist(t* i) const {QVariant v = QVariant::fromValue(i); if (v.isValid()) { return _##x.contains(v);} else return false;}
@@ -169,6 +171,7 @@
169171
Q_INVOKABLE void remove##t(t* i){QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);}} \
170172
Q_INVOKABLE t* remove##t##At(int ind){t* i = _##x.at(ind).value<t*>(); QVariant v = QVariant::fromValue(i); if (v.isValid()) { _##x.removeAll(v);} return i;} \
171173
Q_INVOKABLE int count##t()const {return _##x.length();} \
174+
Q_INVOKABLE void removeAll##t() {for (int i = _##x.length() - 1; i >= 0; i--) (_##x.at(i).value<t*>())->deleteLater(); _##x.clear();} \
172175
Q_INVOKABLE t* item##t##At(int i) {return _##x.at(i).value<t*>();} \
173176
Q_INVOKABLE bool item##t##Exist(t* i) const {QVariant v = QVariant::fromValue(i); if (v.isValid()) { return _##x.contains(v);} else return false;}
174177

0 commit comments

Comments
 (0)