Skip to content
Snippets Groups Projects
Commit 2671c276 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Highlight cells with same value as currently selected one

parent a62ccdcc
No related branches found
No related tags found
1 merge request!19Resolve "Highlight all same cells as current selected"
Pipeline #1554 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.19
app.versionCode=19
app.versionName=0.0.20
app.versionCode=20
......@@ -35,7 +35,7 @@ class Cell {
),
onTap: () {
if (col != null && row != null) {
if (!this.isFixed && (col != myProvider.currentCellCol || row != myProvider.currentCellRow)) {
if (col != myProvider.currentCellCol || row != myProvider.currentCellRow) {
myProvider.selectCell(col, row);
} else {
myProvider.selectCell(null, null);
......@@ -51,6 +51,8 @@ class Cell {
Color editableCellColorConflict = Colors.pink[100];
Color fixedCellColor = Colors.grey[300];
Color fixedCellColorConflict = Colors.pink[200];
Color editableSelectedValueColor = Colors.green[100];
Color fixedSelectedValueColor = Colors.green[300];
Color backgroundColor = editableCellColor;
......@@ -66,6 +68,14 @@ class Cell {
}
}
if (myProvider.showConflicts && (this.value == myProvider.currentCellValue)) {
if (this.isFixed) {
backgroundColor = fixedSelectedValueColor;
} else {
backgroundColor = editableSelectedValueColor;
}
}
return backgroundColor;
}
......
......@@ -30,6 +30,7 @@ class Game {
Color borderColor = Colors.blue;
bool isCellSelected = (myProvider.currentCellCol != null && myProvider.currentCellRow != null);
bool isUpdatableCellSelected = isCellSelected ? !myProvider.cells[myProvider.currentCellRow][myProvider.currentCellCol].isFixed : false;
int maxValue = myProvider.blockSizeHorizontal * myProvider.blockSizeVertical;
return Container(
......@@ -45,7 +46,7 @@ class Game {
Column(
children: [
Cell(
isCellSelected ? value : 0,
isUpdatableCellSelected ? value : 0,
false
).widgetUpdateValue(myProvider)
]
......
......@@ -24,6 +24,7 @@ class Data extends ChangeNotifier {
List _cells = [];
int _currentCellCol = null;
int _currentCellRow = null;
int _currentCellValue = null;
String get level => _level;
set updateLevel(String level) {
......@@ -104,9 +105,21 @@ class Data extends ChangeNotifier {
notifyListeners();
}
int get currentCellValue => _currentCellValue;
set updateCurrentCellValue(int currentCellValue) {
_currentCellValue = currentCellValue;
notifyListeners();
}
selectCell(int col, int row) {
_currentCellCol = col;
_currentCellRow = row;
_currentCellValue = null;
if (row != null && col != null) {
if (_cells[row][col].value != 0) {
_currentCellValue = _cells[row][col].value;
}
}
notifyListeners();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment