|
||||||||||
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 OsmPrimitive
History
called the PointInTimeType.REFERENCE_POINT_IN_TIME
History
called the PointInTimeType.CURRENT_POINT_IN_TIME
HistoryBrowser
always compares the PointInTimeType.REFERENCE_POINT_IN_TIME
with the
PointInTimeType.CURRENT_POINT_IN_TIME
.
This model provides various HistoryBrowserModel.VersionTableModel
s for JTable
s 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 Way
getRelationMemberTableModel(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 nullMethod 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 nullpublic 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)
,
PointInTimeType
public 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 DataSetListener
public void primitivesAdded(PrimitivesAddedEvent event)
DataSetListener
primitivesAdded
in interface DataSetListener
public void primitivesRemoved(PrimitivesRemovedEvent event)
DataSetListener
primitivesRemoved
in interface DataSetListener
public void relationMembersChanged(RelationMembersChangedEvent event)
DataSetListener
relationMembersChanged
in interface DataSetListener
public void tagsChanged(TagsChangedEvent event)
DataSetListener
tagsChanged
in interface DataSetListener
public void wayNodesChanged(WayNodesChangedEvent event)
DataSetListener
wayNodesChanged
in interface DataSetListener
public void dataChanged(DataChangedEvent event)
DataSetListener
#dataChanged()
is called.
dataChanged
in interface DataSetListener
public void otherDatasetChange(AbstractDatasetChangedEvent event)
DataSetListener
otherDatasetChange
in interface DataSetListener
public void activeLayerChange(Layer oldLayer, Layer newLayer)
MapView.LayerChangeListener
activeLayerChange
in interface MapView.LayerChangeListener
oldLayer
- The previous active layernewLayer
- The new activer layerpublic void layerAdded(Layer newLayer)
MapView.LayerChangeListener
layerAdded
in interface MapView.LayerChangeListener
newLayer
- The new added layerpublic void layerRemoved(Layer oldLayer)
MapView.LayerChangeListener
layerRemoved
in interface MapView.LayerChangeListener
oldLayer
- The old removed layer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |