Download MagicDraw Open API User Guide
Transcript
PRESENTATION ELEMENTS
Notification of Presentation Element draw
ShapeElement element = …;
PropertyManager properties = new PropertyManager();
properties.addProperty(new BooleanProperty(PropertyID.AUTOSIZE, true));
SessionsManager.getInstance().createSession(“Test”);
PresentationsElementsManager.getInstance().setPresentationElementProperties(elemen
t, properties);
SessionsManager.getInstance().closeSession();
The properties must be new instances. You cannot do something like this:
ShapeElement element = …;
PropertyManager properties = element.getPropertyManager().
properties.getProperty(PropertyID.AUTOSIZE).setValue(new Boolean(true);
SessionsManager.getInstance().createSession(“Test”);
PresentationsElementsManager.getInstance().setPresentationElementProperties(elemen
t, properties);
SessionsManager.getInstance().closeSession();
The Ids of all used properties are defined in class PropertyID.
Notification of Presentation Element draw
SymbolDrawNotification notifies when presentation element is drawn (added to diagram):
// element removal listener
final PropertyChangeListener removeListener = new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent evt)
{
if (ExtendedPropertyNames.REMOVE.equals(evt.getPropertyName()))
{
// symbol removed
}
}
};
// element drawing listener
SymbolDrawListener symbolDrawListener = new SymbolDrawListener()
{
public void symbolAdded(DiagramPresentationElement diagram,
PresentationElement symbol,
String actionID)
{
// sybmbol added
// register listener
symbol.addPropertyChangeListener(removeListener);
}
};
// register draw listener
SymbolDrawNotification symbolDrawNotification =
SymbolDrawNotification.getSymbolDrawNotification(project);
symbolDrawNotification.addSymbolDrawListener(symbolDrawListener);
65
Copyright © 2003-2011 No Magic, Inc..