mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
Fixed that action column was not handled correctly after client restart if user changed their position in column order.
This commit is contained in:
parent
81300cd90a
commit
7e9340dee7
2 changed files with 18 additions and 8 deletions
|
|
@ -170,10 +170,10 @@ public class TablesPanel extends javax.swing.JPanel {
|
|||
String deckType = (String)tableModel.getValueAt(modelRow, TableTableModel.COLUMN_DECK_TYPE);
|
||||
String status = (String)tableModel.getValueAt(modelRow, TableTableModel.COLUMN_STATUS);
|
||||
boolean isTournament = (Boolean)tableModel.getValueAt(modelRow, TableTableModel.ACTION_COLUMN + 1);
|
||||
String owner = (String)tableModel.getValueAt(modelRow, 1);
|
||||
String owner = (String)tableModel.getValueAt(modelRow, TableTableModel.COLUMN_OWNER);
|
||||
switch (action) {
|
||||
case "Join":
|
||||
if (owner.equals(session.getUserName())) {
|
||||
if (owner.equals(session.getUserName()) || owner.startsWith(session.getUserName() + ",")) {
|
||||
try {
|
||||
JDesktopPane desktopPane = (JDesktopPane) MageFrame.getUI().getComponent(MageComponents.DESKTOP_PANE);
|
||||
JInternalFrame[] windows = desktopPane.getAllFramesInLayer(javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
|
@ -267,8 +267,8 @@ public class TablesPanel extends javax.swing.JPanel {
|
|||
};
|
||||
|
||||
// !!!! adds action buttons to the table panel (don't delete this)
|
||||
new ButtonColumn(tableTables, openTableAction, TableTableModel.ACTION_COLUMN);
|
||||
new ButtonColumn(tableCompleted, closedTableAction, MatchesTableModel.ACTION_COLUMN);
|
||||
new ButtonColumn(tableTables, openTableAction, tableTables.convertColumnIndexToView(TableTableModel.ACTION_COLUMN));
|
||||
new ButtonColumn(tableCompleted, closedTableAction, tableCompleted.convertColumnIndexToView(MatchesTableModel.ACTION_COLUMN));
|
||||
// !!!!
|
||||
}
|
||||
|
||||
|
|
@ -1176,6 +1176,7 @@ class TableTableModel extends AbstractTableModel {
|
|||
|
||||
public static final int COLUMN_ICON = 0;
|
||||
public static final int COLUMN_DECK_TYPE = 1; // column the deck type is located (starting with 0) Start string is used to check for Limited
|
||||
public static final int COLUMN_OWNER = 2;
|
||||
public static final int COLUMN_GAME_TYPE = 3;
|
||||
public static final int COLUMN_INFO = 4;
|
||||
public static final int COLUMN_STATUS = 5;
|
||||
|
|
|
|||
|
|
@ -48,10 +48,10 @@ import javax.swing.table.TableColumnModel;
|
|||
*/
|
||||
public class ButtonColumn extends AbstractCellEditor implements TableCellRenderer, TableCellEditor, ActionListener, MouseListener {
|
||||
|
||||
private JTable table;
|
||||
private Action action;
|
||||
private JButton renderButton;
|
||||
private JButton editButton;
|
||||
private final JTable table;
|
||||
private final Action action;
|
||||
private final JButton renderButton;
|
||||
private final JButton editButton;
|
||||
private String text;
|
||||
private boolean isButtonColumnEditor;
|
||||
|
||||
|
|
@ -71,10 +71,12 @@ public class ButtonColumn extends AbstractCellEditor implements TableCellRendere
|
|||
table.addMouseListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getCellEditorValue() {
|
||||
return text;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
|
||||
if (hasFocus)
|
||||
{
|
||||
|
|
@ -96,12 +98,14 @@ public class ButtonColumn extends AbstractCellEditor implements TableCellRendere
|
|||
return renderButton;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
|
||||
text = (value == null) ? "" : value.toString();
|
||||
editButton.setText( text );
|
||||
return editButton;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
int row = table.convertRowIndexToModel( table.getEditingRow() );
|
||||
fireEditingStopped();
|
||||
|
|
@ -110,11 +114,13 @@ public class ButtonColumn extends AbstractCellEditor implements TableCellRendere
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
if (table.isEditing() && table.getCellEditor() == this)
|
||||
isButtonColumnEditor = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
if (isButtonColumnEditor && table.isEditing())
|
||||
table.getCellEditor().stopCellEditing();
|
||||
|
|
@ -122,10 +128,13 @@ public class ButtonColumn extends AbstractCellEditor implements TableCellRendere
|
|||
isButtonColumnEditor = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue