de.sciss.gui
Class PathEvent

java.lang.Object
  extended by java.util.EventObject
      extended by de.sciss.app.BasicEvent
          extended by de.sciss.gui.PathEvent
All Implemented Interfaces:
java.io.Serializable

public class PathEvent
extends BasicEvent

This kind of event is fired from a PathField or PathButton gadget when the user modified the path.

Version:
0.16, 05-May-06
Author:
Hanns Holger Rutz
See Also:
PathField.addPathListener( PathListener ), PathListener, File, Serialized Form

Field Summary
static int CHANGED
          returned by getID() : the path changed
 
Fields inherited from class java.util.EventObject
source
 
Constructor Summary
PathEvent(java.lang.Object source, int ID, long when, java.io.File path)
          Constructs a new PathEvent
 
Method Summary
 java.io.File getPath()
          Queries the new path
 boolean incorporate(BasicEvent oldEvent)
          Asks the event to incorporate the action described by another (older) event.
 
Methods inherited from class de.sciss.app.BasicEvent
getID, getWhen
 
Methods inherited from class java.util.EventObject
getSource, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CHANGED

public static final int CHANGED
returned by getID() : the path changed

See Also:
Constant Field Values
Constructor Detail

PathEvent

public PathEvent(java.lang.Object source,
                 int ID,
                 long when,
                 java.io.File path)
Constructs a new PathEvent

Parameters:
source - who originated the action
ID - CHANGED
when - system time when the event occured
path - the new path
Method Detail

getPath

public java.io.File getPath()
Queries the new path

Returns:
the new path of the PathField or PathButton.

incorporate

public boolean incorporate(BasicEvent oldEvent)
Description copied from class: BasicEvent
Asks the event to incorporate the action described by another (older) event. This method has been created to reduce overhead; when many events are added to the event queue of an ELM, this allows to fuse two adjectant events. The idea is mainly based on the replaceEdit() method of the javax.swing.undo.UndoableEdit interface; a pendant of a symmetric addEdit() like method is not provided because it seems to be unnecessary.

Implementation notes : the oldEvent should generally only be incorporated if it refers to the same source object (getSource()) and has the same ID (getD()). the timestamp of the current event should not be modified.

Specified by:
incorporate in class BasicEvent
Parameters:
oldEvent - the most recent event in the queue which might be incorporated by this new event.
Returns:
true if this object was able to incorporate the older event. in this case the oldEvent is removed from the event queue. false states that the oldEvent was incompatible and should remain in the queue.
See Also:
UndoableEdit.replaceEdit( UndoableEdit )