From c8de1c884ce408490fcf601f6644dc77e2d9c3a3 Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 15 Oct 2014 02:26:45 +0000 Subject: [PATCH] Include count in title Fix hover effect for close button --- forge-gui-desktop/src/main/java/forge/view/FDialog.java | 6 +++++- .../src/main/java/forge/view/FTitleBarBase.java | 5 +++-- .../src/main/java/forge/view/arcane/FloatingCardArea.java | 5 +++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/FDialog.java b/forge-gui-desktop/src/main/java/forge/view/FDialog.java index 106fa442857..d57aa30cce0 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FDialog.java +++ b/forge-gui-desktop/src/main/java/forge/view/FDialog.java @@ -54,6 +54,7 @@ public class FDialog extends SkinnedDialog implements ITitleBarOwner, KeyEventDi public FDialog(boolean modal0, boolean allowResize0, String insets) { super(JOptionPane.getRootFrame(), modal0); + allowResize = allowResize0; setUndecorated(true); setIconImage(FSkin.getIcon(FSkinProp.ICO_FAVICON)); //use Forge icon by default @@ -68,7 +69,6 @@ public class FDialog extends SkinnedDialog implements ITitleBarOwner, KeyEventDi titleBar.setVisible(true); addMoveSupport(); - allowResize = allowResize0; if (allowResize) { this.setBorder(new CompoundSkinBorder( BorderFactory.createLineBorder(Color.BLACK, 1), @@ -196,6 +196,10 @@ public class FDialog extends SkinnedDialog implements ITitleBarOwner, KeyEventDi } } + public boolean allowResize() { + return allowResize; + } + //relay certain methods to the inner panel if it has been initialized @Override public void setContentPane(Container contentPane) { diff --git a/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java b/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java index 941c4167e55..76227e4ed75 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java +++ b/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java @@ -63,8 +63,9 @@ public abstract class FTitleBarBase extends SkinnedMenuBar { layout.putConstraint(SpringLayout.SOUTH, btnLockTitleBar, 0, SpringLayout.SOUTH, btnMinimize); } else { + int offset = owner instanceof FDialog && ((FDialog)owner).allowResize() ? 0 : -1; add(btnClose); - layout.putConstraint(SpringLayout.EAST, btnClose, -1, SpringLayout.EAST, this); + layout.putConstraint(SpringLayout.EAST, btnClose, offset, SpringLayout.EAST, this); layout.putConstraint(SpringLayout.SOUTH, btnClose, 0, SpringLayout.SOUTH, this); } } @@ -165,7 +166,7 @@ public abstract class FTitleBarBase extends SkinnedMenuBar { @Override public void repaintSelf() { final Container window = FTitleBarBase.this.getParent().getParent().getParent(); - if (window instanceof FDialog) { //prevent hover effect coverring up rounded border + if (window instanceof FDialog && !((FDialog)window).allowResize()) { //prevent hover effect covering up rounded border window.repaint(this.getX(), this.getY(), this.getWidth(), this.getHeight()); } else { diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java index 51c40b052aa..ec2edadcca5 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java @@ -63,6 +63,7 @@ public class FloatingCardArea extends CardArea { private PlayerView player; private final ZoneType zone; + private final String title; private final FDialog window = new FDialog(false, true, "0"); private FloatingCardArea(PlayerView player0, ZoneType zone0) { @@ -86,7 +87,7 @@ public class FloatingCardArea extends CardArea { default: break; } - window.setTitle(Lang.getPossessedObject(player0.getName(), zone0.name())); + title = Lang.getPossessedObject(player0.getName(), zone0.name()) + " (%d)"; window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(final WindowEvent e) { @@ -102,7 +103,6 @@ public class FloatingCardArea extends CardArea { private void showWindow() { FFrame mainFrame = Singletons.getView().getFrame(); window.setSize(mainFrame.getWidth() / 4, mainFrame.getHeight() * 2 / 3); - window.setLocationRelativeTo(mainFrame); window.setVisible(true); } @@ -120,6 +120,7 @@ public class FloatingCardArea extends CardArea { } } setCardPanels(cardPanels); + window.setTitle(String.format(title, cardPanels.size())); } @Override