From 8f43f5a4a154a2612beeeb32fc1f5b02321d87a6 Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Sun, 10 Jan 2010 00:37:42 -0600 Subject: [PATCH 1/6] Added resource for drag and drop image. --- AppKit/Resources/GenericFile.png | Bin 0 -> 1449 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 AppKit/Resources/GenericFile.png diff --git a/AppKit/Resources/GenericFile.png b/AppKit/Resources/GenericFile.png new file mode 100644 index 0000000000000000000000000000000000000000..f6147a1767c386a5594cede49908596003a76b9b GIT binary patch literal 1449 zcmV;a1y=frP)|QuM-<0rU02s{)F>)Mh&I~!)ugepPc7-*dlo5z z2rpeg0yaS~v452xg%Ge1QVMA;gG~tX0*akaF;V>3)y?_c?C~w;?Y(E$d)+Swj&t|U znVEC`=RarWu6JWDxWq&yF4B;#gL^zp<4(HYh)_pf>J2kwwzs#xnw*^c{^H`I&Y*8r z$z(Dvold({DwQkg)6>)6_xARFSy@^6O$Gyu$Vw0ZL_cwTeLdXU+dI+P+8Vkc_xJY? z&fnhNx|^FD*VWZE)zj1S^~lJ`yQQV29}W)>&qAL#J75q1s3p(O&yyI2L{aYU?i@hC z2xUcmeSOpL@bLWN;$rjM+}w9E?|Bq+TPPhDidujw+P-)^?htX>B@ziw7z{=X4i3(( zt*!keA3KVkz^9`H0H5yRHL3H|2!Ozb%gakQIy(A#eSJL=5X=C?VlfxB;IuLT5bEmc zoa7%bQBF-wMFN5ufbe4NKT_^e008pC)zy`2Yio1kL#`wBou zM~4T3^*oMh%R*h97{SOrQpU=H_Mx0La9|#H+ACFah9C+HhMHU}XXT za8RP=9Maz2?g=1lY-~K431tNU&TCO1SO$7V02Dxg1pqNNHuhu?%mAoCQPw!m_&BPf z^T7ZLH2`#Xce~EcPIAJl&CSiCx5!8jIG)7?{J~i*xsJnt{r!FKT);L-X=rHhKx%1e zAt$`v+Sj~#zF$~aSQW$4A{jpe%MJjH#W9UOG$#kZ1RjoZmk4_LS^KeMhK7c|otc^Wb$567 z54rzz0K}MwCBQ^c7M!9001>AUVSwORjKjJ^(572t?jyDI8=Rh={!#$=6BYFG6*B`c zOpVJoSXlRQQ0L>C=tFNU+C~i^I8Qsmb=J<$L>~k{cGLlK>aqkt?SlmXK$MjY+Lm?F z`v?e}76E`d%Mkqz6H4V>24(mFhqxt5^Qr~kv%Yb~U5BCEp zf~FYo=@2{&Q$81fz*d-LK%ik}1}MD(M=S#coEIPh>5r)<29$wM1(`sw1OyXnO$^ZW zZ(WN8SsQ_J)=m=xOaNeGB`twM0%Zn3L5Lt=B^|OVb3h@8RxJRMx57<=ph_~Vlw!5D zay*I%`IjUZ5wIm6R<^?Mb3h^cYpD@<$pOX))O-#w0ib(oB`pCX0jl$9(CR#THGdAM zc>t_Az++V<<$#*s217jvX;P^q2B^(JbHqGf0)ZV%UXe+ioSb|R8+>1q#Ks_JXy@mm zpNo7U!pn#My|^zIWm@>nG0wjiITE=L$-9jQ0U&)HFX*?4w2ScOWw|d0qRvlT{}%a2 zBqfr!SO7o=r-{5pKksDE*g(W#0$}8g{xjNBzEk}RP78cguKc+(00000NkvXXu0mjf DR@#(6 literal 0 HcmV?d00001 From 3295966022fbf7b23f211a8535b421046e05ac64 Mon Sep 17 00:00:00 2001 From: Francisco Ryan Tolmasky I Date: Sun, 10 Jan 2010 12:18:13 -0800 Subject: [PATCH 2/6] Updated Jake package version number. Reviewed by me. --- common.jake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.jake b/common.jake index 237aa161d..97c7b838f 100644 --- a/common.jake +++ b/common.jake @@ -31,7 +31,7 @@ function ensurePackageUpToDate(packageName, requiredVersion) } // UPDATE THESE TO PICK UP CORRESPONDING CHANGES IN DEPENDENCIES -ensurePackageUpToDate("jake", "0.1.1"); +ensurePackageUpToDate("jake", "0.1.2"); ensurePackageUpToDate("browserjs", "0.1.1"); var Jake = require("jake"); From 608853d4fa2c250949fd486042300aa292738556 Mon Sep 17 00:00:00 2001 From: Nicholas Small Date: Mon, 11 Jan 2010 14:13:05 -0500 Subject: [PATCH 3/6] Added -setFlashVars: and -setParameters: to CPFlashView. Closes #59. --- AppKit/CPFlashView.j | 74 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/AppKit/CPFlashView.j b/AppKit/CPFlashView.j index 5d3f983a4..e17753df2 100644 --- a/AppKit/CPFlashView.j +++ b/AppKit/CPFlashView.j @@ -30,6 +30,10 @@ @implementation CPFlashView : CPView { CPFlashMovie _flashMovie; + CPDictionary _flashVars; + + CPDictionary _params; + CPDictionary _paramElements; DOMElement _DOMEmbedElement; DOMElement _DOMMParamElement; @@ -61,12 +65,12 @@ _DOMObjectElement.appendChild(param); _DOMEmbedElement = document.createElement("embed"); - + _DOMEmbedElement.type = "application/x-shockwave-flash"; _DOMEmbedElement.setAttribute("wmode", "transparent"); _DOMEmbedElement.width = "100%"; _DOMEmbedElement.height = "100%"; - + // IE requires this thing to be in the _DOMElement and not the _DOMObjectElement. _DOMElement.appendChild(_DOMEmbedElement); @@ -94,6 +98,72 @@ return _flashMovie; } +- (void)setFlashVars:(CPDictionary)aDictionary +{ + if (_flashVars === aDictionary) + return; + + _flashVars = aDictionary; + + var varString = @"", + enumerator = [_flashVars keyEnumerator]; + + var key; + while (key = [enumerator nextObject]) + varString = [[CPString alloc] stringByAppendingFormat:@"%@&%@=%@", varString, key, [_flashVars objectForKey:key]]; + + var param = document.createElement(@"param"); + param.name = @"flashvars"; + param.value = varString; + + _DOMObjectElement.appendChild(param); + + if (_DOMEmbedElement) + _DOMEmbedElement.setAttribute(@"flashvars", varString); +} + +- (CPDictionary)flashVars +{ + return _flashVars; +} + +- (void)setParameters:(CPDictionary)aDictionary +{ + if (_params == aDictionary) + return; + + if (_paramElements) + { + var elements = [_paramElements allValues], + count = [elements count]; + + for (var i = 0; i < count; i++) + _DOMObjectElement.removeChild(param); + } + + _params = aDictionary; + _paramElements = [CPDictionary dictionary]; + + var enumerator = [_params keyEnumerator], + key; + + while (key = [enumerator nextObject]) + { + var param = document.createElement(@"param"); + param.name = key; + param.value = [_params objectForKey:key]; + + _DOMObjectElement.appendChild(param); + + [_paramElements setObject:param forKey:key]; + } +} + +- (CPDictionary)parameters +{ + return _params; +} + - (void)mouseDragged:(CPEvent)anEvent { [[[self window] platformWindow] _propagateCurrentDOMEvent:YES]; From 066972ff758293843302a4aa51c0417e08d4528e Mon Sep 17 00:00:00 2001 From: Nicholas Small Date: Mon, 11 Jan 2010 16:43:49 -0500 Subject: [PATCH 4/6] Some fixes for last commit. Thanks to Jesse Ross. --- AppKit/CPFlashView.j | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/AppKit/CPFlashView.j b/AppKit/CPFlashView.j index e17753df2..d1c0a9ba0 100644 --- a/AppKit/CPFlashView.j +++ b/AppKit/CPFlashView.j @@ -100,9 +100,6 @@ - (void)setFlashVars:(CPDictionary)aDictionary { - if (_flashVars === aDictionary) - return; - _flashVars = aDictionary; var varString = @"", @@ -110,7 +107,7 @@ var key; while (key = [enumerator nextObject]) - varString = [[CPString alloc] stringByAppendingFormat:@"%@&%@=%@", varString, key, [_flashVars objectForKey:key]]; + varString = [varString stringByAppendingFormat:@"&%@=%@", key, [_flashVars objectForKey:key]]; var param = document.createElement(@"param"); param.name = @"flashvars"; @@ -129,16 +126,13 @@ - (void)setParameters:(CPDictionary)aDictionary { - if (_params == aDictionary) - return; - if (_paramElements) { var elements = [_paramElements allValues], count = [elements count]; for (var i = 0; i < count; i++) - _DOMObjectElement.removeChild(param); + _DOMObjectElement.removeChild([elements objectAtIndex:i]); } _params = aDictionary; From ef0c84072bc2101a5d056430729528cbc5ed8a8f Mon Sep 17 00:00:00 2001 From: Ross Boucher Date: Mon, 11 Jan 2010 22:33:08 -0800 Subject: [PATCH 5/6] Fix the platform identifying code. Fix the longstanding IE refresh bug by ensuring document is ready. Closes #98. --- Objective-J/Runtime/bootstrap.js | 26 +++++++++++++++++++++++++- Objective-J/Runtime/file.js | 11 +++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Objective-J/Runtime/bootstrap.js b/Objective-J/Runtime/bootstrap.js index 42d4767e6..b39ddfde2 100644 --- a/Objective-J/Runtime/bootstrap.js +++ b/Objective-J/Runtime/bootstrap.js @@ -21,4 +21,28 @@ */ if (window.OBJJ_MAIN_FILE) - objj_import(OBJJ_MAIN_FILE, YES, function() { main(); }); +{ + var addOnload = function(handler + { + if (window.addEventListener) + window.addEventListener("load", handler, false); + else if (window.attachEvent) + window.attachEvent("onload", handler); + } + + var documentLoaded = NO; + var defaultHandler = function() + { + documentLoaded = YES; + } + + addOnload(defaultHandler); + + objj_import(OBJJ_MAIN_FILE, YES, function() + { + if (documentLoaded) + main(); + else + addOnload(main); + }); +} diff --git a/Objective-J/Runtime/file.js b/Objective-J/Runtime/file.js index 50f356451..6be59a575 100644 --- a/Objective-J/Runtime/file.js +++ b/Objective-J/Runtime/file.js @@ -32,10 +32,13 @@ var OBJJ_ENVIRONMENTS = ENVIRONMENTS; #ifdef PLATFORM_USERAGENT var userAgent = window.navigator.userAgent; -if (userAgent.indexOf("MSIE 7") !== -1) - OBJJ_ENVIRONMENTS.unshift("IE7"); -else if (userAgent.indexOf("MSIE 8") !== -1) - OBJJ_ENVIRONMENTS.unshift("IE8"); +if (userAgent.indexOf("MSIE") !== -1) +{ + if (userAgent.indexOf("MSIE 8") !== -1) + OBJJ_ENVIRONMENTS.unshift("IE8"); + else + OBJJ_ENVIRONMENTS.unshift("IE7"); +} else OBJJ_ENVIRONMENTS.unshift("W3C"); #endif From c3c8ac7ff00f42aecaf91c7415bc1f70b3af5cd6 Mon Sep 17 00:00:00 2001 From: Francisco Ryan Tolmasky I Date: Tue, 12 Jan 2010 01:49:06 -0800 Subject: [PATCH 6/6] Fix for missing parenthesis causing syntax error. Reviewed by me. --- Objective-J/Runtime/bootstrap.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Objective-J/Runtime/bootstrap.js b/Objective-J/Runtime/bootstrap.js index b39ddfde2..e7024f607 100644 --- a/Objective-J/Runtime/bootstrap.js +++ b/Objective-J/Runtime/bootstrap.js @@ -22,7 +22,7 @@ if (window.OBJJ_MAIN_FILE) { - var addOnload = function(handler + var addOnload = function(handler) { if (window.addEventListener) window.addEventListener("load", handler, false);