forked from External/mage
GUI, preferences: reworked size settings:
- added size settings for player's panel size (closes #12455, closes #12451, closes #5605); - size settings can be edit by slider or by text edit; - size settings for fonts has preview button with real text sample; - improved some tabs and hints for better UX; - improved GUI rendering performance;
This commit is contained in:
parent
921e656e3c
commit
1f3fad6594
15 changed files with 3224 additions and 5913 deletions
|
|
@ -25,7 +25,7 @@ import static mage.client.dialog.PreferencesDialog.*;
|
|||
/**
|
||||
* GUI: play area panel (player with avatar/mana panel + battlefield panel)
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
* @author BetaSteward_at_googlemail.com, JayDi85
|
||||
*/
|
||||
public class PlayAreaPanel extends javax.swing.JPanel {
|
||||
|
||||
|
|
@ -49,16 +49,6 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
|||
public static final int PANEL_HEIGHT_SMALL = 220;
|
||||
private static final int PANEL_HEIGHT_EXTRA_FOR_ME = 25;
|
||||
|
||||
/**
|
||||
* Creates new form PlayAreaPanel
|
||||
*
|
||||
* @param player
|
||||
* @param bigCard
|
||||
* @param gameId
|
||||
* @param priorityTime
|
||||
* @param gamePanel
|
||||
* @param options
|
||||
*/
|
||||
public PlayAreaPanel(PlayerView player, BigCard bigCard, UUID gameId, int priorityTime, GamePanel gamePanel,
|
||||
PlayAreaPanelOptions options) {
|
||||
this.gamePanel = gamePanel;
|
||||
|
|
@ -70,6 +60,7 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
|||
// data init
|
||||
init(player, bigCard, gameId, priorityTime);
|
||||
update(null, player, null);
|
||||
playerPanel.sizePlayerPanel(isSmallMode());
|
||||
|
||||
// init popup menu (must run after data init)
|
||||
popupMenu = new JPopupMenu();
|
||||
|
|
@ -78,7 +69,6 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
|||
} else {
|
||||
addPopupMenuWatcher();
|
||||
}
|
||||
this.add(popupMenu);
|
||||
|
||||
setGUISize();
|
||||
}
|
||||
|
|
@ -545,52 +535,18 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
|||
|
||||
private void initComponents() {
|
||||
setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0, 0)));
|
||||
playerPanel = new PlayerPanelExt();
|
||||
btnCheat = new javax.swing.JButton();
|
||||
playerPanel = new PlayerPanelExt(GUISizeHelper.playerPanelGuiScale);
|
||||
btnCheat = new javax.swing.JButton(); // TODO: not used? Delete
|
||||
battlefieldPanel = new mage.client.game.BattlefieldPanel();
|
||||
battlefieldPanel.setTopPanelBattlefield(options.topRow);
|
||||
battlefieldPanel.setPreferredSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));
|
||||
|
||||
btnCheat.setText("Cheat");
|
||||
btnCheat.addActionListener(evt -> btnCheatActionPerformed(evt));
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createSequentialGroup()
|
||||
.addComponent(playerPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(ComponentPlacement.RELATED)
|
||||
.addComponent(battlefieldPanel, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(Alignment.LEADING)
|
||||
.addComponent(playerPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(battlefieldPanel, GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
|
||||
);
|
||||
this.setLayout(layout);
|
||||
}
|
||||
|
||||
public void setSizeMode(boolean smallMode) {
|
||||
this.smallMode = smallMode;
|
||||
sizePlayerPanel(this.playerPanel, this.isMe, this.smallMode);
|
||||
sizeBattlefieldPanel(this.battlefieldPanel, this.isMe, this.smallMode);
|
||||
}
|
||||
|
||||
public static void sizePlayerPanel(PlayerPanelExt playerPanel, boolean isMe, boolean smallMode) {
|
||||
playerPanel.sizePlayerPanel(smallMode);
|
||||
int extraForMe = isMe ? PANEL_HEIGHT_EXTRA_FOR_ME : 0;
|
||||
if (smallMode) {
|
||||
playerPanel.setPreferredSize(new Dimension(92, PANEL_HEIGHT_SMALL + extraForMe));
|
||||
} else {
|
||||
playerPanel.setPreferredSize(new Dimension(92, PANEL_HEIGHT + extraForMe));
|
||||
}
|
||||
}
|
||||
|
||||
public static void sizeBattlefieldPanel(BattlefieldPanel battlefieldPanel, boolean isMe, boolean smallMode) {
|
||||
int extraForMe = isMe ? PANEL_HEIGHT_EXTRA_FOR_ME : 0;
|
||||
if (smallMode) {
|
||||
battlefieldPanel.setPreferredSize(new Dimension(160, PANEL_HEIGHT_SMALL + extraForMe));
|
||||
} else {
|
||||
battlefieldPanel.setPreferredSize(new Dimension(160, PANEL_HEIGHT + extraForMe));
|
||||
}
|
||||
this.setLayout(new BorderLayout());
|
||||
this.add(playerPanel, BorderLayout.WEST);
|
||||
this.add(battlefieldPanel, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
private void btnCheatActionPerformed(java.awt.event.ActionEvent evt) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue