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}