draw2d.ExclusiveGateway=function(_url){
_url="js/designer/icons/type.gateway.exclusive.png";
draw2d.ResizeImage.call(this,_url);
this.rightOutputPort=null;
this.leftOutputPort=null;
this.topOutputPort=null;
this.bottomOutputPort=null;
this.gatewayId=null;
this.gatewayName=null;
this.setDimension(40,40);
};
draw2d.ExclusiveGateway.prototype=new draw2d.Node();
draw2d.ExclusiveGateway.prototype.type="draw2d.ExclusiveGateway";
draw2d.ExclusiveGateway.prototype.generateId=function(){
this.id="exclusiveGateway"+Sequence.create();
this.gatewayId=this.id;
this.gatewayName=this.id;
};
draw2d.ExclusiveGateway.prototype.createHTMLElement=function(){
var item = draw2d.ResizeImage.prototype.createHTMLElement.call(this);
return item;
};
draw2d.ExclusiveGateway.prototype.setDimension=function(w, h){
draw2d.ResizeImage.prototype.setDimension.call(this, w, h);
};
draw2d.ExclusiveGateway.prototype.setWorkflow=function(_4fe5){
draw2d.ResizeImage.prototype.setWorkflow.call(this,_4fe5);
this.resizeable=false;//不让改变大小
if(_4fe5!==null&&this.rightOutputPort===null){
this.rightOutputPort=new draw2d.MyOutputPort();
this.rightOutputPort.setMaxFanOut(1);
this.rightOutputPort.setWorkflow(_4fe5);
this.rightOutputPort.setName("rightOutputPort");
//this.rightOutputPort.setBackgroundColor(new draw2d.Color(245,115,115));
this.addPort(this.rightOutputPort,this.width,this.height/2);
}
if(_4fe5!==null&&this.leftOutputPort===null){
this.leftOutputPort=new draw2d.MyOutputPort();
this.leftOutputPort.setMaxFanOut(1);
this.leftOutputPort.setWorkflow(_4fe5);
this.leftOutputPort.setName("leftOutputPort");
//this.leftOutputPort.setBackgroundColor(new draw2d.Color(245,115,115));
this.addPort(this.leftOutputPort,0,this.height/2);
}
if(_4fe5!==null&&this.topOutputPort===null){
this.topOutputPort=new draw2d.MyOutputPort();
this.topOutputPort.setMaxFanOut(1);
this.topOutputPort.setWorkflow(_4fe5);
this.topOutputPort.setName("topOutputPort");
//this.topOutputPort.setBackgroundColor(new draw2d.Color(245,115,115));
this.addPort(this.topOutputPort,this.width/2,0);
}
if(_4fe5!==null&&this.bottomOutputPort===null){
this.bottomOutputPort=new draw2d.MyOutputPort();
this.bottomOutputPort.setMaxFanOut(1);
this.bottomOutputPort.setWorkflow(_4fe5);
this.bottomOutputPort.setName("bottomOutputPort");
//this.bottomOutputPort.setBackgroundColor(new draw2d.Color(245,115,115));
this.addPort(this.bottomOutputPort,this.width/2,this.height);
}
};
draw2d.ExclusiveGateway.prototype.figureDoubleClick=function(){
var data = {event:this};
var event = data.event;
var tid = event.getId();
openGatewayProperties(tid);
}
draw2d.ExclusiveGateway.prototype.getContextMenu=function(){
if(this.workflow.disabled)return null;
var menu =new draw2d.ContextMenu(100, 50);
var data = {event:this};
menu.appendMenuItem(new draw2d.ContextMenuItem("Properties", "properties-icon",data,function(x,y)
{
var data = this.getData();
var event = data.event;
var tid = event.getId();
if(typeof openGatewayProperties != "undefined"){
openGatewayProperties(tid);
}
}));
return menu;
};
draw2d.ExclusiveGateway.prototype.toXML=function(){
var name = this.gatewayId;
var newName = trim(this.gatewayName);
if(newName != null && newName != "")
name = newName;
var xml='\n';
return xml;
};
draw2d.ExclusiveGateway.prototype.toBpmnDI=function(){
var w=this.getWidth();
var h=this.getHeight();
var x=this.getAbsoluteX();
var y=this.getAbsoluteY();
var xml='\n';
xml=xml+'\n';
xml=xml+'\n';
return xml;
};