Skip to content

Commit e13fb8a

Browse files
committed
Add model to tree view
1 parent c0c4b54 commit e13fb8a

File tree

3 files changed

+33
-3
lines changed

3 files changed

+33
-3
lines changed

src/gui/qgsexpressionbuilder.cpp

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,20 @@
1616
#include "qgsexpressionbuilder.h"
1717
#include "ui_qgsexpressionbuilder.h"
1818

19+
1920
QgsExpressionBuilderWidget::QgsExpressionBuilderWidget(QgsVectorLayer *layer)
2021
: QWidget(),
2122
mLayer( layer )
2223
{
2324
setupUi(this);
2425
if (!layer) return;
26+
mModel = new QStandardItemModel();
27+
expressionTree->setModel(mModel);
28+
QStandardItem* operators = new QStandardItem('Operators');
29+
mModel->appendRow(operators);
30+
//mExpressionGroups.insert("Operators",operators);
31+
32+
//this->registerFunction("Operators","+"," + ");
2533
}
2634

2735
QgsExpressionBuilderWidget::~QgsExpressionBuilderWidget()
@@ -49,7 +57,7 @@ void QgsExpressionBuilderWidget::loadFieldNames()
4957

5058
//insert into field list and field combo box
5159
//mFieldMap.insert( fieldName, fieldIt.key() );
52-
mFieldsListWidget->addItem( fieldName );
60+
//mFieldsListWidget->addItem( fieldName );
5361
}
5462
}
5563

@@ -61,7 +69,18 @@ void QgsExpressionBuilderWidget::fillFieldValues(int fieldIndex, int countLimit)
6169

6270
foreach(QVariant value, values)
6371
{
64-
mValueListWidget->addItem(value.toString());
72+
//mValueListWidget->addItem(value.toString());
73+
}
74+
}
75+
76+
void QgsExpressionBuilderWidget::registerFunction(QString group, QString label, QString expressionText)
77+
{
78+
// Look up the group and insert the new function.
79+
if (mExpressionGroups.contains(group))
80+
{
81+
QStandardItem* groupNode = mExpressionGroups.value(group);
82+
QStandardItem* item = new QStandardItem(label);
83+
groupNode->appendRow(item);
6584
}
6685
}
6786

src/gui/qgsexpressionbuilder.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
#include "ui_qgsexpressionbuilder.h"
2121
#include "qgsvectorlayer.h"
2222

23+
#include "QStandardItemModel"
24+
#include "QStandardItem"
25+
2326
class QgsExpressionBuilderWidget : public QWidget, private Ui::QgsExpressionBuilder {
2427
Q_OBJECT
2528
public:
@@ -30,10 +33,15 @@ class QgsExpressionBuilderWidget : public QWidget, private Ui::QgsExpressionBuil
3033
void fillFieldValues(int fieldIndex, int countLimit);
3134
QString getExpressionString();
3235
void setExpressionString(const QString expressionString);
36+
void registerFunction(QString group, QString label, QString expressionText);
37+
3338
public slots:
3439
void on_mAllPushButton_clicked();
40+
3541
private:
3642
QgsVectorLayer* mLayer;
43+
QStandardItemModel* mModel;
44+
QMap<QString, QStandardItem*> mExpressionGroups;
3745
};
3846

3947
#endif // QGSEXPRESSIONBUILDER_H

src/ui/qgsexpressionbuilder.ui

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,16 @@
2727
<number>0</number>
2828
</property>
2929
<item row="0" column="0">
30-
<widget class="QTreeView" name="treeView">
30+
<widget class="QTreeView" name="expressionTree">
3131
<property name="frameShape">
3232
<enum>QFrame::StyledPanel</enum>
3333
</property>
3434
<property name="frameShadow">
3535
<enum>QFrame::Sunken</enum>
3636
</property>
37+
<property name="editTriggers">
38+
<set>QAbstractItemView::NoEditTriggers</set>
39+
</property>
3740
<property name="uniformRowHeights">
3841
<bool>false</bool>
3942
</property>

0 commit comments

Comments
 (0)