From bd9b11fc498a9d1d35d5552107a8941346b06061 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 27 May 2017 14:35:50 +0200 Subject: [PATCH] Fixed some problems with popup window not been hidden if another frame is shown. --- .../src/main/java/mage/client/MageFrame.java | 31 +- .../mage/client/components/MageRoundPane.java | 2 +- .../java/mage/client/game/PlayerPanelExt.java | 391 +++++++++--------- .../plugins/adapters/MageActionCallback.java | 22 +- .../plugins/card/info/CardInfoPaneImpl.java | 14 +- .../mage/cards/n/NarsetEnlightenedMaster.java | 5 +- 6 files changed, 229 insertions(+), 236 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 0f2fe732d2d..035ca1bfb86 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -34,7 +34,6 @@ import java.io.IOException; import java.io.InputStream; import java.net.SocketException; import java.util.*; -import java.util.List; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -43,6 +42,7 @@ import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; +import mage.cards.action.ActionCallback; import mage.cards.decks.Deck; import mage.cards.repository.CardCriteria; import mage.cards.repository.CardInfo; @@ -60,6 +60,7 @@ import mage.client.draft.DraftPane; import mage.client.draft.DraftPanel; import mage.client.game.GamePane; import mage.client.game.GamePanel; +import mage.client.plugins.adapters.MageActionCallback; import mage.client.plugins.impl.Plugins; import mage.client.preference.MagePreferences; import mage.client.remote.CallbackClientImpl; @@ -133,7 +134,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { private final BalloonTip balloonTip; - private List missingCards; + private java.util.List missingCards; /** * @return the session @@ -526,17 +527,21 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { } } -// public void btnImagesActionPerformed(java.awt.event.ActionEvent evt) { -// List cards = CardRepository.instance.findCards(new CardCriteria()); -// DownloadPictures.startDownload(null, cards); -// } -// public void btnSymbolsActionPerformed(java.awt.event.ActionEvent evt) { -// UserRequestMessage message = new UserRequestMessage("Download additional resources", "Do you want to download game symbols and additional image files?"); -// message.setButton1("No", null); -// message.setButton2("Yes", PlayerAction.CLIENT_DOWNLOAD_SYMBOLS); -// showUserRequestDialog(message); -// } public static void setActive(MagePane frame) { + // Always hide not hidden popup window or enlarged card view if a frame is set to active + try { + ActionCallback callback = Plugins.instance.getActionCallback(); + if (callback != null && callback instanceof MageActionCallback) { + ((MageActionCallback) callback).hideEnlargedCard(); + } + Component container = MageFrame.getUI().getComponent(MageComponents.POPUP_CONTAINER); + if (container.isVisible()) { + container.setVisible(false); + container.repaint(); + } + } catch (InterruptedException e) { + + } // Nothing to do if (activeFrame == frame) { return; @@ -973,7 +978,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { }//GEN-LAST:event_btnImagesActionPerformed public void downloadImages() { - List cards = CardRepository.instance.findCards(new CardCriteria()); + java.util.List cards = CardRepository.instance.findCards(new CardCriteria()); DownloadPictures.startDownload(null, cards); } diff --git a/Mage.Client/src/main/java/mage/client/components/MageRoundPane.java b/Mage.Client/src/main/java/mage/client/components/MageRoundPane.java index 914f1bce766..39e968074df 100644 --- a/Mage.Client/src/main/java/mage/client/components/MageRoundPane.java +++ b/Mage.Client/src/main/java/mage/client/components/MageRoundPane.java @@ -24,7 +24,7 @@ public class MageRoundPane extends JPanel { private int X_OFFSET = 30; private int Y_OFFSET = 30; - private final Color defaultBackgroundColor = new Color(141, 130, 112, 200); + private final Color defaultBackgroundColor = new Color(141, 130, 112, 200); // color of the frame of the popup window private Color backgroundColor = defaultBackgroundColor; private static final int alpha = 0; private static final Map SHADOW_IMAGE_CACHE; diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index f8cd746698a..2ac0690b541 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -41,7 +41,6 @@ import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.util.HashMap; import java.util.LinkedHashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; @@ -56,7 +55,6 @@ import javax.swing.LayoutStyle.ComponentPlacement; import javax.swing.SwingConstants; import javax.swing.border.Border; import javax.swing.border.LineBorder; - import mage.cards.decks.importer.DckDeckImporter; import mage.client.MageFrame; import mage.client.SessionHandler; @@ -111,7 +109,8 @@ public class PlayerPanelExt extends javax.swing.JPanel { private static final Border GREEN_BORDER = new LineBorder(Color.green, 3); private static final Border RED_BORDER = new LineBorder(Color.red, 2); private static final Border EMPTY_BORDER = BorderFactory.createEmptyBorder(0, 0, 0, 0); - private final Color greenBackgroundColor = new Color(206, 192, 174, 200); + private final Color inactiveBackgroundColor = new Color(200, 200, 180, 200); + private final Color activeBackgroundColor = new Color(200, 255, 200, 200); private final Color deadBackgroundColor = new Color(131, 94, 83, 200); private int avatarId = -1; @@ -298,11 +297,11 @@ public class PlayerPanelExt extends javax.swing.JPanel { } private void resetBackgroundColor() { - panelBackground.resetBackgroundColor(); + panelBackground.setBackgroundColor(inactiveBackgroundColor); } private void setGreenBackgroundColor() { - panelBackground.setBackgroundColor(greenBackgroundColor); + panelBackground.setBackgroundColor(activeBackgroundColor); } private void setDeadBackgroundColor() { @@ -604,214 +603,214 @@ public class PlayerPanelExt extends javax.swing.JPanel { GroupLayout gl_panelBackground = new GroupLayout(panelBackground); gl_panelBackground.setHorizontalGroup( gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(9) - .addComponent(life, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) - .addGap(3) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(18) - .addComponent(hand, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addComponent(lifeLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) - .addGap(4) - .addComponent(handLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(9) - .addComponent(poison, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) - .addGap(3) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(18) - .addComponent(library, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addComponent(poisonLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) - .addGap(4) - .addComponent(libraryLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(9) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addComponent(energy, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(2) - .addComponent(btnWhiteMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(2) - .addComponent(btnBlueMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(2) - .addComponent(btnBlackMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addComponent(grave, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) - ) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(18) - .addComponent(experience, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)) - .addComponent(energyLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(20) - .addComponent(btnRedMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(manaCountLabelW, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE))) - .addGap(3) - .addComponent(manaCountLabelR, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addComponent(manaCountLabelB, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(19) - .addComponent(btnColorlessMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE))) - .addGap(5) - .addComponent(manaCountLabelX, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(20) - .addComponent(btnGreenMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(40) - .addComponent(manaCountLabelG, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(40) - .addComponent(experienceLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) - /*.addGroup(gl_panelBackground.createSequentialGroup() + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(9) + .addComponent(life, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) + .addGap(3) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(18) + .addComponent(hand, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addComponent(lifeLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) + .addGap(4) + .addComponent(handLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(9) + .addComponent(poison, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) + .addGap(3) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(18) + .addComponent(library, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addComponent(poisonLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) + .addGap(4) + .addComponent(libraryLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(9) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addComponent(energy, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(2) + .addComponent(btnWhiteMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(2) + .addComponent(btnBlueMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(2) + .addComponent(btnBlackMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addComponent(grave, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) + ) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(18) + .addComponent(experience, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)) + .addComponent(energyLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(20) + .addComponent(btnRedMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(manaCountLabelW, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE))) + .addGap(3) + .addComponent(manaCountLabelR, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addComponent(manaCountLabelB, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(19) + .addComponent(btnColorlessMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE))) + .addGap(5) + .addComponent(manaCountLabelX, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(20) + .addComponent(btnGreenMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(40) + .addComponent(manaCountLabelG, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(40) + .addComponent(experienceLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) + /*.addGroup(gl_panelBackground.createSequentialGroup() .addGap(18) .addComponent(cheat, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE))*/ - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(18) - .addComponent(exileZone, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE) - ) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(5) - .addComponent(graveLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(40) - .addComponent(exileLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(manaCountLabelU, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)))) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(6) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addComponent(btnPlayer, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(timerLabel, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(avatar, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)) - // .addGroup(gl_panelBackground.createSequentialGroup() - // .addComponent(avatarFlag, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)) - .addGap(8)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(6) - .addComponent(zonesPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE) - .addGap(14)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(18) + .addComponent(exileZone, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE) + ) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(5) + .addComponent(graveLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(40) + .addComponent(exileLabel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(manaCountLabelU, GroupLayout.PREFERRED_SIZE, MANA_LABEL_SIZE_HORIZONTAL, GroupLayout.PREFERRED_SIZE)))) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(6) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addComponent(btnPlayer, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(timerLabel, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(avatar, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)) + // .addGroup(gl_panelBackground.createSequentialGroup() + // .addComponent(avatarFlag, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)) + .addGap(8)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(6) + .addComponent(zonesPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE) + .addGap(14)) ); gl_panelBackground.setVerticalGroup( gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(6) - .addComponent(avatar, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE) - .addPreferredGap(ComponentPlacement.RELATED) - .addComponent(btnPlayer) - .addComponent(timerLabel) - .addGap(2) - // Life & Hand - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(life, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(hand, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addComponent(lifeLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) - .addComponent(handLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) - // Poison & Library - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(poison, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(library, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) - .addComponent(poisonLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) - .addComponent(libraryLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) - .addGap(1) - // Poison - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(2) - .addComponent(energy, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) - .addGap(2) - .addComponent(btnWhiteMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) - .addGap(2) - .addComponent(btnBlueMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) - .addGap(2) - .addComponent(btnBlackMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) - .addGap(3) - .addComponent(grave, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) - ) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(1) - .addComponent(experience, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)) - .addComponent(energyLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) - .addGap(2) - .addComponent(btnRedMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(14) - .addComponent(manaCountLabelW, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(14) - .addComponent(manaCountLabelR, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))) - .addGap(4) - .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) - .addComponent(manaCountLabelB, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(8) - .addComponent(btnColorlessMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addComponent(manaCountLabelX, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(39) - .addComponent(btnGreenMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(31) - .addComponent(manaCountLabelG, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)) - .addComponent(experienceLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) - /*.addGroup(gl_panelBackground.createSequentialGroup() + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(6) + .addComponent(avatar, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.RELATED) + .addComponent(btnPlayer) + .addComponent(timerLabel) + .addGap(2) + // Life & Hand + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(life, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(hand, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addComponent(lifeLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) + .addComponent(handLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) + // Poison & Library + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(poison, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(library, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE)) + .addComponent(poisonLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) + .addComponent(libraryLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) + .addGap(1) + // Poison + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(2) + .addComponent(energy, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE) + .addGap(2) + .addComponent(btnWhiteMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) + .addGap(2) + .addComponent(btnBlueMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) + .addGap(2) + .addComponent(btnBlackMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE) + .addGap(3) + .addComponent(grave, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) + ) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(1) + .addComponent(experience, GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE)) + .addComponent(energyLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE)) + .addGap(2) + .addComponent(btnRedMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(14) + .addComponent(manaCountLabelW, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(14) + .addComponent(manaCountLabelR, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))) + .addGap(4) + .addGroup(gl_panelBackground.createParallelGroup(Alignment.LEADING) + .addComponent(manaCountLabelB, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(8) + .addComponent(btnColorlessMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addComponent(manaCountLabelX, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(39) + .addComponent(btnGreenMana, GroupLayout.PREFERRED_SIZE, 15, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(31) + .addComponent(manaCountLabelG, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)) + .addComponent(experienceLabel, GroupLayout.PREFERRED_SIZE, 20, GroupLayout.PREFERRED_SIZE) + /*.addGroup(gl_panelBackground.createSequentialGroup() .addGap(76) .addComponent(cheat, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE))*/ - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(76) - .addComponent(exileZone, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) - ) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(76) - .addComponent(graveLabel, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(76) - .addComponent(exileLabel, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)) - .addGroup(gl_panelBackground.createSequentialGroup() - .addGap(31) - .addComponent(manaCountLabelU, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(76) + .addComponent(exileZone, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE) + ) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(76) + .addComponent(graveLabel, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(76) + .addComponent(exileLabel, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)) + .addGroup(gl_panelBackground.createSequentialGroup() + .addGap(31) + .addComponent(manaCountLabelU, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE) + ) ) + .addGap(2) + .addComponent(zonesPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE) ) - .addGap(2) - .addComponent(zonesPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE) - ) ); panelBackground.setLayout(gl_panelBackground); GroupLayout groupLayout = new GroupLayout(this); groupLayout.setHorizontalGroup( groupLayout.createParallelGroup(Alignment.LEADING) - .addGroup(groupLayout.createSequentialGroup() - .addComponent(panelBackground, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGroup(groupLayout.createSequentialGroup() + .addComponent(panelBackground, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)) ); groupLayout.setVerticalGroup( groupLayout.createParallelGroup(Alignment.LEADING) - .addGroup(groupLayout.createSequentialGroup() - .addComponent(panelBackground, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGroup(groupLayout.createSequentialGroup() + .addComponent(panelBackground, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)) ); setLayout(groupLayout); diff --git a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java index 87b06a62dd3..84ab9c0b428 100644 --- a/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java +++ b/Mage.Client/src/main/java/mage/client/plugins/adapters/MageActionCallback.java @@ -514,17 +514,21 @@ public class MageActionCallback implements ActionCallback { } public void hideEnlargedCard() { - if (enlargedWindowState != EnlargedWindowState.CLOSED) { - enlargedWindowState = EnlargedWindowState.CLOSED; - try { - Component cardPreviewContainer = MageFrame.getUI().getComponent(MageComponents.CARD_PREVIEW_CONTAINER); + enlargedWindowState = EnlargedWindowState.CLOSED; + try { + Component cardPreviewContainer = MageFrame.getUI().getComponent(MageComponents.CARD_PREVIEW_CONTAINER); + if (cardPreviewContainer.isVisible()) { cardPreviewContainer.setVisible(false); - cardPreviewContainer = MageFrame.getUI().getComponent(MageComponents.CARD_PREVIEW_CONTAINER_ROTATED); - cardPreviewContainer.setVisible(false); - - } catch (InterruptedException e) { - LOGGER.warn("Can't hide enlarged card", e); + cardPreviewContainer.repaint(); } + cardPreviewContainer = MageFrame.getUI().getComponent(MageComponents.CARD_PREVIEW_CONTAINER_ROTATED); + if (cardPreviewContainer.isVisible()) { + cardPreviewContainer.setVisible(false); + cardPreviewContainer.repaint(); + } + + } catch (InterruptedException e) { + LOGGER.warn("Can't hide enlarged card", e); } } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java index 869dc31bdcf..aabbc302d47 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java @@ -1,6 +1,5 @@ package org.mage.plugins.card.info; -import java.awt.Color; import java.awt.Component; import javax.swing.JEditorPane; import javax.swing.SwingUtilities; @@ -35,7 +34,6 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { public CardInfoPaneImpl() { UI.setHTMLEditorKit(this); setEditable(false); - setBackground(Color.white); setGUISize(); } @@ -53,20 +51,10 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { @Override public void setCard(final CardView card, final Component container) { - if (card == null || isCurrentCard(card)) { - return; - } currentCard = card; try { - if (!card.equals(currentCard)) { - return; - } - SwingUtilities.invokeLater(() -> { - if (!card.equals(currentCard)) { - return; - } TextLines textLines = GuiDisplayUtil.getTextLinesfromCardView(card); StringBuilder buffer = GuiDisplayUtil.getRulefromCardView(card, textLines); resizeTooltipIfNeeded(container, textLines.basicTextLength, textLines.lines.size()); @@ -112,6 +100,6 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { @Override public boolean isCurrentCard(CardView card) { - return currentCard != null && card.equals(currentCard); + return currentCard != null && currentCard.equals(card); } } diff --git a/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java b/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java index d9e5da23fce..0efaf4ad858 100644 --- a/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java +++ b/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java @@ -33,9 +33,6 @@ import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.Costs; -import mage.abilities.costs.CostsImpl; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -56,7 +53,7 @@ import mage.target.targetpointer.FixedTarget; public class NarsetEnlightenedMaster extends CardImpl { public NarsetEnlightenedMaster(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{R}{W}"); addSuperType(SuperType.LEGENDARY); this.subtype.add("Human"); this.subtype.add("Monk");