// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.gui.dialogs.changeset;
import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import org.openstreetmap.josm.data.osm.Changeset;
import org.openstreetmap.josm.gui.tagging.TagEditorModel;
import org.openstreetmap.josm.gui.tagging.TagTable;
/**
* This panel displays the tags of the currently selected changeset in the {@link ChangesetCacheManager}
*
*/
public class ChangesetTagsPanel extends JPanel implements PropertyChangeListener {
private TagEditorModel model;
protected void build() {
setLayout(new BorderLayout());
setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
model = new TagEditorModel();
TagTable tblTags = new TagTable(model, 0);
tblTags.setEnabled(false);
add(new JScrollPane(tblTags), BorderLayout.CENTER);
}
/**
* Constructs a new {@code ChangesetTagsPanel}.
*/
public ChangesetTagsPanel() {
build();
}
/* ---------------------------------------------------------------------------- */
/* interface PropertyChangeListener */
/* ---------------------------------------------------------------------------- */
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (!evt.getPropertyName().equals(ChangesetCacheManagerModel.CHANGESET_IN_DETAIL_VIEW_PROP))
return;
Changeset cs = (Changeset) evt.getNewValue();
if (cs == null) {
model.clear();
} else {
model.initFromPrimitive(cs);
}
}
}