Hello,

I am trying to observe when a Diagram is added/removed from a Project.

Digging through the code I came across
ExplorerEventAdaptor.modelElementAdded which is called (directly) by
ActionNewDiagram and ActionAddDiagram, which then updates the ExplorerTrees
model with the new Diagram. ExplorerEventAdaptor.modelElementAdded has a
TODO: "This shouldn't be public. Components desiring to inform the Explorer
of changes should send events."

So it seems that there currently really isn't any way of listening for these
type of events.

I can either create my own Actions which fire off some custom event
indicating a Diagram has been Added/Removed, or attempt to fix this
limitation in ArgoUML. The first is easier - but a hack, the second is more
involved - but likely of more long-term value to ArgoUML.

Assuming I attempt to fix this in ArgoUML... does ArgoUML have a convention
for events? It seems that a few different approaches are used... If it were
up to me I'd create an ProjectListener which the ProjectImpl would call the
appropriate methods on as things were modified... but property change events
seem to be used quite a bit in ArgoUML. I'd rather take the approach that is
more likely to be rolled into ArgoUML.

Thanks!

Brian

Reply via email to