REVO2700List reorganizing3IX uPaypalURLChttps%3A%2F%2Fwww.paypal.com%2Fcgi-bin%2Fwebscr%3Fcmd%3D_xclick%26business%3Deric%252echatonet%2540sosmartsoftware%252ecom%26item_name%3DEric%2520Chatonet%26item_number%3DDev%2520Support%26no_shipping%3D0%26no_note%3D1%26tax%3D0%26currency_code%3DEUR%26return%3Dhttp%3A%2F%2Fwww.sosmartsoftware.com%2F%26charset%3DUTF%252d87Reorganizing a list field manually using drag and drop ULucida Grande ULucida Grande WLucida Grande ULucida Grande UTahoma UTahoma WTahoma @ULucida Grande UGeorgia UGeorgia UCourier WLucida Grande UTimes New RomanUTimes New RomanWTimes New Roman UVerdana WVerdana UVerdana WVerdana @UVerdanaUGeorgiaUVerdanaUVerdana U Segoe UI UVerdana uPosition Vertical-118 Horizontal329uGuideCentered Horizontalfalse cREVGeneral debugObjectsstackfileversion2.4cREVGeometryCachestackID1726 Xlocal lDirFlag,lCancelID ------------------------------- on openCard send "mouseUp" to btn "Reset" set the uAnim of this cd to true AnimLogo true -- starts the logo animation CheckVersion -- end openCard ------------------------------- on closeCard set the uAnim of this cd to false -- stops the logo animation pass closeCard end closeCard ------------------------------- on AnimLogo lDirFlag -- So Smart logo animation using the move command if the uAnim of this cd then if lDirFlag then move img "Sprite" to item 1 of the loc of img "SSS" - the width of img "SSS" div 2,item 2 of the loc of img "SSS" - 1 in 1500 milliseconds else move img "Sprite" to item 1 of the loc of img "SSS" + the width of img "SSS" div 2 - 3,item 2 of the loc of img "SSS" - 1 in 1500 milliseconds end if put not lDirFlag into lDirFlag -- this script local variable declared outside the handler (lDirFlag) allows to reverse the process at each call send "AnimLogo" && lDirFlag to me in 100 milliseconds put the result into lCancelID else cancel lCancelID end AnimLogo ------------------------------- on CheckVersion if char 1 to 3 of the version < 2.9 then answer error "This tutorial needs Rev 2.9 or later." with "Sorry" close this stack end if end CheckVersion ------------------------------- on CleanStak -- private handler set the hilite of btn "TopLevel" to false send "mouseUp" to btn "Reset" save this stack put "done" end CleanStak uAnimtrue cREVGeneral breakPointscREVGeometryCacheIDs121682106666311141216821066664111511598649713301056115849640228110441216822389622116312166770240101093121667702394510941216823980985121211584953422191039115986593500410581158498102046160011598676162801059115849632031210421158497625355104612166767945101105cREVGeometrycacheorder~1158495342219 1158496402281 1158496320312 1159867616280 1158497625355 1216676794510 1216821066663 1216821066664 1216823980985 total15#QFEZ[@ Tab Menu}on menuPick pNewItem,pOldItem local tVisFlag ----- lock screen if pOldItem = "Action" then show grp pNewItem else hide grp pOldItem ----- put pNewItem = "Action" into tVisFlag set the visible of fld "ListField" to tVisFlag set the visible of fld "Intro" to tVisFlag set the visible of btn "Paypal" to tVisFlag set the visible of btn "Script" to tVisFlag set the visible of btn "Reset" to tVisFlag unlock screen end menuPick U]Action Discussion cREVGeometryMaster,scaleBottomObjectSideBottomMaster,movehDistancefalseMastertrueMaster,scaleBottomObjectRefcardMaster,scaleBottomAbsolutetrueMaster,scaleBottomtrueMaster,expectedRect 20,15,380,476Master,scalebottomDistance-58Master,movevDistancefalseMaster,scaleRightAbsolutetrueMaster,scaleRighttrueMaster,scalerightDistance-20Master,scaleRightObjectRefcardMaster,scaleRightObjectSideRightMaster,cardRanking2Master,scaleleftDistanceMaster,scaletopDistance cREVGeneral revUniqueID 1158495342219  Discussiona$/t) cREVGeometryMaster,scaleBottomObjectSideBottomMaster,movehDistancefalseMastertrueMaster,scaleBottomObjectRefcardMaster,scaleBottomAbsolutetrueMaster,scaleBottomtrueMaster,expectedRect 36,47,364,464Master,scalebottomDistance-70Master,movevDistancefalseMaster,scaleRightAbsolutetrueMaster,scaleRighttrueMaster,scalerightDistance-36Master,scaleRightObjectRefcardMaster,scaleRightObjectSideRightMaster,cardRanking2Master,scaleleftDistanceMaster,scaletopDistance cREVGeneral revUniqueID 1158496402281 Info)xon mouseDown if the textStyle of the clickchunk = "link" then EditTheScript the clickText -- end mouseDown ---------------------------- on EditTheScript pWhich local tObjs ----- switch pWhich case "card's script" put "this cd" into tObjs break case "the script of the drop box field" put "fld ID 1071" into tObjs break case "four custom properties" select fld "Box1" send "revBuildPropertyPalette" to stack "revTemplatePalette" wait 200 millisecs with messages go cd "revCustomProperties" of stack line 1 of the windows exit to top end switch ----- repeat for each item tObj in tObjs do "edit script of" && tObj end repeat end EditTheScript (3l!uList0qHow-To Stack #025 by Eric Chatonet 07/22/06 Initial release When checked, the "TopLevel" check box allows you to access all objects and scripts easily. This stack shows how to put some divination into your projects. Enjoy! If customized interfaces require mainly a lot of work, they allow the same layout on all platforms and give a strong personality to your interfaces. To buid a customized interface, you need to replace standard controls by transpatent ones using images you have prepared. Why would you work with PNG images? Portable Network Graphics format was created primarily to by-pass GIF patents (that are no longer valid since 2006 October 1th :-) Compared to JPEG, PNG format brings three great advantages: It's a non-destructive format. Its weight is not heavy. Using an alpha channel, it's able to handle transparency. As a rule, prefer to use PNG when you need transparency and JPEG when you don't need it. BTW, always use JPEG for photos: PNG is not suitable for them. What allows transparency? Mastering transparency is a key for well done interfaces: You can smooth graphics edges. You can drop shadows as you wish. You can overlay graphics with graphics, with background colors or images and achieve very subtle effects. In addition, you can combine transparency with blendLevel Rev feature that may be changed on-the-fly. A world :-) How to prepare PNG images? You need PhotoShop or whatever image-editing program you wish. Sometimes you will find convenient to prepare your draft in a vector edting software then import it in PhotoShop as a background tracing. To be frank, mastering all aspects of such images editing requires a bit of training ;-) But results will amaze you! The standard button in this stack The 'Run It!" button is very easy to make: It's just a transparent button the icon and hilitedIcon of which are set to the right PNG images IDs. The PNG used are semi-transparent then the button catches a bit of the background color. The button is overlayed by a transparent field to specify its label. mouseUp, mouseDown and mouseRelease events that are received by this field are sent to the button itself (both share the same name and are grouped): on mouseDown send "mouseDown" to btn the short name of me end mouseDown ----------------------------------- on mouseUp send "mouseUp" to btn the short name of me end mouseUp ----------------------------------- on mouseRelease send "mouseRelease" to btn the short name of me end mouseRelease Effective code is in the button's script. This way of doing allows to duplicate the group to make another button by just setting its icons IDs. Show button scripts The progress bar This one is a bit more complicated ;-) It's a group using one PNG embedded image and two graphics: the progress bar edges and the progress bar itself. Here, the PNG overlies the progress bar graphics that is seen through it. Modifying the blend level of the PNG allows to master the progress bar gloss :-) A simple handler allows to monitor the progress bar: on DisplayProgress pPos,pTotal local tRect ----- if pPos = 0 then put 1 into pPos put the rect of img "Progress" into tRect put item 1 of tRect + \ round(pPos/pTotal*the width of img "Progress") \ into item 3 of tRect set the rect of grc "Bar" to tRect end DisplayProgress And to set the progress bar position: DisplayProgress 0,72 -- beginning DisplayProgress 50,100 -- half DisplayProgress 50,50 -- complete Where pPos is the current thumb position. And pTotal is the end value of the progress bar. Note that the code handles ratios automatically. If you copy the progress bar using the "Copy" button, you will be able to resize the pasted group in your own stack using the pointer tool. Show progress bar scripts The So Smart logo (for fun) The logo itselg is a PNG shadowed image overlayed by a tiny and almost transparent PNG image that is moved using the send command. Show logo script Vocabulary Here are the main dictionary entries you can check in the Revolution documentation about this topic: Icon property HilitedIcon property Hilite property MouseUp message MouseDown message MouseRelease message Rect property Send command Move command 1 How-To Stack #025 by Eric Chatonet 07/22/06 Initial release When checked, the "TopLevel" check box allows you to access all objects and scripts easily. This stack shows how to put some divination into your projects. Enjoy! Good ergonomics and . Why would you work with PNG images? Portable Network Graphics format was created primarily to by-pass GIF patents (that are no longer valid since 2006 October 1th :-) Compared to JPEG, PNG format brings three great advantages: It's a non-destructive format. Its weight is not heavy. Using an alpha channel, it's able to handle transparency. As a rule, prefer to use PNG when you need transparency and JPEG when you don't need it. BTW, always use JPEG for photos: PNG is not suitable for them. What allows transparency? Mastering transparency is a key for well done interfaces: You can smooth graphics edges. You can drop shadows as you wish. You can overlay graphics with graphics, with background colors or images and achieve very subtle effects. In addition, you can combine transparency with blendLevel Rev feature that may be changed on-the-fly. A world :-) How to prepare PNG images? You need PhotoShop or whatever image-editing program you wish. Sometimes you will find convenient to prepare your draft in a vector edting software then import it in PhotoShop as a background tracing. To be frank, mastering all aspects of such images editing requires a bit of training ;-) But results will amaze you! The standard button in this stack The 'Run It!" button is very easy to make: It's just a transparent button the icon and hilitedIcon of which are set to the right PNG images IDs. The PNG used are semi-transparent then the button catches a bit of the background color. The button is overlayed by a transparent field to specify its label. mouseUp, mouseDown and mouseRelease events that are received by this field are sent to the button itself (both share the same name and are grouped): on mouseDown send "mouseDown" to btn the short name of me end mouseDown ----------------------------------- on mouseUp send "mouseUp" to btn the short name of me end mouseUp ----------------------------------- on mouseRelease send "mouseRelease" to btn the short name of me end mouseRelease Effective code is in the button's script. This way of doing allows to duplicate the group to make another button by just setting its icons IDs. Show button scripts The progress bar This one is a bit more complicated ;-) It's a group using one PNG embedded image and two graphics: the progress bar edges and the progress bar itself. Here, the PNG overlies the progress bar graphics that is seen through it. Modifying the blend level of the PNG allows to master the progress bar gloss :-) A simple handler allows to monitor the progress bar: on DisplayProgress pPos,pTotal local tRect ----- if pPos = 0 then put 1 into pPos put the rect of img "Progress" into tRect put item 1 of tRect + \ round(pPos/pTotal*the width of img "Progress") \ into item 3 of tRect set the rect of grc "Bar" to tRect end DisplayProgress And to set the progress bar position: DisplayProgress 0,72 -- beginning DisplayProgress 50,100 -- half DisplayProgress 50,50 -- complete Where pPos is the current thumb position. And pTotal is the end value of the progress bar. Note that the code handles ratios automatically. If you copy the progress bar using the "Copy" button, you will be able to resize the pasted group in your own stack using the pointer tool. Show progress bar scripts The So Smart logo (for fun) The logo itselg is a PNG shadowed image overlayed by a tiny and almost transparent PNG image that is moved using the send command. Show logo script Vocabulary Here are the main dictionary entries you can check in the Revolution documentation about this topic: Icon property HilitedIcon property Hilite property MouseUp message MouseDown message MouseRelease message Rect property Send command Move command 1 How-To Stack #025 by Eric Chatonet 07/22/06 Initial release When checked, the "TopLevel" check box allows you to access all objects and scripts easily. This stack shows how to put some divination into your projects. Enjoy! Good ergonomics and a touch of magic make good projects :-) Why would you work with PNG images? Portable Network Graphics format was created primarily to by-pass GIF patents (that are no longer valid since 2006 October 1th :-) Compared to JPEG, PNG format brings three great advantages: It's a non-destructive format. Its weight is not heavy. Using an alpha channel, it's able to handle transparency. As a rule, prefer to use PNG when you need transparency and JPEG when you don't need it. BTW, always use JPEG for photos: PNG is not suitable for them. What allows transparency? Mastering transparency is a key for well done interfaces: You can smooth graphics edges. You can drop shadows as you wish. You can overlay graphics with graphics, with background colors or images and achieve very subtle effects. In addition, you can combine transparency with blendLevel Rev feature that may be changed on-the-fly. A world :-) How to prepare PNG images? You need PhotoShop or whatever image-editing program you wish. Sometimes you will find convenient to prepare your draft in a vector edting software then import it in PhotoShop as a background tracing. To be frank, mastering all aspects of such images editing requires a bit of training ;-) But results will amaze you! The standard button in this stack The 'Run It!" button is very easy to make: It's just a transparent button the icon and hilitedIcon of which are set to the right PNG images IDs. The PNG used are semi-transparent then the button catches a bit of the background color. The button is overlayed by a transparent field to specify its label. mouseUp, mouseDown and mouseRelease events that are received by this field are sent to the button itself (both share the same name and are grouped): on mouseDown send "mouseDown" to btn the short name of me end mouseDown ----------------------------------- on mouseUp send "mouseUp" to btn the short name of me end mouseUp ----------------------------------- on mouseRelease send "mouseRelease" to btn the short name of me end mouseRelease Effective code is in the button's script. This way of doing allows to duplicate the group to make another button by just setting its icons IDs. Show button scripts The progress bar This one is a bit more complicated ;-) It's a group using one PNG embedded image and two graphics: the progress bar edges and the progress bar itself. Here, the PNG overlies the progress bar graphics that is seen through it. Modifying the blend level of the PNG allows to master the progress bar gloss :-) A simple handler allows to monitor the progress bar: on DisplayProgress pPos,pTotal local tRect ----- if pPos = 0 then put 1 into pPos put the rect of img "Progress" into tRect put item 1 of tRect + \ round(pPos/pTotal*the width of img "Progress") \ into item 3 of tRect set the rect of grc "Bar" to tRect end DisplayProgress And to set the progress bar position: DisplayProgress 0,72 -- beginning DisplayProgress 50,100 -- half DisplayProgress 50,50 -- complete Where pPos is the current thumb position. And pTotal is the end value of the progress bar. Note that the code handles ratios automatically. If you copy the progress bar using the "Copy" button, you will be able to resize the pasted group in your own stack using the pointer tool. Show progress bar scripts The So Smart logo (for fun) The logo itselg is a PNG shadowed image overlayed by a tiny and almost transparent PNG image that is moved using the send command. Show logo script Vocabulary Here are the main dictionary entries you can check in the Revolution documentation about this topic: Icon property HilitedIcon property Hilite property MouseUp message MouseDown message MouseRelease message Rect property Send command Move command 1 cREVGeometryMaster,scaleBottomObjectSideBottomMaster,movehDistancefalseMastertrueMaster,scaleBottomObjectRefcardMaster,scaleBottomAbsolutetrueMaster,scaleBottomtrueMaster,expectedRect 40,51,360,469Master,scalebottomDistance-74Master,movevDistancefalseMaster,scaleRightAbsolutetrueMaster,scaleRighttrueMaster,scalerightDistance-40Master,scaleRightObjectRefcardMaster,scaleRightObjectSideRightMaster,cardRanking2Master,scaleleftDistanceMaster,scaletopDistance cREVGeneral revUniqueID 1158496320312 breakPoints  #How-To Stack #026 by Eric Chatonet @"  07/24/06 Initial release @  bNote: when checked, the "TopLevel" check box allows you to access all objects and scripts easily. a  |()%ţ,%-F2\@ *n w JU牓/_ o_ū(II` b`AM]Nk5 _ ,?d+@021~K?@fӬ ~W XXY};w<||| ߿}Kw^W@koǑ74;Gڷo_߿uLL7qe`&Fqϟ_sPuFFfbA8`(10r=zk~ TxNP`=l|,IENDB` cREVGeneral revUniqueID 1158498102046#Logo iv cREVGeometryMaster,moveVObjectSidebottomMaster,movehDistance -0.502857MastertrueMaster,moveVObjectRefcardMaster,moveHObjectRefcardMaster,moveVAbsolutetrue Master,moveVtrueMaster,expectedRect130,494,269,523Master,scalebottomDistanceMaster,movevDistance-26Master,moveHObjectSiderightMaster,scalerightDistanceMaster,cardRanking2Master,moveHAbsolutefalseMaster,scaleleftDistanceMaster,scaletopDistance Master,moveHtrue cREVGeneral revUniqueID 1159867616280 SSS  Hon mouseDown revGoUrl "http://www.sosmartsoftware.com" end mouseDown v~custom control- PNG  IHDR~lC| pHYs.#.#x?v 9iCCPPhotoshop ICC profilexڝwTTϽwz0z.0. Qf Ml@DEHb!(`HPb0dFJ|yyǽgs{.$O./ 'z8WGбx0Y驾A@$/7z HeOOҬT_lN:K"N3"$F/JPrb[䥟}Qd[Sl1x{#bG\NoX3I[ql2$ 8xtrp/8 pCfq.Knjm͠{r28?.)ɩL^6g,qm"[Z[Z~Q7%" 3R`̊j[~: w!$E}kyhyRm333: }=#vʉe tqX)I)B>== <8Xȉ9yP:8p΍Lg kk Ѐ$t!0V87`ɀ2A. @JPA#h'@8 .: ``a!2D!UH 2 dA>P ECqB**Z:]B=h~L2  5pN:|ó@ QC !H,G6 H9R ]H/r Aw( Q(OTJCm@*QGQ-(j MF+ 6h/*t:].G7Зw7 Xa<1:L1s3bXyeb~19 vGĩp+5qy^ oó|= ?'Htv`Ba3BDxHxE$Չ"XAP44077&9$An0;T2421t.54ld+s;# V]=iY9FgM֚k&=%Ō:nc1gcbcfX.}lGv{c)LŖN퉛w/p+/<j$.$%&㒣OdxTԂԑ4i3|o~C:&S@L u[Uo3C3OfIgwdO|;W-wsz 17jl8c͉̈́3+{%lKWr[ $ llGmnacOkE&EEY׾2⫅;K,KhtiN=e²{^-_V^Oo§s]?TWީrjVQ=w}`嚢zԶiו8>k׍ E  [ly邟~_Y53rW򯎼^{7so}x>|쇊z>yzgAMA|Q cHRMz%u0`:o_F"QIDATxbdF$G H4>nGkͽ $I5U/WhfO^/@@ܿĂQ&v;, U|||O$0ȂgӸGLP^So]uX7 9+i|zWSH?WOVxJY s001rK0:F9o(?" X)5m]eO~.z۝=KםYrJ@tAQݻy\{}L@չ-Sw' ^~G{lWOV~%(v~ZVPB\lZw_z#rӇ[')U ̞qA#ݿLb,"o'|_c?_=aAs,t85'~~߿?~}s+YDl Y83rϛS9KW˳?H?3 @,Š 9 02qrrﳃ_+yoYt|m{̌oHucdF:_ "|c|ԏo]edb+!oξw|fqbg{sηw ϯ/|E. ă2312;Fv^!O7segdgz䇄u<+&糝{oL?| t Bg  '8Yٔ39xG2 2J33P+"㋃prsٰ3˝C ?eQ0ovswׂeHaeƏW~t߯ :r~ǻ3Hl38>@*p>ֿO~tcKjb>_?֦ =v=aO#"#d'mS">Qǧ ,T|1UBRV%'4Y˓p nŦn?f1,( YsW22WqT?~?r98Xz.5S43#?R }WzQ/#qowLэX9XŕmL,Y?=VBLX,w*<?]{ġ23a,fگ00e>ߎCXC]F͏\х.lvxuE,`_YXX߿NwyT71s 3zy͒ٴ lUK͕ -)}c5nnl듂[3*n8yU,x$ bY$d$4L$>>:{ꭀЗ>|g= P~|o_g`|/.{|\RZą95,4%D~Ç_022qIrJV*q**ᗒ32._ s~}ȅ,ncgĮ#ig^޼GR׷/>ajSRD?ãj*OoLܾx1 faeV s9fN!-KQe5G!aa[ ^oN~{rnHA 󋫨KqqSn}k>q1XUdT%C_ڒ[$SJKSTTLIU8ZNۏ?Gx~GW+2(*sٱ ޿q X @W޳2>eͩ\Pvw׾zY-NݛoM7+Iq+Z(V2{sW/~PvKꙟ(wnZ_V!_xDľTbƯ@I]u &vnn:aAJJ}0-{aQf_>\~A>/x a|x]=҆'?X=ۜ\VqIe̩>[g$\be4 KkabEXOH9 ϟqɍO^-V`%ʇ{<~y1I 2sps2 }g,,j2 UWUgWĿ630~}go |mĦ#".$"oϸd⃥>_v>AFN~A&P&S网ٳ (9i5jfA] 7٨} ! Lڿּ$8&ц;ɀAѓäRz4 Dk'U帊֒?*9pa.MQ;N)R$h։ŃY󣛛^8(3qި4wmv v?V,A{ak2xr+Sg-yJp ,$Cg7XRhBL_٪V$`)V4b(Xǐ>U%:.0  9uylq.,ZNp}ռ#ƨC9EL*UI\&qbAlND-- HK뭌&X襥s7h^5Yr"V~ݳp#<7im" PßO_ 5TӅK&6D7;3.Ik66@ /??מzW(g J^bKi%P(Kc m&n-=oo 2i /ov2u d -gzqg(\pQf+ZT=G<^|:{eQdwW&>9}Ezut5]?0F!,|$uM8koeSӛ/g?_[_A恴'eiY:sZN(Z[k?_m :ςéjfl^yE2LфP@SXݟq[ZLu|0@d<MM  E"'8mu+*VƔn}Oӵ8G;o9ZZ>=20mr8 %1x*4[(h!qi:䁎9kuʹ^1COiojʗt'4 q}g.<`B0I"{XW p0+;Rg!&v6;ϋې7&wu.'/oZcz(03,pAA:++ (%-`o@-B !4P ‡DZ{{;ss$~<xZ{W9g) Hcd@g2(ۗ{L?~!?~6ﯣt mG:xe"gxAXրFcF0Xf2A1] \ ˆ)Bky]iFݞUi7e٬Xl,8_ۥog;_=k 'ZhXI ي"5;$ a+?fJrrd(BM7w d,%aIx.)dmж\z8F^Us_oFJAX[7*P!䲵u[uJg 4 v|\Jt^c N@JXJMR;øy̠5Ϲ:≷_Ӂyi4뾾Kj"%DF`e &%Rvd{ uYz|7:^*}&%HB"&63eY&ç0}3Cp 0BPXve4M(T4,6 0UHt\B 㵁1N!a?V֛Rgsf&D&?S|m+ǘ7B2QL4 x0L&H*Wo]dہ|"{/W,4WDRkL:sx"V*&x(k2sMra6b]7W; vp6 IlmKKHDB0ƋWo^ 1"Q ƀPLNf߾7fY! !%[ߥޠ9x=Pg `2tq7[FJ0_.@uGANz }\fܟ|P5\`ƈ ͒*Ýaf![]$и KA׹1jfghAe՗eƱfyy$o"59 ^{Z20(pYwrqݟtPBRGbek2{׻+B׶ǻ)©(Fƙy7Zu@l`fVw `lQֲ8|8{'U߶r+^[ ӡ\ED[~ymiYssqӍ .zrٯ_~ rʲ JJ·soؤ${"*)`Y *4J[Ov`dgg& ,1Xz3J(3N3K厼I]_#Yt%D`+րρ*OJ+@#E Xh ,RdõcaSĒz6jܼ\==ǯ/ L$_9yĀf̜8"HӐ҇XX32Kn6Bc b?!!>yB z\@*gN4^/A]a9]cٮ¢B\*2~<&FS`KB^Ԯtuv.mxof/X5LV󿤼?~?w|?|vH˙xHWR[!+o zY}jV?ÿ;ٙ fdw6.~zߏ?~~~ó;w~|2/Ĥ%u%=9xT|CTP!_XAxxwoJDX̎[cƒ+_ X'~*fZ+krWCּs Ý _=l>$ٹ#WTOGOgGp[`C0W'=?Ǡw\"zi+'Z{7Μ r7/_ZAˋfeTxoW@PSsEon?MM(WT ֥y  + %1 (0"ɟđk)= +ֻС*  --Ėd( ٻ Ŭ ;  ξċ[-R ̸ٺ+ͷѽ!5 ȴ &.+ "ò`%6 7ұװ/TtM óȲ"6ױ1Q Ѽ{I * ιФ 2ȹ ȳ0 ֳȵԸqFvB%~/Yo؟f1w~vWFjqC!rjb~ƹ/~ laٿH|Fh S:B_/.lvtQ.H^,DG<y(.䊜m ~xxR d ͡Z$$*-~{r.51tTxxz Au3 6..K&{9KrgoaS1 G'ցV/1j )>IݫPw}`@_,ly%ǧ7% DEWаcSTonz*/v/bNQC8VG[$1HK~ DH6gy"a0!͌nds$=wF~D,z& X_O.Z)(qcYwv-~#y_#b[k?1~l_φ -bpm4 Ƽ$D>!X6S0"5\9#nhQ?h?p ů8?@`$rYȅf1a0K@ٗR53,-k"/.ٰX H!@,X#z"Y es`T/RF¿ Xʎdf5ÿHBc@᳔-p /R,HRbQ";`!Ef` &<;6XJ(\6KEO$?P@Y 'Hqdt /~ q9 RXgEJ0) Ê_, E`OB/@~GQ*vB>dAa% '#Y  H Y\eY)O3 ZVT3a __H#o@8,5WAHL=NQJĴ~@f F-|{nU[DllVMduIENDB` cREVGeneral revUniqueID 1159865935004QPaypaljBv--> all handlers on mouseUp revGoUrl urldecode(the uPaypalURL of stack (the mainstack of this stack)) end mouseUp @vpFE cREVGeometryMaster,moveVObjectSidebottomMaster,movehDistance -0.147143MastertrueMaster,moveVObjectRefcardMaster,moveHObjectRefcardMaster,moveVAbsolutetrue Master,moveVtrueMaster,movevDistance-28Master,scalebottomDistanceMaster,expectedRect110,453,222,478Master,moveHObjectSiderightMaster,scalerightDistanceMaster,cardRanking1Master,scaletopDistanceMaster,moveHAbsolutefalseMaster,scaleleftDistance Master,moveHfalse cGlx2GeneralcScriptChecksumcExplicitVariablescHscrollScript0cLocalscHscrollHandlers0 cHtmlScriptg5= 0 =FzWz`#cS#x{'JDp[3E|QAv 2(+o @gEm_#I `P&[cSelectedChunk char 55 to 64 cConstantscHandlersListWidth125 cDirtyFlagtruecHtmlHandlersb)I). EɶJƆƖJv6 qĜļԢb}B;.;5eKk4f&pũ ɯs i cFolders all handlers cHandlersmouseUpcVscrollScript0cVscrollHandlers0 cHilitedLine cGlobalscGlx2TimeStamp 1213353886start 1213355679end checksum;ZU a0W 1213298238start cREVGeneral revUniqueID 1216676794510  F Donate+.png (|p PNG  IHDRp pHYs  gAMA|Q cHRMz%u0`:o_F IDATxb?( X@ 2|y4D97ÃǯiR?@FCgV% @,0QPBO  ʒ _U= 3?"`?,"^z $:8t6CH4r1H3Dz[2$[So?2843@D u~vf͹(/|!en*hϿ kE>g8s>u^%\\ =8"f0pp,]d x-k}ok 9Pγ1`Hy'DNd2Rc8v>%9qw ?~=y )rs)Cz]B;Cz%$B<| bp2bH et!"8~6@& :/T>@́❧ Ab.r6';Cgq8/} +pqn5Y#0Oo0D`v!*\ofbp(']J ;]F C9\-oa `p?FޕOtdqHow2:90vVq\l0@›Oyuܞ=gl`d@E_101,\qX=(wxac 3mcX2xǰtq;CUxBïtPr?(!LŰѐ!`2ḿ pmp]mg3@X{ ){/WWpn߽ŅP]Qp=eVQoSUV{*"5 ,v !(d8w6?H=-Uc5 \l, l|E/ex$n=|dhHp=G/i G,8@@OULfPW| Mm:}&##ɩs @́W& (Pn&(F6Xff' .rk3;Ns$(a @ZsvEJ˫j:p$?&( C5 5 `{%!<|@9^& Lݿ,ʕ5\ˡF %.##}Y@V(8(Ԁī\9aBC5C+P=L Ԃ@bf4/A*;}xS zVu,ϠW'.e8?lXQx# o>MB1d05 @A`s}p- y@f ;;9gc`S(*gOW5&F(v {Al9 >H=솖6[0a` 9T/d".~ރ]= yxn) de j܀فʵ1Y}  ^Z%Ϩ] R+KA֭a0:[TR޾tGEYAEBL۳. ;@ s@`u} ՕD@Yp*RT-f6хńv8l,[]E)a@Gx+ԑΎtf8q E lPi b]\R~ ur-ZA[7[l 2:;:#S:T/[ i&A RFLN·! ˷dQPG&~9 _Br3z@L9AgP.UxآՇ R"#nxs@m`5l@z^{n@ӝ'o ®(Āwσ NDԿtQA^prHI`E:(`XPTO0r/2syY`P\b )Mf9^ہd,؃\E3^iep$o5J*r Yј!E/PٷxU͙msҸ kz@r_0u7@ې(1!%҃gHkbUK`i4LvK΁@S|9?a N gϜe{4XԞny&r*052f..e!2#lG[]vTŠm,m cu?[_f蚷prEV_q8x|4 bXNBZP@mV(\T[^*?y\<Ύ^k™%$?8fZ_%% ނ0AEx\g 6 T0:fH0 eʁDp,x8ظ8p6 (  y,g T 04K`p>@r@ _11J3 +g?0l@, 0B#DcbD9GCeO?(P|@,, ŪXX(j2c(b< a"@իW(bĂ,R2o(\ * ޖ I;ۏ 1 `: ^ E |x9tCݔu`= {Y1Aa?}ex#@#[}:?;3\@CN_ǐٲL7DWDx_5q "p3za ^`:l..{@EޞY l e388p.C ` 9[ . :rgcT;̿%ûO*#.`ep-}Jr ]+~{ShSPvJHy./dĐhpC3EpNlM 6u_b3꓋w2$Ë \ rb ^VZ r" kc\kd{Hb/Ï? ,Aڭ Fzp- x@vY*18v6 ap:qf @7eUř#` YepgVM -|]\_1HËFzP }zS:l7PԸ kcD$6KpQ|V"9r(*)ŷ[`u &>}<\޷g\(-\8vAM-+΁<|.8uUE![ҝl 3:p҃Y> R V #pqp1@Ҕлp&Y&2([" n<0A'(3LiKeu0wAu"(BAu!8.G>?iu X_BMJ"YC6k 03#o Ld0= s@ >flu @1!@uA?V!`T[x'H>oQp5)԰9{!Ow7H \ vAz6?N(+8S=`{Dye =' bAW;S ?a9<{0\eełCCs}h3$ؚs,7!u>x}n9 pbp 9GH(%yQRcȊpƴX)zц@;Ż hl3e0\},\ ꔣ@6(J؆@ ٽ+,׸8CZZ[ M1gg243\:w,jˁ Wfeppb8{, t7A+W1Cvq) 9 Aեk>@U "Aj܆ =v`Q0ey[N/,w+@-WPd'AWhc{ bXNBZP@mV(\T[^*?y\<Ύ^P&@á \Me3HWoc"q{`jIp KA`]O`2L@@;J Xu ^ElrrMn  y,g d  0? / h@47L !7 Ep @^&dhp )= PPz Z ߃qRMIENDB` cREVGeneral revUniqueID 1216677024010ZResetEp,on mouseUp local tList ----- repeat with i = 1 to 60 put "Line" && i & cr after tList end repeat delete last char of tList lock screen put tList into fld "ListField" set the hilitedLine of fld "ListField" to 1 set the scroll of fld "ListField" to 0 unlock screen end mouseUp 1Z cREVGeometryMaster,moveVObjectSidebottomMaster,movehDistance -0.751429MastertrueMaster,moveVObjectRefcardMaster,moveHObjectRefcardMaster,moveVAbsolutetrue Master,moveVtrueMaster,expectedRect129,305,219,328Master,scalebottomDistanceMaster,movevDistance-98Master,moveHObjectSiderightMaster,scalerightDistanceMaster,cardRanking1Master,scaleleftDistanceMaster,moveHAbsolutefalseMaster,scaletopDistance Master,moveHfalse cREVGeneral revUniqueID 1216821066663 [ ListField)xlocal lCurSelection,lCurHilitedLine,lCurContents,lLineNo -- script local variables ################################# -- mouse handlers ################################# on mouseEnter set the dragDelta to 10 end mouseEnter ---------------------------------- on mouseDown -- initialization put the selectedText of me into lCurSelection -- for later use in other handlers put the hilitedLine of me into lCurHilitedLine -- for later use in other handlers put me into lCurContents -- for later use in other handlers end mouseDown ################################# -- Drag and drop handlers ################################# on dragMove -- sent repeatedly when the dragdata is within the field local tTextHeight,tContents,tHilitedText,tScroll ----- put the effective textheight of me into tTextHeight put (the mouseV - the top of the target) div tTextHeight + the scroll of fld "ListField" div tTextHeight into lLineNo -- line number if lLineNo > the number of lines of the target then put the number of lines of the target + the scroll of fld "ListField" div tTextHeight into lLineNo ----- lock screen put the scroll of fld "ListField" into tScroll put lCurContents into tContents put cr after line lLineNo of tContents -- creates a blank line set the text of the target to tContents set the hilitedLine of the target to RightLineOffset(lCurSelection,tContents) -- set the scroll of fld "ListField" to tScroll unlock screen AutoScroll -- -- the problem with AutoScroll is that if the mouse is not moved, dragMove is not sent by the engine -- in addition, any pending message is suspended during a drag and drop :-( -- filled in QA center as bug #6822 end dragMove ---------------------------------- on DragLeave -- restores current contents local tContents,tScroll ----- lock screen put the scroll of fld "ListField" into tScroll put lCurContents into the target -- set the hilitedLine of the target to RightLineOffset(lCurSelection,lCurContents) -- set the scroll of fld "ListField" to tScroll unlock screen end DragLeave ---------------------------------- on dragEnter set the dragAction to "Move" end dragEnter ---------------------------------- on dragDrop local tScroll,tContents ----- put the scroll of fld "ListField" into tScroll put lCurContents into tContents delete line RightLineOffset(lCurSelection,tContents) of tContents -- ----- if lLineNo = 0 then put lCurSelection & cr before tContents else if lCurHilitedLine < lLineNo then put cr & lCurSelection after line lLineNo - 1 of tContents else put cr & lCurSelection after line lLineNo of tContents end if end if ----- lock screen set the text of the target to tContents set the hilitedLine of the target to RightLineOffset(lCurSelection,tContents) -- -- sets highlighted line to dropped line set the scroll of fld "ListField" to tScroll unlock screen end dragDrop --------------------------------- on dragStart set the dragdata to "my Drag" -- if the dragdata stay empty no drag and drop may happen set the dragImage to CreateDragImage() -- see below set the dragImageOffset to the width of last image div 2 - 40,the height of last image div 2 -- centered end dragStart --------------------------------- on dragEnd send "DeleteLastImage" to me in 200 milliseconds -- this message has been delayed because it made Rev crashing on very fast machines delete last fld -- we no longer need the template field end dragEnd ################################# -- complements ################################# function CreateDragImage -- creates a field and a drag image on-the-fly local tRect,tempImage ----- if there is a fld "ImageTemplate" then delete fld "ImageTemplate" -- just in case set the visible of the templateField to false set the height of the templateField to the effective textHeight of me + 6 set the width of the templateField to (the width of me - the scrollbarWidth of me) set the threeD of the templateField to false set the borderWidth of the templateField to 1 set the fixedLineHeight of the templateField to false set the dontWrap of the templateField to true set showFocusBorder of the templateField to false set backColor of the templateField to "212,225,252" set borderColor of the templateField to "red" set name of the templateField to "ImageTemplate" create field reset the templateField ----- put lCurSelection into fld "ImageTemplate" put the rect of fld "ImageTemplate" into tRect ----- lock screen show fld "ImageTemplate" -- combination of visble property and screen lock make that nothing appear but the snapshot is OK :-) export snapshot from rect tRect of this cd to tempImage as jpeg -- export image to a variable hide fld "ImageTemplate" unlock screen lock messages -- important to speed up the process create invisible image -- we don't want to see it set the text of last image to tempImage if there is an image ID 6001 then delete image ID 6001 set the ID of last image to 6001 unlock messages return the ID of last image -- we need it to set the dragImage property end CreateDragImage --------------------------------- on AutoScroll local tTextHeight ----- put the effective textheight of me into tTextHeight if the mouseV < the top of me + tTextHeight then set the scroll of me to the scroll of me - tTextHeight else if the mouseV > the bottom of me - tTextHeight then if the scroll of me < the number of lines of lCurContents * tTextHeight - the height of me then set the scroll of me to the scroll of me + tTextHeight end if end if end AutoScroll --------------------------------- on DeleteLastImage delete last image -- we no longer need the drag image end DeleteLastImage --------------------------------- function RightLineOffset pLine,pText -- lineOffset built-in functionn would confuse 'line 1' and 'line 11' in some cases local tLineNo ----- put 1 into tLineNo repeat for each line tLine in pText if tLine = pLine then return tLineNo add 1 to tLineNo end repeat end RightLineOffset 45 cREVGeometryMaster,scaleBottomObjectSideBottomMaster,movehDistance -0.751429MastertrueMaster,scaleBottomObjectRefcardMaster,moveHObjectRefcardMaster,scaleBottomAbsolutetrueMaster,scaleBottomtrueMaster,expectedRect 62,67,286,286Master,scalebottomDistance-130Master,movevDistancefalseMaster,moveHObjectSiderightMaster,scalerightDistanceMaster,cardRanking1Master,scaleleftDistanceMaster,moveHAbsolutefalseMaster,scaletopDistance Master,moveHfalse cREVGeneral revUniqueID 1216821066664 breakPoints Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 Line 11 Line 12 Line 13 Line 14 Line 15 Line 16 Line 17 Line 18 Line 19 Line 20 Line 21 Line 22 Line 23 Line 24 Line 25 Line 26 Line 27 Line 28 Line 29 Line 30 Line 31 Line 32 Line 33 Line 34 Line 35 Line 36 Line 37 Line 38 Line 39 Line 40 Line 41 Line 42 Line 43 Line 44 Line 45 Line 46 Line 47 Line 48 Line 49 Line 50 Line 51 Line 52 Line 53 Line 54 Line 55 Line 56 Line 57 Line 58 Line 59 Line 60 `6 Intro jbuList3Begin to type a Christian name, a name or an email address: If existing entries are found in the list on the right they will appear in a drop box. If you create a new entry it will be added. In all cases, ranking will be fed and you'll see the drop list reordered if you call the same entry several times. 1 cREVGeneral revUniqueID 1216822389622 Important: @Black Bug #5836 (still there is 3.0 DP7) prevents the dragImage to show correctly on XP but it works as expected with Mac OSX and Vista. @Black =Just take a line and drag and drop it at the right place ;-)Scriptep9on mouseUp edit script of fld "ListField" end mouseUp 1Zs Show script cREVGeometry Master,movevDistance-98Master,scalebottomDistanceMaster,expectedRect433,305,523,328Master,moveVObjectSidebottomMaster,movehDistancefalseMastertrueMaster,moveVObjectRefcardMaster,scalerightDistanceMaster,cardRanking1Master,moveVAbsolutetrue Master,moveVtrueMaster,scaletopDistanceMaster,scaleleftDistance cREVGeneral revUniqueID 1216823980985