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 (PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets == 1 && border.width != 3) { "#00000000" } else if (PlayerAreaModel.focusedPlayer == 0 && betType != 9) { "#00000000" } else if (rouletteTable.numberOfBets < 2 || border.width == 3) { if ((PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets < 1) || PlayerAreaModel.focusedPlayer != 0 || border.width == 3) { if (tapHandler.pressed) { "#88999999" } else if (hoverHandler.hovered) { "#88EEEEEE" } else { "#00000000" } } else { "#00000000" } } else { "#00000000" } } HoverHandler { id: hoverHandler } TapHandler { id: tapHandler onTapped: { if (PlayerAreaModel.focusedPlayer == 0 && rouletteTable.numberOfBets == 1 && parent.border.width != 3) { } else if (PlayerAreaModel.focusedPlayer == 0 && betType != 9) { }else if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) { parent.border.width = 3 /* Don't show this dialog for the croupier */ if (PlayerAreaModel.focusedPlayer != 0) { roulette.showBetInputDialog(betType, index_, betButton.parent.x + offsetX, betButton.parent.y + offsetY) } else { rouletteTable.numberOfBets = 1 PlayerAreaModel.bet(betType, index_, 0) } } else if (parent.border.width == 3) { 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 = 3; rouletteTable.numberOfBets += 1 } else if (b2 == betType && n2 == index_) { if (selected.border.width != 0) { rouletteTable.numberOfBets -=1 } selected.border.width = 3; 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 } } } } }