Subversion Repositories public iLand

Rev

Rev 247 | Rev 252 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 247 Rev 250
Line 153... Line 153...
153
        foreach(ResourceUnit *ru, GlobalSettings::instance()->model()->ruList())
153
        foreach(ResourceUnit *ru, GlobalSettings::instance()->model()->ruList())
154
           ru->cleanTreeList();
154
           ru->cleanTreeList();
155
   }
155
   }
156
}
156
}
157
157
-
 
158
int Management::filter(QVariantList idList)
-
 
159
{
-
 
160
    QHash<int, int> ids;
-
 
161
    foreach(const QVariant &v, idList)
-
 
162
        ids[v.toInt()] = 1;
-
 
163
-
 
164
    QList<QPair<Tree*, double> >::iterator tp=mTrees.begin();
-
 
165
    while (tp!=mTrees.end()) {
-
 
166
        if (!ids.contains(tp->first->id()) )
-
 
167
            tp = mTrees.erase(tp);
-
 
168
        else
-
 
169
            tp++;
-
 
170
    }
-
 
171
    return mTrees.count();
-
 
172
}
-
 
173
-
 
174
int Management::filter(QString filter)
-
 
175
{
-
 
176
    TreeWrapper tw;
-
 
177
    Expression expr(filter,&tw);
-
 
178
    qDebug() << "filtering with" << filter;
-
 
179
    QList<QPair<Tree*, double> >::iterator tp=mTrees.begin();
-
 
180
    while (tp!=mTrees.end()) {
-
 
181
        tw.setTree(tp->first);
-
 
182
        if (!expr.execute())
-
 
183
             tp = mTrees.erase(tp);
-
 
184
        else
-
 
185
            tp++;
-
 
186
    }
-
 
187
    return mTrees.count();
-
 
188
}
158
189
159
int Management::load(QString filter)
190
int Management::load(QString filter)
160
{
191
{
161
    TreeWrapper tw;
192
    TreeWrapper tw;
162
    Model *m = GlobalSettings::instance()->model();
193
    Model *m = GlobalSettings::instance()->model();