|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.Observable
org.openstreetmap.josm.gui.history.HistoryBrowserModel
public class HistoryBrowserModel
This is the model used by the history browser. The model state consists of the following elements:
History of a specific OsmPrimitiveHistory called the PointInTimeType.REFERENCE_POINT_IN_TIMEHistory called the PointInTimeType.CURRENT_POINT_IN_TIMEHistoryBrowser always compares the PointInTimeType.REFERENCE_POINT_IN_TIME with the
PointInTimeType.CURRENT_POINT_IN_TIME.
This model provides various HistoryBrowserModel.VersionTableModels for JTables used in HistoryBrowser, for
instance:
getTagTableModel(PointInTimeType) replies a HistoryBrowserModel.VersionTableModel for the tags of either of
the two selected versionsgetNodeListTableModel(PointInTimeType) replies a HistoryBrowserModel.VersionTableModel for the list of nodes of
the two selected versions (if the current history provides information about a WaygetRelationMemberTableModel(PointInTimeType) replies a HistoryBrowserModel.VersionTableModel for the list of relation
members of the two selected versions (if the current history provides information about a Relation
HistoryBrowser| Nested Class Summary | |
|---|---|
(package private) static class |
HistoryBrowserModel.HistoryPrimitiveBuilder
Creates a HistoryOsmPrimitive from a OsmPrimitive |
class |
HistoryBrowserModel.RelationMemberTableModel
The table model for the relation members of the version at PointInTimeType.REFERENCE_POINT_IN_TIME
or PointInTimeType.CURRENT_POINT_IN_TIME |
class |
HistoryBrowserModel.TagTableModel
The table model for the tags of the version at PointInTimeType.REFERENCE_POINT_IN_TIME
or PointInTimeType.CURRENT_POINT_IN_TIME |
class |
HistoryBrowserModel.VersionTableModel
The table model for the list of versions in the current history |
| Field Summary | |
|---|---|
private HistoryOsmPrimitive |
current
|
private DiffTableModel |
currentNodeListTableModel
|
private HistoryBrowserModel.RelationMemberTableModel |
currentRelationMemberTableModel
|
private HistoryBrowserModel.TagTableModel |
currentTagTableModel
|
private History |
history
the history of an OsmPrimitive |
private HistoryOsmPrimitive |
latest
latest isn't a reference of history. |
private HistoryOsmPrimitive |
reference
|
private DiffTableModel |
referenceNodeListTableModel
|
private HistoryBrowserModel.RelationMemberTableModel |
referenceRelationMemberTableModel
|
private HistoryBrowserModel.TagTableModel |
referenceTagTableModel
|
private HistoryBrowserModel.VersionTableModel |
versionTableModel
|
| Constructor Summary | |
|---|---|
HistoryBrowserModel()
constructor |
|
HistoryBrowserModel(History history)
Creates a new history browser model for a given history. |
|
| Method Summary | |
|---|---|
void |
activeLayerChange(Layer oldLayer,
Layer newLayer)
Notifies this listener that the active layer has changed. |
protected boolean |
canShowAsLatest(OsmPrimitive primitive)
|
void |
dataChanged(DataChangedEvent event)
Called after big changes in dataset. |
protected void |
fireModelChange()
|
HistoryOsmPrimitive |
getCurrentPointInTime()
Replies the history OSM primitive for the PointInTimeType.CURRENT_POINT_IN_TIME |
protected OsmDataLayer |
getEditLayer()
Replies the current edit layer; null, if there isn't a current edit layer of type OsmDataLayer. |
History |
getHistory()
replies the history managed by this model |
DiffTableModel |
getNodeListTableModel(PointInTimeType pointInTimeType)
|
HistoryOsmPrimitive |
getPointInTime(PointInTimeType type)
replies the history OSM primitive for a given point in time |
HistoryOsmPrimitive |
getReferencePointInTime()
Replies the history OSM primitive for the PointInTimeType.REFERENCE_POINT_IN_TIME |
HistoryBrowserModel.RelationMemberTableModel |
getRelationMemberTableModel(PointInTimeType pointInTimeType)
|
HistoryBrowserModel.TagTableModel |
getTagTableModel(PointInTimeType pointInTimeType)
replies the tag table model for the respective point in time |
HistoryBrowserModel.VersionTableModel |
getVersionTableModel()
Replies the table model to be used in a JTable which
shows the list of versions in this history. |
protected boolean |
hasNewNodes(Way way)
|
protected void |
initMemberListTableModels()
|
protected void |
initNodeListTableModels()
Should be called everytime either reference of current changes to update the diff. |
protected void |
initTagTableModels()
|
boolean |
isLatest(HistoryOsmPrimitive primitive)
Returns true if primitive is the latest primitive
representing the version currently edited in the current data
layer. |
void |
layerAdded(Layer newLayer)
Notifies this listener that a layer has been added. |
void |
layerRemoved(Layer oldLayer)
Notifies this listener that a layer has been removed. |
void |
nodeMoved(NodeMovedEvent event)
A node's coordinates were modified. |
void |
otherDatasetChange(AbstractDatasetChangedEvent event)
Minor dataset change, currently only changeset id changed is supported, but can be extended in future. |
void |
primitivesAdded(PrimitivesAddedEvent event)
A bunch of primitives were added into the DataSet, or existing deleted/invisible primitives were resurrected. |
void |
primitivesRemoved(PrimitivesRemovedEvent event)
A bunch of primitives were removed from the DataSet, or preexisting primitives were marked as deleted. |
void |
relationMembersChanged(RelationMembersChangedEvent event)
A relation's members have changed. |
void |
setCurrentPointInTime(HistoryOsmPrimitive current)
Sets the HistoryOsmPrimitive which plays the role of the current point
in time (see PointInTimeType). |
void |
setHistory(History history)
sets the history to be managed by this model |
protected void |
setLatest(HistoryOsmPrimitive latest)
|
void |
setReferencePointInTime(HistoryOsmPrimitive reference)
Sets the HistoryOsmPrimitive which plays the role of a reference point
in time (see PointInTimeType). |
void |
tagsChanged(TagsChangedEvent event)
There was some change in the tag set of a primitive. |
void |
unlinkAsListener()
Removes this model as listener for data change and layer change events. |
void |
wayNodesChanged(WayNodesChangedEvent event)
A way's node list was changed. |
| Methods inherited from class java.util.Observable |
|---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private History history
private HistoryOsmPrimitive reference
private HistoryOsmPrimitive current
private HistoryOsmPrimitive latest
OsmPrimitive in the current edit layer.
private HistoryBrowserModel.VersionTableModel versionTableModel
private HistoryBrowserModel.TagTableModel currentTagTableModel
private HistoryBrowserModel.TagTableModel referenceTagTableModel
private HistoryBrowserModel.RelationMemberTableModel currentRelationMemberTableModel
private HistoryBrowserModel.RelationMemberTableModel referenceRelationMemberTableModel
private DiffTableModel referenceNodeListTableModel
private DiffTableModel currentNodeListTableModel
| Constructor Detail |
|---|
public HistoryBrowserModel()
public HistoryBrowserModel(History history)
history - the history. Must not be null.
java.lang.IllegalArgumentException - thrown if history is null| Method Detail |
|---|
protected OsmDataLayer getEditLayer()
OsmDataLayer.
public History getHistory()
protected boolean hasNewNodes(Way way)
protected boolean canShowAsLatest(OsmPrimitive primitive)
public void setHistory(History history)
history - the historyprotected void fireModelChange()
public HistoryBrowserModel.VersionTableModel getVersionTableModel()
JTable which
shows the list of versions in this history.
protected void initTagTableModels()
protected void initNodeListTableModels()
protected void initMemberListTableModels()
public HistoryBrowserModel.TagTableModel getTagTableModel(PointInTimeType pointInTimeType)
throws java.lang.IllegalArgumentException
pointInTimeType - the type of the point in time (must not be null)
java.lang.IllegalArgumentException - thrown, if pointInTimeType is null
public DiffTableModel getNodeListTableModel(PointInTimeType pointInTimeType)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public HistoryBrowserModel.RelationMemberTableModel getRelationMemberTableModel(PointInTimeType pointInTimeType)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public void setReferencePointInTime(HistoryOsmPrimitive reference)
throws java.lang.IllegalArgumentException,
java.lang.IllegalStateException
HistoryOsmPrimitive which plays the role of a reference point
in time (see PointInTimeType).
reference - the reference history primitive. Must not be null.
java.lang.IllegalArgumentException - thrown if reference is null
java.lang.IllegalStateException - thrown if this model isn't a assigned a history yet
java.lang.IllegalArgumentException - if reference isn't an history primitive for the history managed by this modesetHistory(History),
PointInTimeType
public void setCurrentPointInTime(HistoryOsmPrimitive current)
throws java.lang.IllegalArgumentException,
java.lang.IllegalStateException
HistoryOsmPrimitive which plays the role of the current point
in time (see PointInTimeType).
reference - the reference history primitive. Must not be null.
java.lang.IllegalArgumentException - thrown if reference is null
java.lang.IllegalStateException - thrown if this model isn't a assigned a history yet
java.lang.IllegalArgumentException - if reference isn't an history primitive for the history managed by this modesetHistory(History),
PointInTimeTypepublic HistoryOsmPrimitive getCurrentPointInTime()
PointInTimeType.CURRENT_POINT_IN_TIME
PointInTimeType.CURRENT_POINT_IN_TIME (may be null)public HistoryOsmPrimitive getReferencePointInTime()
PointInTimeType.REFERENCE_POINT_IN_TIME
PointInTimeType.REFERENCE_POINT_IN_TIME (may be null)
public HistoryOsmPrimitive getPointInTime(PointInTimeType type)
throws java.lang.IllegalArgumentException
type - the type of the point in time (must not be null)
java.lang.IllegalArgumentException - thrown, if type is nullpublic boolean isLatest(HistoryOsmPrimitive primitive)
primitive is the latest primitive
representing the version currently edited in the current data
layer.
primitive - the primitive to check
primitive is the latest primitiveprotected void setLatest(HistoryOsmPrimitive latest)
public void unlinkAsListener()
public void nodeMoved(NodeMovedEvent event)
DataSetListener
nodeMoved in interface DataSetListenerpublic void primitivesAdded(PrimitivesAddedEvent event)
DataSetListener
primitivesAdded in interface DataSetListenerpublic void primitivesRemoved(PrimitivesRemovedEvent event)
DataSetListener
primitivesRemoved in interface DataSetListenerpublic void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListener
relationMembersChanged in interface DataSetListenerpublic void tagsChanged(TagsChangedEvent event)
DataSetListener
tagsChanged in interface DataSetListenerpublic void wayNodesChanged(WayNodesChangedEvent event)
DataSetListener
wayNodesChanged in interface DataSetListenerpublic void dataChanged(DataChangedEvent event)
DataSetListener#dataChanged() is called.
dataChanged in interface DataSetListenerpublic void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListener
otherDatasetChange in interface DataSetListener
public void activeLayerChange(Layer oldLayer,
Layer newLayer)
MapView.LayerChangeListener
activeLayerChange in interface MapView.LayerChangeListeneroldLayer - The previous active layernewLayer - The new activer layerpublic void layerAdded(Layer newLayer)
MapView.LayerChangeListener
layerAdded in interface MapView.LayerChangeListenernewLayer - The new added layerpublic void layerRemoved(Layer oldLayer)
MapView.LayerChangeListener
layerRemoved in interface MapView.LayerChangeListeneroldLayer - The old removed layer
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||