this.setShadow();
this.labelid=id;
this.setAttribute('title',canvas.getLabelName(this.labelid));
this.initheight=this.height;
//Debug.write("this.isopen: ",this.isopen);
if (!this.open) toggleopen();
if (this.onclose) this.onclose.sendEvent();
if (this._barmenuButtonRef!=null){
this._barmenuButtonRef.destroy();
this._barmenuButtonRef.parent.onwidth.sendEvent();
}
this.destroy();
//////Debug.write("this.isopen",this.isopen);
this.setAttribute('isopen',!this.isopen);
if (this.isopen){
_calcdockingList();
for (var eg in this.dockinglist){
if(this.dockinglist[eg].docking){
//////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
//////Debug.write("open new y",this.y+this.initheight);
this.dockinglist[eg].toggleOpenByParent(this.initheight-22);
this.dockinglist[eg].setAttribute('y',this.y+this.initheight);
}
}
this.setAttribute('height',this.initheight);
} else {
_calcdockingList();
for (var eg in this.dockinglist){
if(this.dockinglist[eg].docking){
//////Debug.write("this.dockinglist[eg]: ",this.dockinglist[eg].title);
this.dockinglist[eg].toggleOpenByParent(-(this.initheight-22));
this.dockinglist[eg].setAttribute('y',this.y+22);
}
}
this.setAttribute('height',22);
}
//////Debug.write("+++++ toggleOpenByParent +++++ changeY: ",this.title,changeY);
var tempList=new Array();
-1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x ) && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
proof=true;
}
if (proof) tempList.push(this.parent.subviews[eg]);
}
}
]]>
//////Debug.write("tempList.length: ",tempList.length);
if (tempList.length!=0){
for (var eg in tempList){
if(tempList[eg].docking){
//////Debug.write("toggleOpenByParent 1 [eg],changeY: ",tempList[eg].title,changeY);
tempList[eg].toggleOpenByParent(changeY);
tempList[eg].setAttribute('y',tempList[eg].y+changeY);
}
}
}
this.onactivate.sendEvent();
this.bringToFront();
if (this._barmenuButtonRef!=null) this._barmenuButtonRef.sendActiveWindow(this);
this.isresizeing=true;
this.rs.apply();
this.rs.remove();
this.isresizeing=false;
//Debug.write("rsremove",this,this.isinited);
this.onresized.sendEvent();
if (!this.ismaximized){
//It's important to remove the dragger and do docking stuff before you check for conencted Boxes
dragger.remove();
if (obj==this){
if (docking) arrangePosition();
} else {
if (docking) _lookforParentOnly(obj);
}
//check for connected Boxes
for (var eg in this.dockinglist){
if(this.dockinglist[eg].docking){
this.dockinglist[eg]._removeDragState(this);
}
}
}
this.activate();
if (!this.ismaximized){
_calcdockingList();
for (var eg in this.dockinglist){
if(this.dockinglist[eg].docking){
this.dockinglist[eg]._startDragState(this);
}
}
//store position cause it wasn't dragged by itself
if (obj!=this){
storeAdjustmentToParent(obj.x,obj.y);
}
dragger.apply();
}
//Clear list of conencted Boxes
this.dockinglist=new Array();
-1 ) && ( (this.x+this.width) > this.parent.subviews[eg].x ) && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
proof=true;
}
if (proof) this.dockinglist.push(this.parent.subviews[eg]);
}
}
]]>
//////Debug.write("this.dockinglist.length:",this.dockinglist.length);
//do the magic
//the idea is: look for all on the view container one level above this one
//and look for the width/height and 0/0 and look for "dockable" stuff there
var newx=this.x;
var newy=this.y;
-this.dockingbarrier ) && ( (this.y+this.height) > this.parent.subviews[eg].y ) && ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
newx= ( this.parent.subviews[eg].x - this.width );
}
//right box-border
if ( ( ((this.parent.subviews[eg].x+this.parent.subviews[eg].width)-this.x)-this.dockingbarrier ) && ( (this.y+this.height) > this.parent.subviews[eg].y ) && ( this.y < (this.parent.subviews[eg].y+this.parent.subviews[eg].height) ) ){
newx= ( this.parent.subviews[eg].x + this.parent.subviews[eg].width );
}
//top box-border
if ( ( ((this.y+this.height)-this.parent.subviews[eg].y) < this.dockingbarrier ) && ( ((this.y+this.height)-this.parent.subviews[eg].y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x ) && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
newy = this.parent.subviews[eg].y-this.height;
}
//bottom box-border
if ( ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) < this.dockingbarrier ) && ( ((this.parent.subviews[eg].y+this.parent.subviews[eg].height)-this.y) > -this.dockingbarrier ) && ( (this.x+this.width) > this.parent.subviews[eg].x ) && ( this.x < (this.parent.subviews[eg].x+this.parent.subviews[eg].width) ) ){
newy = this.parent.subviews[eg].y+this.parent.subviews[eg].height;
}
}
}
//Check for Borders
//should be done _after_ checking for other dockable stuff so it gets
//priority to dock against the border of parent view
if (this.x
this.tempXdistance=objX-this.x;
this.tempYdistance=objY-this.y;
this.parent.parent.parent.minimize();
this.parent.parent.parent.reminimize();
this.parent.parent.parent.close();
//Debug.write("onaddsubview",v);
if (v.parent.subviews.length>2) this._resizeview.bringToFront();
parent.reminimizeComplete();
this._bg.setAttribute("bgcolor",0xFFFFFF);
this._bg.setAttribute("visibility","visible");
this._bg.setAttribute("visibility","hidden");
this._bg.setAttribute("bgcolor",canvas.getThemeColor('basebgcolorizer'));
this._bg.setAttribute("visibility","visible");
this._bg.setAttribute("visibility","hidden");