import QtQuick import QtQuick.Controls import roulette Item { required property int betType required property int index_ required property int offsetX required property int offsetY id: betButton Rectangle { id: selected visible: true height: parent.height width: parent.width border.color: "blue" border.width: 0 color: { if (rouletteTable.numberOfBets < 2 || border.width == 2) { if (tapHandler.pressed) { "#88999999" } else if (hoverHandler.hovered) { "#88EEEEEE" } else { "#00000000" } } else { "#00000000" } } HoverHandler { id: hoverHandler } TapHandler { id: tapHandler onTapped: { if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) { parent.border.width = 2 roulette.showBetInputDialog(betType, index_, betButton.parent.x + offsetX, betButton.parent.y + offsetY) } else if (parent.border.width == 2) { parent.border.width = 0 PlayerAreaModel.removeBet(betType, index_) rouletteTable.numberOfBets -= 1 } } } Connections { target: PlayerAreaModel function onFocusedPlayerChanged(b1, n1, b2, n2) { if (b1 == betType && n1 == index_) { if (selected.border.width != 0) { rouletteTable.numberOfBets -=1 } selected.border.width = 2; rouletteTable.numberOfBets += 1 } else if (b2 == betType && n2 == index_) { if (selected.border.width != 0) { rouletteTable.numberOfBets -=1 } selected.border.width = 2; rouletteTable.numberOfBets += 1 } else { if (selected.border.width != 0) { rouletteTable.numberOfBets -=1 } selected.border.width = 0; } } function onBetCanceled(b, n) { if (b == betType && index_ == n) { selected.border.width = 0 } } } } }