OSDN Git Service

Fixed #3485100 Cancelling 4 grids generation doesn't have expected effect
authorSylvain Vedrenne <svedrenne@users.sourceforge.jp>
Mon, 6 Feb 2012 22:23:16 +0000 (23:23 +0100)
committerSylvain Vedrenne <svedrenne@users.sourceforge.jp>
Mon, 6 Feb 2012 22:23:16 +0000 (23:23 +0100)
README
src/classes/net/jankenpoi/sudokuki/generator/SudokuGenerator.java
src/classes/net/jankenpoi/sudokuki/generator/suexg/SuexgGenerator.java
src/classes/net/jankenpoi/sudokuki/generator/suexg/SuexgJava.java
src/classes/net/jankenpoi/sudokuki/generator/suexg/SuexgProxy.java
src/classes/net/jankenpoi/sudokuki/ui/swing/PrintMultiDialog.java
src/classes/net/jankenpoi/sudokuki/ui/swing/SwingMultiGrid.java

diff --git a/README b/README
index d2aeb7b..e1134ca 100644 (file)
--- a/README
+++ b/README
@@ -3,6 +3,10 @@ Sudokuki - essential sudoku game
 -- Changelog --
 
 - Fixed #3476292 TODO: Application logo for final release
+- Fixed #3485100 Cancelling 4 grids generation doesn't have expected effect
+- Improved aspect of 'resolve grid dialog'
+- Fixed LanguageMenu not in sync with actual locale if changed from LanguageDialog
+
 
 * 2012-02-03 - released Sudokuki 1.1.Beta10
 - Updated french translations.
index 43dfb86..abb1ec0 100644 (file)
@@ -19,6 +19,4 @@ public abstract class SudokuGenerator {
        \r
        public abstract SudokuGrid generateGrid(final int minRating, final int maxRating);\r
 \r
-       public abstract SudokuGrid generateGrid();\r
-       \r
 }\r
index e0b7d6b..1c05d99 100644 (file)
@@ -17,9 +17,5 @@ public abstract class SuexgGenerator extends SudokuGenerator {
        public final static SudokuGenerator getInstance() {
                return INSTANCE;
        }
-
-       public SudokuGrid generateGrid() {
-               return generateGrid(0, 0);
-       }
        
 }
index 6bf9115..e4486a8 100644 (file)
@@ -123,7 +123,7 @@ class SuexgJava extends SuexgGenerator {
        }\r
 \r
        @Override\r
-       public SudokuGrid generateGrid(final int requestedRatingMin, final int requestedRatingMax) {\r
+       public synchronized SudokuGrid generateGrid(final int requestedRatingMin, final int requestedRatingMax) {\r
                System.out.println("SuexgJava.generateGrid()");\r
                Random rand = new Random(System.currentTimeMillis());\r
 \r
@@ -143,7 +143,7 @@ class SuexgJava extends SuexgGenerator {
        }\r
 \r
 \r
-       public int\r
+       private int\r
        gridGenerate(final int seed, final int requestedRatingMin, final int requestedRatingMax, final int[] grid, final int[] rating,\r
                        final int[] grid_with_clues) {\r
 \r
index ecfec28..6980667 100644 (file)
@@ -54,7 +54,7 @@ class SuexgProxy extends SuexgGenerator {
        }
        
        @Override
-       public SudokuGrid generateGrid(int minRating, int maxRating) {
+       public synchronized SudokuGrid generateGrid(int minRating, int maxRating) {
                Random rand = new Random(System.currentTimeMillis());
 
                int[] grid = new int[81];
@@ -74,9 +74,9 @@ class SuexgProxy extends SuexgGenerator {
                return sudoku;
        }
        
-       native int generateSuexgGrid(int inSeed, int minRating, int maxRating, int[] outGrid, int[] outRating,
+       private native int generateSuexgGrid(int inSeed, int minRating, int maxRating, int[] outGrid, int[] outRating,
                        int[] outGridWithClues);
 
-       native int solveCustomGrid(int[] inGrid, int[] outGrid);
+       private native int solveCustomGrid(int[] inGrid, int[] outGrid);
 
 }
index c1dddd6..c1dbfb0 100644 (file)
@@ -34,6 +34,9 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;\r
 import javax.swing.SwingWorker;\r
 \r
+import net.jankenpoi.sudokuki.SudokuGrid;\r
+import net.jankenpoi.sudokuki.generator.SudokuGeneratorFactory;\r
+import net.jankenpoi.sudokuki.preferences.UserPreferences;\r
 import net.jankenpoi.sudokuki.view.GridView;\r
 /**\r
  * CheckUpdateDialog.java\r
@@ -158,7 +161,6 @@ public class PrintMultiDialog extends JDialog {
        }\r
        \r
        private int generateFourGrids() {\r
-               System.out.println("PrintAction.actionPerformed() let try this out...");        \r
                if (dialogCancelled()) {\r
                        return 1;\r
                }\r
@@ -166,12 +168,26 @@ public class PrintMultiDialog extends JDialog {
                if (dialogCancelled()) {\r
                        return 1;\r
                }\r
-               job.setPrintable(new SwingMultiGrid());\r
+               final int minRating = UserPreferences.getInstance().getInteger("minRating", 0);\r
+               final int maxRating = UserPreferences.getInstance().getInteger("maxRating", Integer.MAX_VALUE);\r
+               SudokuGrid su1 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);\r
+               if (dialogCancelled()) {\r
+                       return 1;\r
+               }\r
+               SudokuGrid su2 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);\r
+               if (dialogCancelled()) {\r
+                       return 1;\r
+               }\r
+               SudokuGrid su3 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);\r
+               if (dialogCancelled()) {\r
+                       return 1;\r
+               }\r
+               SudokuGrid su4 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);\r
+               job.setPrintable(new SwingMultiGrid(su1, su2, su3, su4));\r
                if (dialogCancelled()) {\r
                        return 1;\r
                }\r
                boolean doPrint = job.printDialog();\r
-               System.out.println("SwingGrid.mouseExited() doPrint: "+doPrint);\r
                if (doPrint) {\r
                        try {\r
                                if (dialogCancelled()) {\r
index 6894435..b4452ff 100644 (file)
@@ -53,18 +53,16 @@ public class SwingMultiGrid extends JPanel implements Printable {
        private SudokuGrid su3;
        private SudokuGrid su4;
 
-       SwingMultiGrid() {
+       SwingMultiGrid(SudokuGrid su1, SudokuGrid su2, SudokuGrid su3, SudokuGrid su4) {
 
                setPreferredSize(new Dimension(columns[columns.length-1].getEnd()
                                - columns[0].getStart() + offX * 2, rows[rows.length-1].getEnd()
                                - rows[0].getStart() + offY * 2));
 
-               final int minRating = UserPreferences.getInstance().getInteger("minRating", 0);
-               final int maxRating = UserPreferences.getInstance().getInteger("maxRating", Integer.MAX_VALUE);
-               su1 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);
-               su2 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);
-               su3 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);
-               su4 = SudokuGeneratorFactory.getGenerator().generateGrid(minRating, maxRating);
+               this.su1 = su1;
+               this.su2 = su2;
+               this.su3 = su3;
+               this.su4 = su4;
        }
 
        /**