//GEN-BEGIN:initComponents
private void initComponents() {
- btnAutoSelect = new javax.swing.JButton();
- btnCancel = new javax.swing.JButton();
- btnOk = new javax.swing.JButton();
- jScrollPane1 = new javax.swing.JScrollPane();
- lstChoices = new javax.swing.JList();
- lblMessage = new javax.swing.JLabel();
+ panelHeader = new javax.swing.JPanel();
+ labelMessage = new javax.swing.JLabel();
+ labelSubMessage = new javax.swing.JLabel();
+ panelSearch = new javax.swing.JPanel();
+ labelSearch = new javax.swing.JLabel();
+ editSearch = new javax.swing.JTextField();
+ scrollList = new javax.swing.JScrollPane();
+ listChoices = new javax.swing.JList();
+ panelCommands = new javax.swing.JPanel();
+ btOK = new javax.swing.JButton();
+ btCancel = new javax.swing.JButton();
- setResizable(true);
- setMinimumSize(new java.awt.Dimension(280, 200));
- setName(""); // NOI18N
+ labelMessage.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ labelMessage.setText("example long message example long message example long message example long message example long message
");
- btnAutoSelect.setText("Auto select");
- btnAutoSelect.setToolTipText("If you select an effect with \"Auto select\", this effect will be selected the next time automatically first.");
- btnAutoSelect.addActionListener(evt -> btnAutoSelectActionPerformed(evt));
+ labelSubMessage.setFont(labelSubMessage.getFont().deriveFont((labelSubMessage.getFont().getStyle() | java.awt.Font.ITALIC) | java.awt.Font.BOLD));
+ labelSubMessage.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ labelSubMessage.setText("example long message example long
");
- btnCancel.setText("Cancel");
- btnCancel.addActionListener(evt -> btnCancelActionPerformed(evt));
+ javax.swing.GroupLayout panelHeaderLayout = new javax.swing.GroupLayout(panelHeader);
+ panelHeader.setLayout(panelHeaderLayout);
+ panelHeaderLayout.setHorizontalGroup(
+ panelHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelHeaderLayout.createSequentialGroup()
+ .addGroup(panelHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(labelMessage, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
+ .addComponent(labelSubMessage, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE))
+ .addGap(0, 0, 0))
+ );
+ panelHeaderLayout.setVerticalGroup(
+ panelHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelHeaderLayout.createSequentialGroup()
+ .addGap(0, 0, 0)
+ .addComponent(labelMessage)
+ .addGap(0, 0, 0)
+ .addComponent(labelSubMessage))
+ );
- btnOk.setText("OK");
- btnOk.addActionListener(evt -> btnOkActionPerformed(evt));
+ labelSearch.setText("Search:");
- lstChoices.setModel(new javax.swing.AbstractListModel() {
- final String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
+ editSearch.setText("sample search text");
+
+ javax.swing.GroupLayout panelSearchLayout = new javax.swing.GroupLayout(panelSearch);
+ panelSearch.setLayout(panelSearchLayout);
+ panelSearchLayout.setHorizontalGroup(
+ panelSearchLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelSearchLayout.createSequentialGroup()
+ .addGap(0, 0, 0)
+ .addComponent(labelSearch)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(editSearch)
+ .addGap(0, 0, 0))
+ );
+ panelSearchLayout.setVerticalGroup(
+ panelSearchLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelSearchLayout.createSequentialGroup()
+ .addGap(3, 3, 3)
+ .addGroup(panelSearchLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(labelSearch)
+ .addComponent(editSearch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(3, 3, 3))
+ );
+
+ listChoices.setModel(new javax.swing.AbstractListModel() {
+ String[] strings = { "item1", "item2", "item3" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
- jScrollPane1.setViewportView(lstChoices);
+ scrollList.setViewportView(listChoices);
- lblMessage.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- lblMessage.setText("message");
+ btOK.setText("Choose");
+ btOK.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btOKActionPerformed(evt);
+ }
+ });
+
+ btCancel.setText("Cancel");
+ btCancel.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btCancelActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout panelCommandsLayout = new javax.swing.GroupLayout(panelCommands);
+ panelCommands.setLayout(panelCommandsLayout);
+ panelCommandsLayout.setHorizontalGroup(
+ panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelCommandsLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(btOK)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(btCancel, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ panelCommandsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btCancel, btOK});
+
+ panelCommandsLayout.setVerticalGroup(
+ panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(panelCommandsLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(btCancel)
+ .addComponent(btOK))
+ .addContainerGap())
+ );
+
+ getRootPane().setDefaultButton(btOK);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addGroup(layout.createSequentialGroup()
.addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 335, Short.MAX_VALUE)
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(btnAutoSelect)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnOk)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnCancel))
- .addComponent(lblMessage, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 335, Short.MAX_VALUE))
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(scrollList, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(panelCommands, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(panelHeader, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(panelSearch, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(6, 6, 6)
- .addComponent(lblMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()
+ .addComponent(panelHeader, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 158, Short.MAX_VALUE)
+ .addComponent(panelSearch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(btnCancel)
- .addComponent(btnOk)
- .addComponent(btnAutoSelect))
- .addGap(10, 10, 10))
+ .addComponent(scrollList, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(panelCommands, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
);
pack();
}// //GEN-END:initComponents
- private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOkActionPerformed
- setChoice();
- this.hideDialog();
- }//GEN-LAST:event_btnOkActionPerformed
+ private void btOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btOKActionPerformed
+ doChoose();
+ }//GEN-LAST:event_btOKActionPerformed
- private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed
- this.lstChoices.clearSelection();
- this.choice.clearChoice();
- this.hideDialog();
- }//GEN-LAST:event_btnCancelActionPerformed
+ private void btCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCancelActionPerformed
+ doCancel();
+ }//GEN-LAST:event_btCancelActionPerformed
- private void btnAutoSelectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAutoSelectActionPerformed
- this.autoSelect = true;
- setChoice();
- this.hideDialog();
- }//GEN-LAST:event_btnAutoSelectActionPerformed
+ /**
+ * Closes the dialog
+ */
+ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
+ doCancel();
+ }//GEN-LAST:event_closeDialog
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton btnAutoSelect;
- private javax.swing.JButton btnCancel;
- private javax.swing.JButton btnOk;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JLabel lblMessage;
- private javax.swing.JList lstChoices;
+ private javax.swing.JButton btCancel;
+ private javax.swing.JButton btOK;
+ private javax.swing.JTextField editSearch;
+ private javax.swing.JLabel labelMessage;
+ private javax.swing.JLabel labelSearch;
+ private javax.swing.JLabel labelSubMessage;
+ private javax.swing.JList listChoices;
+ private javax.swing.JPanel panelCommands;
+ private javax.swing.JPanel panelHeader;
+ private javax.swing.JPanel panelSearch;
+ private javax.swing.JScrollPane scrollList;
// End of variables declaration//GEN-END:variables
-
}
- class ComboItem {
-
- private final String value;
- private final String label;
-
- public ComboItem(String value, String label) {
- this.value = value;
- this.label = label;
- }
-
- public String getValue() {
- return this.value;
- }
-
- public String getLabel() {
- return this.label;
- }
-
- @Override
- public String toString() {
- return label;
- }
- }
\ No newline at end of file
diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java
index a014167df0a..ab0daf3e706 100644
--- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java
+++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java
@@ -1220,14 +1220,17 @@ public final class GamePanel extends javax.swing.JPanel {
public void getChoice(Choice choice, UUID objectId) {
hideAll();
+ // TODO: remember last choices and search incremental for same events?
PickChoiceDialog pickChoice = new PickChoiceDialog();
pickChoice.showDialog(choice, objectId, choiceWindowState);
if (choice.isKeyChoice()) {
+ SessionHandler.sendPlayerString(gameId, choice.getChoiceKey());
+ /* // old code, auto complete was for auto scripting?
if (pickChoice.isAutoSelect()) {
SessionHandler.sendPlayerString(gameId, '#' + choice.getChoiceKey());
} else {
SessionHandler.sendPlayerString(gameId, choice.getChoiceKey());
- }
+ }*/
} else {
SessionHandler.sendPlayerString(gameId, choice.getChoice());
}
diff --git a/Mage.Client/src/main/java/mage/client/util/gui/countryBox/CountryItemEditor.java b/Mage.Client/src/main/java/mage/client/util/gui/countryBox/CountryItemEditor.java
index 119c7789003..26c088445f8 100644
--- a/Mage.Client/src/main/java/mage/client/util/gui/countryBox/CountryItemEditor.java
+++ b/Mage.Client/src/main/java/mage/client/util/gui/countryBox/CountryItemEditor.java
@@ -27,44 +27,34 @@
*/
package mage.client.util.gui.countryBox;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import javax.swing.ImageIcon;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.border.EmptyBorder;
import javax.swing.plaf.basic.BasicComboBoxEditor;
/**
* Editor for JComboBox
- * @author wwww.codejava.net
+ * @author wwww.codejava.net, JayDi85
*
*/
public class CountryItemEditor extends BasicComboBoxEditor {
private final JPanel panel = new JPanel();
private final JLabel labelItem = new JLabel();
- private String selectedValue;
- private String selectedImage;
+ private String[] editValue = new String[2];
public CountryItemEditor() {
- panel.setLayout(new GridBagLayout());
- GridBagConstraints constraints = new GridBagConstraints();
- constraints.fill = GridBagConstraints.HORIZONTAL;
- constraints.weightx = 1.0;
-// constraints.insets = new Insets(2, 5, 2, 2);
- constraints.insets = new Insets(0, 5, 0, 0);
-
+ panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
+ panel.setBackground(new Color(0, 100,190, 255));
+
+ panel.add(labelItem);
+ labelItem.setAlignmentX(Component.LEFT_ALIGNMENT);
+ labelItem.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));
+ labelItem.setBorder(new EmptyBorder(0, 5, 0, 0));
labelItem.setOpaque(false);
- labelItem.setHorizontalAlignment(JLabel.LEFT);
labelItem.setForeground(Color.WHITE);
-
- panel.add(labelItem, constraints);
-// panel.setBackground(Color.WHITE);
- panel.setBackground(new Color(0, 100,190, 255));
- selectedValue = null;
+
+ editValue = null;
}
@Override
@@ -74,21 +64,26 @@ public class CountryItemEditor extends BasicComboBoxEditor {
@Override
public Object getItem() {
- return this.selectedValue;
+ return this.editValue;
}
public String getImageItem() {
- return this.selectedImage;
- }
+ return this.editValue[1];
+ }
+
@Override
public void setItem(Object item) {
if (item == null || !(item instanceof String[])) {
return;
}
- String[] countryItem = (String[]) item;
- selectedValue = countryItem[0];
- selectedImage = countryItem[1];
- labelItem.setText(selectedValue);
- labelItem.setIcon(new ImageIcon(getClass().getResource("/flags/"+ countryItem[1] + ".png")));
+
+ String[] newItem = (String[])item;
+
+ editValue = new String[2];
+ editValue[0] = newItem[0];
+ editValue[1] = newItem[1];
+
+ labelItem.setText(editValue[0]);
+ labelItem.setIcon(new ImageIcon(getClass().getResource("/flags/"+ editValue[1] + ".png")));
}
}
diff --git a/Mage.Client/src/main/java/mage/client/util/gui/countryBox/MyComboBoxRenderer.java b/Mage.Client/src/main/java/mage/client/util/gui/countryBox/MyComboBoxRenderer.java
index ec302456b16..d174e5e1eb5 100644
--- a/Mage.Client/src/main/java/mage/client/util/gui/countryBox/MyComboBoxRenderer.java
+++ b/Mage.Client/src/main/java/mage/client/util/gui/countryBox/MyComboBoxRenderer.java
@@ -50,8 +50,10 @@ public class MyComboBoxRenderer extends JLabel implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
- setText(value.toString());
+
+ String[] val = (String[]) value;
+ setText(val[0]);
+
return this;
}
-
}
diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java
index 1d01f9f7707..38b5ff2b434 100644
--- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java
+++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java
@@ -6,22 +6,20 @@ import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
-
import mage.cards.ExpansionSet;
import mage.cards.Sets;
import mage.client.constants.Constants;
import mage.constants.Rarity;
+import org.apache.log4j.Logger;
import org.mage.plugins.card.dl.DownloadJob;
-
import static org.mage.plugins.card.dl.DownloadJob.fromURL;
import static org.mage.plugins.card.dl.DownloadJob.toFile;
import static org.mage.plugins.card.utils.CardImageUtils.getImagesDir;
-import org.apache.log4j.Logger;
-
public class GathererSets implements Iterable