Added Column bets.
Also created a new BetButton QML file to be shared with all bets.
This commit is contained in:
parent
56a4bdccce
commit
b28ff9bb39
5 changed files with 105 additions and 153 deletions
88
BetButton.qml
Normal file
88
BetButton.qml
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
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) {
|
||||||
|
"#AA999999"
|
||||||
|
} else if (hoverHandler.hovered) {
|
||||||
|
"#AAEEEEEE"
|
||||||
|
} 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.x + offsetX,
|
||||||
|
betButton.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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -47,8 +47,8 @@ Dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
onActiveFocusChanged: {
|
onActiveFocusChanged: {
|
||||||
dialog.x = 120 + squareX
|
dialog.x = squareX
|
||||||
dialog.y = 60 + squareY
|
dialog.y = squareY
|
||||||
}
|
}
|
||||||
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
|
|
|
@ -35,6 +35,7 @@ qt_add_qml_module(roulette-payout
|
||||||
QML_FILES
|
QML_FILES
|
||||||
Root.qml
|
Root.qml
|
||||||
BetInputDialog.qml
|
BetInputDialog.qml
|
||||||
|
BetButton.qml
|
||||||
PlayerAreaView.qml
|
PlayerAreaView.qml
|
||||||
Roulette.qml
|
Roulette.qml
|
||||||
StreetBetsView.qml
|
StreetBetsView.qml
|
||||||
|
|
78
Columns.qml
78
Columns.qml
|
@ -1,6 +1,5 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls
|
|
||||||
|
|
||||||
import roulette
|
import roulette
|
||||||
|
|
||||||
|
@ -20,83 +19,16 @@ Item {
|
||||||
model: 3
|
model: 3
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
||||||
id: betButton
|
|
||||||
height: 43
|
height: 43
|
||||||
width: 35
|
width: 35
|
||||||
|
|
||||||
Rectangle {
|
BetButton {
|
||||||
id: selected
|
index_: index
|
||||||
visible: true
|
betType: 10
|
||||||
height: parent.height
|
height: parent.height
|
||||||
width: parent.width
|
width: parent.width
|
||||||
border.color: "blue"
|
offsetX: 510
|
||||||
border.width: 0
|
offsetY: 110
|
||||||
|
|
||||||
color: {
|
|
||||||
if (rouletteTable.numberOfBets < 2 || border.width == 2) {
|
|
||||||
if (tapHandler1.pressed) {
|
|
||||||
"#AA999999"
|
|
||||||
} else if (hoverHandler.hovered) {
|
|
||||||
"#AAEEEEEE"
|
|
||||||
} else {
|
|
||||||
"#00000000"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
"#00000000"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
HoverHandler {
|
|
||||||
id: hoverHandler
|
|
||||||
}
|
|
||||||
TapHandler {
|
|
||||||
id: tapHandler1
|
|
||||||
|
|
||||||
onTapped: {
|
|
||||||
if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) {
|
|
||||||
parent.border.width = 2
|
|
||||||
roulette.showBetInputDialog(PlayerAreaModel.COLUMN, index, betButton.x, betButton.y)
|
|
||||||
} else if (parent.border.width == 2) {
|
|
||||||
parent.border.width = 0
|
|
||||||
PlayerAreaModel.removeBet(PlayerAreaModel.COLUMN, index)
|
|
||||||
rouletteTable.numberOfBets -= 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: PlayerAreaModel
|
|
||||||
|
|
||||||
function onFocusedPlayerChanged(b1, n1, b2, n2) {
|
|
||||||
if (b1 == PlayerAreaModel.COLUMN && n1 == index) {
|
|
||||||
if (selected.border.width != 0) {
|
|
||||||
rouletteTable.numberOfBets -=1
|
|
||||||
}
|
|
||||||
|
|
||||||
selected.border.width = 2;
|
|
||||||
rouletteTable.numberOfBets += 1
|
|
||||||
} else if (b2 == PlayerAreaModel.COLUMN && 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 == PlayerAreaModel.COLUMN && index == n) {
|
|
||||||
selected.border.width = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,90 +23,21 @@ Item {
|
||||||
Repeater {
|
Repeater {
|
||||||
model: 12
|
model: 12
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This item needs to be here because BetButton can't inherit
|
||||||
|
* "index" from Repeater even though it is just a QItem itself
|
||||||
|
*/
|
||||||
Item {
|
Item {
|
||||||
|
|
||||||
id: betButton
|
|
||||||
height: 45
|
height: 45
|
||||||
width: 35
|
width: 35
|
||||||
|
|
||||||
Rectangle {
|
BetButton {
|
||||||
id: selected
|
index_: index
|
||||||
visible: true
|
betType: 8
|
||||||
height: parent.height
|
height: parent.height
|
||||||
width: parent.width
|
width: parent.width
|
||||||
border.color: "blue"
|
offsetX: 110
|
||||||
border.width: 0
|
offsetY: 58
|
||||||
|
|
||||||
color: {
|
|
||||||
if (rouletteTable.numberOfBets < 2 || border.width == 2) {
|
|
||||||
if (tapHandler1.pressed) {
|
|
||||||
"#AA999999"
|
|
||||||
} else if (hoverHandler.hovered) {
|
|
||||||
"#AAEEEEEE"
|
|
||||||
} else {
|
|
||||||
"#00000000"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
"#00000000"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
HoverHandler {
|
|
||||||
id: hoverHandler
|
|
||||||
}
|
|
||||||
TapHandler {
|
|
||||||
id: tapHandler1
|
|
||||||
|
|
||||||
onTapped: {
|
|
||||||
if (rouletteTable.numberOfBets < 2 && parent.border.width == 0) {
|
|
||||||
parent.border.width = 2
|
|
||||||
/* this is where we create the dialog box on demand */
|
|
||||||
roulette.showBetInputDialog(PlayerAreaModel.STREET, index, betButton.x, betButton.y)
|
|
||||||
} else if (parent.border.width == 2) {
|
|
||||||
parent.border.width = 0
|
|
||||||
PlayerAreaModel.removeBet(PlayerAreaModel.STREET, index)
|
|
||||||
rouletteTable.numberOfBets -= 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PlayerAreaModel is a singleton (AKA global) object, and Connections is used
|
|
||||||
* to make these "onReceivedSignal" slots to do something after PlayerAreaModel
|
|
||||||
* acts
|
|
||||||
*/
|
|
||||||
Connections {
|
|
||||||
target: PlayerAreaModel
|
|
||||||
|
|
||||||
function onFocusedPlayerChanged(b1, n1, b2, n2) {
|
|
||||||
if (b1 == PlayerAreaModel.STREET && n1 == index) {
|
|
||||||
if (selected.border.width != 0) {
|
|
||||||
rouletteTable.numberOfBets -=1
|
|
||||||
}
|
|
||||||
|
|
||||||
selected.border.width = 2;
|
|
||||||
rouletteTable.numberOfBets += 1
|
|
||||||
} else if (b2 == PlayerAreaModel.STREET && 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 == PlayerAreaModel.STREET && index == n) {
|
|
||||||
selected.border.width = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue