Changeset 3133 in josm for trunk/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java
- Timestamp:
- 14.03.2010 12:38:09 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java
r3083 r3133 3 3 4 4 import java.awt.BorderLayout; 5 import java.beans.PropertyChangeEvent;6 import java.beans.PropertyChangeListener;7 5 import java.util.Map; 6 import java.util.Observable; 7 import java.util.Observer; 8 8 9 9 import javax.swing.JPanel; … … 15 15 import org.openstreetmap.josm.gui.tagging.TagEditorPanel; 16 16 import org.openstreetmap.josm.gui.tagging.TagModel; 17 import org.openstreetmap.josm.tools.CheckParameterUtil; 17 18 18 public class TagSettingsPanel extends JPanel implements PropertyChangeListener, TableModelListener { 19 static public final String UPLOAD_COMMENT_PROP = TagSettingsPanel.class.getName() + ".uploadComment"; 19 public class TagSettingsPanel extends JPanel implements TableModelListener { 20 20 21 21 /** checkbox for selecting whether an atomic upload is to be used */ 22 22 private TagEditorPanel pnlTagEditor; 23 /** the model for the changeset comment */ 24 private ChangesetCommentModel changesetCommentModel; 25 23 26 24 27 protected void build() { … … 27 30 } 28 31 29 public TagSettingsPanel() { 32 /** 33 * Creates a new panel 34 * 35 * @param changesetCommentModel the changeset comment model. Must not be null. 36 * @throws IllegalArgumentException thrown if {@code changesetCommentModel} is null 37 */ 38 public TagSettingsPanel(ChangesetCommentModel changesetCommentModel) throws IllegalArgumentException{ 39 CheckParameterUtil.ensureParameterNotNull(changesetCommentModel, "changesetCommentModel"); 40 this.changesetCommentModel = changesetCommentModel; 41 this.changesetCommentModel.addObserver(new ChangesetCommentObserver()); 30 42 build(); 31 43 pnlTagEditor.getModel().addTableModelListener(this); … … 42 54 } 43 55 44 p ublicvoid setUploadComment(String comment) {56 protected void setUploadComment(String comment) { 45 57 if (comment == null) { 46 58 comment = ""; … … 111 123 112 124 /* -------------------------------------------------------------------------- */ 113 /* Interface PropertyChangeListener */114 /* -------------------------------------------------------------------------- */115 public void propertyChange(PropertyChangeEvent evt) {116 if (evt.getPropertyName().equals(ChangesetManagementPanel.SELECTED_CHANGESET_PROP)) {117 Changeset cs = (Changeset)evt.getNewValue();118 initFromChangeset(cs);119 } else if (evt.getPropertyName().equals(BasicUploadSettingsPanel.UPLOAD_COMMENT_PROP)) {120 String comment = (String)evt.getNewValue();121 setUploadComment(comment);122 }123 }124 125 /* -------------------------------------------------------------------------- */126 125 /* Interface TableChangeListener */ 127 126 /* -------------------------------------------------------------------------- */ 128 127 public void tableChanged(TableModelEvent e) { 129 128 String uploadComment = getUploadComment(); 130 firePropertyChange(UPLOAD_COMMENT_PROP, null, uploadComment); 129 changesetCommentModel.setComment(uploadComment); 130 } 131 132 /** 133 * Observes the changeset comment model and keeps the tag editor in sync 134 * with the current changeset comment 135 * 136 */ 137 class ChangesetCommentObserver implements Observer { 138 public void update(Observable o, Object arg) { 139 if (!(o instanceof ChangesetCommentModel)) return; 140 String newValue = (String)arg; 141 String oldValue = getUploadComment(); 142 if (oldValue == null) { 143 oldValue = ""; 144 } 145 if (!oldValue.equals(newValue)) { 146 setUploadComment((String)arg); 147 } 148 } 131 149 } 132 150 }
Note: See TracChangeset
for help on using the changeset viewer.
