001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.io;
003
004import java.awt.Dimension;
005import java.beans.PropertyChangeEvent;
006import java.beans.PropertyChangeListener;
007
008import javax.swing.JTable;
009
010import org.openstreetmap.josm.gui.io.SaveLayersModel.Mode;
011
012class 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    @Override
022    public void propertyChange(PropertyChangeEvent evt) {
023        if (evt.getPropertyName().equals(SaveLayersModel.MODE_PROP)) {
024            Mode mode = (Mode)evt.getNewValue();
025            switch(mode) {
026            case EDITING_DATA: setEnabled(true);
027            break;
028            case UPLOADING_AND_SAVING: setEnabled(false);
029            break;
030            }
031        }
032    }
033}