From 9138adc8235c5392b3806daeabf9c69b335224b6 Mon Sep 17 00:00:00 2001
From: Michael Leuschel <leuschel@uni-duesseldorf.de>
Date: Wed, 30 Jun 2021 19:40:09 +0200
Subject: [PATCH] improve hover and show fixed values differently

---
 Sudoku/SudokuFeld.svg   | 24 +++++++++++++-----------
 Sudoku/visb_sudoku.json | 20 ++++++++++++++------
 2 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/Sudoku/SudokuFeld.svg b/Sudoku/SudokuFeld.svg
index 7e7c784..60a63c8 100644
--- a/Sudoku/SudokuFeld.svg
+++ b/Sudoku/SudokuFeld.svg
@@ -60,12 +60,11 @@
 	}
 	.normalKeyboard {
 		stroke : none;
-		fill : #d4aaff;
+		fill : lightgray;
 	}
 	.hoverKeyboard {
-		stroke: purple;
-		stroke-width: 0.1;
-		fill : purple;
+		stroke : none;
+		fill : #d4aaff;
 	}
 	.clickKeyboard {
 		
@@ -1050,34 +1049,37 @@
 
 <g id="NewGameButton" transform="translate(110,10)">
   <title>NewGame</title>
-  <rect rx="1.2" id="newGameRect" height="9.3" width="59.4" y="0.4" x="0.3" stroke="#6200cc" fill="#7b00ff"/>
-  <text transform="matrix(1 0 0 1 0 0)" font-style="normal"  font-weight="bold" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="3.9" id="NewGameText" y="6.25" x="20.039063" stroke-width="0" stroke="#6000c6" fill="#ffffff" >New Puzzle</text>
+  <rect rx="1.2" id="newGameRect" height="9.3" width="59.4" y="0.4" x="0.3"  class="normalKeypad"/>
+  <text 
+  font-style="normal"  font-weight="bold" xml:space="preserve" text-anchor="start"
+   font-family="sans-serif" font-size="3.9" id="NewGameText" y="6.25" x="20.039063" 
+    fill="slategray" >New Puzzle</text>
  </g>
 
 
  <g id="Tip"  transform="translate(110,22.5)">
   <title>Show feasible values</title>
-  <ellipse ry="7" rx="7" id="TippCircle" cy="7.5" cx="7.5" class="normalKeyboard"/>
-  <text transform="matrix(1 0 0 1 0 0)" class="normalActionbuttons" font-style="normal" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="TippText" y="10.96203" x="4.71516" stroke-width="0" stroke="null" fill="#7f00ff">?</text>
+  <ellipse ry="7" rx="7" id="TipCircle" cy="7.5" cx="7.5" class="normalKeyboard"/>
+  <text transform="matrix(1 0 0 1 0 0)" class="normalActionbuttons" font-style="normal" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="TippText" y="10.96203" x="4.71516" stroke-width="0" stroke="null" fill="black">?</text>
  </g>
 
 <g id="Add" transform="translate(125,22.5)">
   <title>(not available)</title>
   <ellipse ry="7" rx="7" id="AddCircle" cy="7.5" cx="7.5" class="normalKeyboard"/>
-  <text style="cursor: move;" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="AddText" y="10.96203" x="4.71516" stroke-width="0" stroke="null" fill="#7f00ff">+</text>
+  <text style="cursor: move;" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="AddText" y="10.96203" x="4.71516" stroke-width="0" stroke="null" fill="darkgray">+</text>
  </g>
  
  <g id="Remove" transform="translate(140,22.5)">
   <title>Erase cell value</title>
   <ellipse ry="7" rx="7" id="RemoveCircle" cy="7.5" cx="7.5" class="normalKeyboard"/>
-  <text style="cursor: move;" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="RemoveText" y="10" x="6" stroke-width="0" stroke="null" fill="#7f00ff">-</text>
+  <text style="cursor: move;" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="RemoveText" y="10" x="6" stroke-width="0" stroke="null" fill="black">-</text>
  </g>
 
 
 <g id="Solve" transform="translate(155,22.5)">
   <title>Solve the puzzle automatically</title>
   <ellipse ry="7" rx="7" id="SolveCircle" cy="7.5" cx="7.5" class="normalKeyboard"/>
-  <text style="cursor: move;" transform= "scale(-1,1) rotate(-40 -9 9)" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="SolveText" y="11" x="-9" stroke-width="0" stroke="null" fill="#7f00ff">L</text>
+  <text style="cursor: move;" transform= "scale(-1,1) rotate(-40 -9 9)" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="10" id="SolveText" y="11" x="-9" stroke-width="0" stroke="null" fill="black">L</text>
  </g>
 
 <g id="SmallBoxes">
diff --git a/Sudoku/visb_sudoku.json b/Sudoku/visb_sudoku.json
index d5d538e..ad350bb 100644
--- a/Sudoku/visb_sudoku.json
+++ b/Sudoku/visb_sudoku.json
@@ -13,6 +13,13 @@
       "id": "txt_%0_%1",
       "attr": "text",
       "value" : "BOARD(%0)(%1)"
+    },
+	{
+	  "for": {"from":1, "to":9},
+	  "repeat": [1,2,3,4,5,6,7,8,9],
+      "id": "txt_%0_%1",
+      "attr": "fill",
+      "value" : "IF %1:dom(PuzzleBoard(%0)) THEN \"black\" ELSE \"steelblue\" END"
     },
 	{
 	  "for": {"from":1, "to":9},
@@ -54,26 +61,27 @@
                 ]
     },
     {
-	  "id": "Solve",
+	  "id": "SolveCircle",
       "event": "Solve",
       "hovers": [{ "attr":"class", "enter":"hoverKeyboard", "leave":"normalKeyboard"}
                 ]
     },
     {
-	  "id": "Remove",
+	  "id": "RemoveCircle",
       "event": "ClearCurPos",
       "hovers": [{ "attr":"class", "enter":"hoverKeyboard", "leave":"normalKeyboard"}
                 ]
     },
     {
-	  "id": "Tip",
-      "hovers": [{ "id":"TipFrame", "attr":"visibility", "enter":"visible", "leave":"hidden"}
+	  "id": "TipCircle",
+      "hovers": [{ "attr":"class", "enter":"hoverKeyboard", "leave":"normalKeyboard"},
+                 { "id":"TipFrame", "attr":"visibility", "enter":"visible", "leave":"hidden"}
                 ]
     },
     {
-	  "id": "NewGameButton",
+	  "id": "newGameRect",
       "event": "SetPuzzle",
-      "hovers": [{ "attr":"class", "enter":"hoverKeyboard", "leave":"normalKeyboard"}
+      "hovers": [{ "attr":"class", "enter":"hoverKeypad", "leave":"normalKeypad"}
                 ]
     }
   ]
-- 
GitLab