@doc alias="port" hierarchy="GMLDOM">
Represents an inbound or outbound component interface.
Infoshape Class
(c) SAP AG 2003-2006. All rights reserved.
///////////////////////////////////////////////////////////////////////
// CLASS HEADER
Class DataPort inherit Port
metadata title = '#TEXT[XTIT_DATA_PORT]';
metadata descr = '#TEXT[XTOL_DATA_PORT]';
///////////////////////////////////////////////////////////////////////
// METHODS
override method notifyOnInfoshapeChange(changeType, changeData)
this.supercall();
var usages = this.unit && this.unit.getUsages() || null;
for( var i in usages)
{
var obj = usages[i]
//get plug on usage, matching this port
var plug = obj.getPlugByPort(this);
if (plug)
{
var links = obj.getLinksByPlug(plug);
for (var l in links)
links[l].notifyOnInfoshapeChange(changeType, changeData);
}
}
end
override method onClone(elementsMap, parent, force)
//debugger;
//first to the default cloning
var copy = this.supercall();
//default cloning leaves the port points to an existing RefInfoshape.
// now create a new, empty ref infoshape for the cloned port
//later - when links link the port to other elements, they will be influences as well.
copy.createInfoshape(null); //create an empty ref
var ref = copy.getInfoshape();
if (!ref) return;
var this_bo = this.getInfoshape().getBOInfoshape();
if (this_bo)
ref.setBOInfoshape(this_bo);
return copy;
end
listen onShapeMenu for gml:DataPort
menu.append();
menu.append({button:'#NS[OPEN_FIELDS_EDITOR]'});
end