mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
statistics/mobile: add variable2 operations combo-box
Copy paste of the other combo boxes. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
9a0c5df744
commit
5cfa13694c
3 changed files with 37 additions and 0 deletions
|
@ -98,6 +98,24 @@ Kirigami.Page {
|
|||
}
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
id: i5
|
||||
Layout.column: wide ? 0 : 2
|
||||
Layout.row: wide ? 4 : 1
|
||||
Layout.margins: Kirigami.Units.smallSpacing
|
||||
TemplateLabelSmall {
|
||||
text: qsTr("Operation")
|
||||
}
|
||||
TemplateComboBox {
|
||||
id: var2Operation
|
||||
model: statsManager.operation2List
|
||||
currentIndex: statsManager.operation2Index;
|
||||
Layout.fillWidth: false
|
||||
onCurrentIndexChanged: {
|
||||
statsManager.var2OperationChanged(currentIndex)
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
Layout.column: wide ? 0 : 4
|
||||
Layout.row: wide ? 4 : 0
|
||||
|
|
|
@ -51,14 +51,17 @@ void StatsManager::updateUi()
|
|||
setBinnerList(uiState.binners1, binner1List, binner1Index);
|
||||
setVariableList(uiState.var2, var2List, var2Index);
|
||||
setBinnerList(uiState.binners2, binner2List, binner2Index);
|
||||
setVariableList(uiState.operations2, operation2List, operation2Index);
|
||||
var1ListChanged();
|
||||
binner1ListChanged();
|
||||
var2ListChanged();
|
||||
binner2ListChanged();
|
||||
operation2ListChanged();
|
||||
var1IndexChanged();
|
||||
binner1IndexChanged();
|
||||
var2IndexChanged();
|
||||
binner2IndexChanged();
|
||||
operation2IndexChanged();
|
||||
|
||||
if (view)
|
||||
view->plot(state);
|
||||
|
@ -93,3 +96,12 @@ void StatsManager::var2BinnerChanged(int idx)
|
|||
state.binner2Changed(idx);
|
||||
updateUi();
|
||||
}
|
||||
|
||||
void StatsManager::var2OperationChanged(int idx)
|
||||
{
|
||||
if (uiState.var2.variables.empty())
|
||||
return;
|
||||
idx = std::clamp(idx, 0, (int)uiState.operations2.variables.size());
|
||||
state.var2OperationChanged(uiState.operations2.variables[idx].id);
|
||||
updateUi();
|
||||
}
|
||||
|
|
|
@ -14,10 +14,12 @@ public:
|
|||
Q_PROPERTY(QStringList binner1List MEMBER binner1List NOTIFY binner1ListChanged)
|
||||
Q_PROPERTY(QStringList var2List MEMBER var2List NOTIFY var2ListChanged)
|
||||
Q_PROPERTY(QStringList binner2List MEMBER binner2List NOTIFY binner2ListChanged)
|
||||
Q_PROPERTY(QStringList operation2List MEMBER operation2List NOTIFY operation2ListChanged)
|
||||
Q_PROPERTY(int var1Index MEMBER var1Index NOTIFY var1IndexChanged)
|
||||
Q_PROPERTY(int binner1Index MEMBER binner1Index NOTIFY binner1IndexChanged)
|
||||
Q_PROPERTY(int var2Index MEMBER var2Index NOTIFY var2IndexChanged)
|
||||
Q_PROPERTY(int binner2Index MEMBER binner2Index NOTIFY binner2IndexChanged)
|
||||
Q_PROPERTY(int operation2Index MEMBER operation2Index NOTIFY operation2IndexChanged)
|
||||
|
||||
StatsManager();
|
||||
~StatsManager();
|
||||
|
@ -27,15 +29,18 @@ public:
|
|||
Q_INVOKABLE void var1BinnerChanged(int idx);
|
||||
Q_INVOKABLE void var2Changed(int idx);
|
||||
Q_INVOKABLE void var2BinnerChanged(int idx);
|
||||
Q_INVOKABLE void var2OperationChanged(int idx);
|
||||
signals:
|
||||
void var1ListChanged();
|
||||
void binner1ListChanged();
|
||||
void var2ListChanged();
|
||||
void binner2ListChanged();
|
||||
void operation2ListChanged();
|
||||
void var1IndexChanged();
|
||||
void binner1IndexChanged();
|
||||
void var2IndexChanged();
|
||||
void binner2IndexChanged();
|
||||
void operation2IndexChanged();
|
||||
private:
|
||||
StatsView *view;
|
||||
StatsState state;
|
||||
|
@ -43,10 +48,12 @@ private:
|
|||
QStringList binner1List;
|
||||
QStringList var2List;
|
||||
QStringList binner2List;
|
||||
QStringList operation2List;
|
||||
int var1Index;
|
||||
int binner1Index;
|
||||
int var2Index;
|
||||
int binner2Index;
|
||||
int operation2Index;
|
||||
StatsState::UIState uiState; // Remember UI state so that we can interpret indexes
|
||||
void updateUi();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue