/Frameworks/AppKit/rhino.platform/CPDOMWindowLayer.j
http://github.com/polymar/polish · Unknown · 76 lines · 76 code · 0 blank · 0 comment · 0 complexity · 13733edce8749a2eee0f88f63ad023c4 MD5 · raw file
- I;20;Foundation/CPArray.jI;21;Foundation/CPObject.jc;2417;
- var _1=objj_allocateClassPair(CPObject,"CPDOMWindowLayer"),_2=_1.isa;
- class_addIvars(_1,[new objj_ivar("_level"),new objj_ivar("_windows"),new objj_ivar("_DOMElement")]);
- objj_registerClassPair(_1);
- objj_addClassForBundle(_1,objj_getBundleWithPath(OBJJ_CURRENT_BUNDLE.path));
- class_addMethods(_1,[new objj_method(sel_getUid("initWithLevel:"),function(_3,_4,_5){
- with(_3){
- _3=objj_msgSendSuper({receiver:_3,super_class:objj_getClass("CPObject")},"init");
- if(_3){
- _level=_5;
- _windows=[];
- _DOMElement=document.createElement("div");
- _DOMElement.style.position="absolute";
- _DOMElement.style.top="0px";
- _DOMElement.style.left="0px";
- _DOMElement.style.width="1px";
- _DOMElement.style.height="1px";
- }
- return _3;
- }
- }),new objj_method(sel_getUid("level"),function(_6,_7){
- with(_6){
- return _level;
- }
- }),new objj_method(sel_getUid("removeWindow:"),function(_8,_9,_a){
- with(_8){
- if(!_a._isVisible){
- return;
- }
- var _b=_a._index,_c=_windows.length-1;
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=8;
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=_DOMElement;
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=_a._DOMElement;
- objj_msgSend(_windows,"removeObjectAtIndex:",_a._index);
- for(;_b<_c;++_b){
- _windows[_b]._index=_b;
- _windows[_b]._DOMElement.style.zIndex=_b;
- }
- _a._isVisible=NO;
- }
- }),new objj_method(sel_getUid("insertWindow:atIndex:"),function(_d,_e,_f,_10){
- with(_d){
- var _11=objj_msgSend(_windows,"count"),_12=(_10==CPNotFound?_11:_10),_13=_f._isVisible;
- if(_13){
- _12=MIN(_12,_f._index);
- objj_msgSend(_windows,"removeObjectAtIndex:",_f._index);
- }else{
- ++_11;
- }
- if(_10==CPNotFound||_10>=_11){
- objj_msgSend(_windows,"addObject:",_f);
- }else{
- objj_msgSend(_windows,"insertObject:atIndex:",_f,_10);
- }
- for(;_12<_11;++_12){
- _windows[_12]._index=_12;
- _windows[_12]._DOMElement.style.zIndex=_12;
- }
- if(!_13){
- if(_f._DOMElement.CPDOMDisplayContext){
- _f._DOMElement.CPDOMDisplayContext[0]=-1;
- }
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=6;
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=_DOMElement;
- CPDOMDisplayServerInstructions[CPDOMDisplayServerInstructionCount++]=_f._DOMElement;
- _f._isVisible=YES;
- if(objj_msgSend(_f,"isFullBridge")){
- objj_msgSend(_f,"setFrame:",objj_msgSend(_f._bridge,"contentBounds"));
- }
- }
- }
- }),new objj_method(sel_getUid("orderedWindows"),function(_14,_15){
- with(_14){
- return _windows;
- }
- })]);