Skip to content

Commit

Permalink
disable buttons that don't apply when the tiletype does not apply
Browse files Browse the repository at this point in the history
  • Loading branch information
SimplyLiz committed Feb 6, 2021
1 parent 7bf7753 commit a1c6a57
Showing 1 changed file with 68 additions and 2 deletions.
70 changes: 68 additions & 2 deletions src/TileDataUI.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,41 @@ void TileDataUI::setup(Ui_TileSetDataUi& ui, Ui_TileDataUi& parentUI)
{
ui.pickRandomTile->setChecked(false);
}
});
// disable buttons if necessary
if (TileType::_from_integral(tileType == +TileType::RCI))
{
for (int i = 0; i < parentUI.zoneButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.zoneButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
for (int i = 0; i < parentUI.wealthButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.wealthButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
for (int i = 0; i < parentUI.stylesButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.stylesButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
}
else
{
for (int i = 0; i < parentUI.zoneButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.zoneButtonsHorizontalLayout->itemAt(i)->widget())->setChecked(false);
dynamic_cast<QPushButton*>(parentUI.zoneButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
for (int i = 0; i < parentUI.wealthButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.wealthButtonsHorizontalLayout->itemAt(i)->widget())->setChecked(false);
dynamic_cast<QPushButton*>(parentUI.wealthButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
for (int i = 0; i < parentUI.stylesButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(parentUI.stylesButtonsHorizontalLayout->itemAt(i)->widget())->setChecked(false);
dynamic_cast<QPushButton*>(parentUI.stylesButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
}
});

connect(ui.count, QOverload<int>::of(&QSpinBox::valueChanged), this, [ui, parentUI, this](int value) {
int numCount = ui.count->value();
Expand Down Expand Up @@ -321,7 +355,7 @@ bool TileDataUI::loadFile(const QString& fileName)

root->addChild(newTreeItem(tile));
}

tree->resizeColumnToContents(0);
tree->resize(tree->columnWidth(0), tree->height());

Expand Down Expand Up @@ -401,6 +435,38 @@ void TileDataUI::itemSelected(QTreeWidgetItem* current, QTreeWidgetItem* previou
// show current item values
TileData tile = tileContainer.getTileData(current->data(0, Qt::UserRole).toString());
readFromTileData(tile);

// disable buttons if necessary
if (TileType::_from_integral(ui.TileTypeComboBox->currentIndex()) == +TileType::RCI)
{
for (int i = 0; i < ui.zoneButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.zoneButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
for (int i = 0; i < ui.wealthButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.wealthButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
for (int i = 0; i < ui.stylesButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.stylesButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(true);
}
}
else
{
for (int i = 0; i < ui.zoneButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.zoneButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
for (int i = 0; i < ui.wealthButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.wealthButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
for (int i = 0; i < ui.stylesButtonsHorizontalLayout->count(); ++i)
{
dynamic_cast<QPushButton*>(ui.stylesButtonsHorizontalLayout->itemAt(i)->widget())->setEnabled(false);
}
}
}

//--------------------------------------------------------------------------------
Expand Down

0 comments on commit a1c6a57

Please sign in to comment.