From e23609d04e03f0ab29316535e751b5ae3d8806c9 Mon Sep 17 00:00:00 2001
From: "v.tarantik" <v.tarantik@gmail.com>
Date: Fri, 3 Apr 2015 12:17:39 +0200
Subject: [PATCH] #20 dialod types refactoring, possibility to instantiate
 Image dialog with multiple textures

---
 .../screen/halloffame/HallOfFameScreen.java    | 13 +++----------
 .../tablexia/util/ui/dialog/ImageDialog.java   | 18 ++++++++----------
 .../util/ui/dialog/SingleButtonDialog.java     |  2 +-
 .../util/ui/dialog/TwoButtonDialog.java        |  2 +-
 4 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java b/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
index 30b5cda08..59c0a39ff 100644
--- a/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
+++ b/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
@@ -17,6 +17,7 @@ import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen;
 import cz.nic.tablexia.screen.halloffame.assets.HallOfFameAssets;
 import cz.nic.tablexia.screen.halloffame.helper.TrophyHelper;
+import cz.nic.tablexia.util.ui.dialog.ImageDialog;
 import cz.nic.tablexia.util.ui.dialog.SingleButtonDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaDialog;
 import cz.nic.tablexia.util.ui.dialog.TwoButtonDialog;
@@ -128,17 +129,9 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Void> {
                 Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_PRESSED);
                 imgDoorButton.setDrawable(new SpriteDrawable(new Sprite(textureDoor)));
                 //TODO add action for leaving to main menu
-                new TwoButtonDialog(400, 200, 400, 200, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES, TablexiaDialog.ButtonType.RED,TablexiaDialog.ButtonType.GREEN, "OUKAY","NOUKAY",new DialogTextContent("HOU", "HEY YAAAAAAAAAAAA")) {
-                    @Override
-                    public void leftButtonAction() {
 
-                    }
-
-                    @Override
-                    public void rightButtonAction() {
-
-                    }
-                }.show(getStage());
+                Texture[] textuures = new Texture[]{getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR),getTexture(HallOfFameAssets.HALL_OF_FAME_BACKGROUND_TILE)};
+                new ImageDialog(400, 200, 400, 200, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES,new DialogTextContent("HOU", "HEY YAAAAAAAAAAAA"),textuures).show(getStage());
             }
         });
         foregroundGroup.addActor(imgDoorButton);
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/ImageDialog.java b/core/src/cz/nic/tablexia/util/ui/dialog/ImageDialog.java
index 13af80b9f..ea3cc18aa 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/ImageDialog.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/ImageDialog.java
@@ -12,30 +12,28 @@ import cz.nic.tablexia.util.ui.dialog.text.DialogTextContent;
  * Created by Václav Tarantík on 19.3.15.
  */
 public class ImageDialog extends TablexiaDialog {
-    private List<Texture> texturesList;
+    private Texture[] textures;
 
-    public ImageDialog(float x, float y,float width, float height,BackGroundType backGroundType,List<Texture> texturesList, DialogTextContent dialogTextContent) {
+    public ImageDialog(float x, float y,float width, float height,BackGroundType backGroundType,  DialogTextContent dialogTextContent,Texture... textures) {
         super(x,y,width,height, backGroundType,dialogTextContent);
-        this.texturesList = texturesList;
+        this.textures = textures;
 
         prepareContent(dialogTextContent);
     }
 
-    public ImageDialog(float x, float y,float width, float height,BackGroundType backGroundType,Texture texture, DialogTextContent dialogTextContent){
-        super(x,y,width,height, backGroundType,dialogTextContent);
+    private void prepareContent(DialogTextContent dialogTextContent){
+        getContentTable().row();
+        prepareImages();
     }
 
-    private void prepareContent(DialogTextContent dialogTextContent){
+    private void prepareImages(){
         Table imageGroup = new Table();
 
-        for(Texture texture:texturesList){
+        for(Texture texture:textures){
             Image image = new Image(texture);
             imageGroup.add(image).padBottom(20f);
             imageGroup.row();
         }
         getContentTable().add(imageGroup).width(width/2);
-
-        getContentTable().row();
-        prepareTextContent();
     }
 }
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/SingleButtonDialog.java b/core/src/cz/nic/tablexia/util/ui/dialog/SingleButtonDialog.java
index e26845f0b..577fe9428 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/SingleButtonDialog.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/SingleButtonDialog.java
@@ -23,7 +23,7 @@ public abstract class SingleButtonDialog extends TablexiaDialog {
 
     private TextButton confirmButton;
 
-    public SingleButtonDialog(float x, float y,float width, float height, BackGroundType backGroundType, ButtonType buttonType,String buttonText,DialogTextContent dialogTextContent) {
+    public SingleButtonDialog(float x, float y,float width, float height, BackGroundType backGroundType,DialogTextContent dialogTextContent, ButtonType buttonType,String buttonText) {
         super(x,y,width, height, backGroundType,dialogTextContent);
         prepareButton(buttonType,buttonText);
     }
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/TwoButtonDialog.java b/core/src/cz/nic/tablexia/util/ui/dialog/TwoButtonDialog.java
index def0bfc91..6bedc8301 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/TwoButtonDialog.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/TwoButtonDialog.java
@@ -25,7 +25,7 @@ public abstract class TwoButtonDialog extends TablexiaDialog {
     private TextButton leftButton;
     private TextButton rightButton;
 
-    public TwoButtonDialog(float x, float y,float width, float height, BackGroundType backGroundType, ButtonType leftButtonType, ButtonType rightButtonType,String buttonLeftText, String buttonRightText,DialogTextContent dialogTextContent) {
+    public TwoButtonDialog(float x, float y,float width, float height, BackGroundType backGroundType,DialogTextContent dialogTextContent, ButtonType leftButtonType, ButtonType rightButtonType,String buttonLeftText, String buttonRightText) {
         super(x,y,width, height, backGroundType,dialogTextContent);
         prepareButtons(leftButtonType,rightButtonType,buttonLeftText,buttonRightText);
     }
-- 
GitLab