001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.io;
003
004 import java.awt.Dimension;
005 import java.beans.PropertyChangeEvent;
006 import java.beans.PropertyChangeListener;
007
008 import javax.swing.JTable;
009
010 import org.openstreetmap.josm.gui.io.SaveLayersModel.Mode;
011
012 class SaveLayersTable extends JTable implements PropertyChangeListener {
013 public SaveLayersTable(SaveLayersModel model) {
014 super(model, new SaveLayersTableColumnModel());
015 putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
016 super.setRowHeight(39);
017 super.getTableHeader().setPreferredSize(new Dimension(super.getTableHeader().getWidth(), 24));
018 super.getTableHeader().setReorderingAllowed(false);
019 }
020
021 public void propertyChange(PropertyChangeEvent evt) {
022 if (evt.getPropertyName().equals(SaveLayersModel.MODE_PROP)) {
023 Mode mode = (Mode)evt.getNewValue();
024 switch(mode) {
025 case EDITING_DATA: setEnabled(true);
026 break;
027 case UPLOADING_AND_SAVING: setEnabled(false);
028 break;
029 }
030 }
031 }
032 }