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 }