I am looking at purchasing Dolphin Pro...but I would like to see an
brief example application. I would like the example to have two rectangles connected by a line. One button (called "start") that when presssed will show a small circle travel along the line from one rectangle to the other. Upon reaching the second rectangle the circle disappears and a dialog box appears stating the "The package has arrived"...this would then display for 5 seconds and then disappear. At any time after the "start" button has been pressed the user can pause the circle's movement by clicking anywhere in the workspace and start it again from where it was stopped by also clicking anywhere in the work space (I would consider another button that would be where the user is required to pause and restart the movement) What I am looking for is how easy it would be to: - change the speed of the circle - see if objects work on layers (the circle travels on top of the line between the rectangles) If anyone could "whip" this up and create an exe and send it with some idea of the number of lines of code it took I would appreciate it. This would give me a quick idea of if Dolphin will do what I need for the short term...this would also mean that I would purchase Dolphin Pro and become another developer ;-) If this is too hard or can't be done I would appreciate some feedback as to why. thanks, Glen - |
Glen,
This is quite doable -- I'm not going to write the app, but here's the approach I'd take: 1) Draw the rectangles and circles on a custom view, or directly in the app's main window, overriding #onPaintRequired:. 2) When the start button is clicked, start a process, with userInterruptPriority, that begins the circle moving. Use the usual ROP (or whatever it's called) technique to erase the old circle and draw the new one to avoid flicker, or if that's not an issue, just redraw the whole thing each time. 3) Trap the onClick event to pause or resume the process. Since the process is at priority userInterrupt, it's easy to do this. 4) Since there's no real model here, it can all go in a single class, a subclass of Shell. 5) To change the speed, add a menu or context menu item that when chosen, terminates the old process and starts the new one with a different Delay forMilliseconds (or forSeconds) in it. 6) Draw the lines before the circle so the circle is on top. If the rectangles, lines and circle are all full-fledged objects, this is doable too, but you might have to make some of them transparent. 7) When the circle reaches the other rectangle, the process is terminated and a splash type dialog is displayed, again using Process, with a 5 second Delay. Hope this helps. -- Louis "Glen Bojsza" <[hidden email]> wrote in message news:[hidden email]... > I am looking at purchasing Dolphin Pro...but I would like to see an > brief example application. > > I would like the example to have two rectangles connected by a line. > One button (called "start") that when presssed will show a small > circle travel along the line from one rectangle to the other. Upon > reaching the second rectangle the circle disappears and a dialog box > appears stating the "The package has arrived"...this would then > display for 5 seconds and then disappear. > At any time after the "start" button has been pressed the user can > pause the circle's movement by clicking anywhere in the workspace and > start it again from where it was stopped by also clicking anywhere in > the work space (I would consider another button that would be where > the user is required to pause and restart the movement) > > > What I am looking for is how easy it would be to: > > - change the speed of the circle > - see if objects work on layers (the circle travels on top of the line > between the rectangles) > > If anyone could "whip" this up and create an exe and send it with some > idea of the number of lines of code it took I would appreciate it. > This would give me a quick idea of if Dolphin will do what I need for > the short term...this would also mean that I would purchase Dolphin > Pro and become another developer ;-) > > If this is too hard or can't be done I would appreciate some feedback > as to why. > > thanks, > > Glen > - |
In reply to this post by Glen Bojsza
Glen,
> If anyone could "whip" this up and create an exe and send it with some > idea of the number of lines of code it took I would appreciate it. > This would give me a quick idea of if Dolphin will do what I need for > the short term...this would also mean that I would purchase Dolphin > Pro and become another developer ;-) Attached is a "whipped up" Dolphin 4 package that, I think, matches your requirement. If I was going to do it again I would probably buffer the redrawing of the package icon, it's a little flashy at the moment, and there are some issues with resizing the frame. This example seems to work although it would probably be implemented differently in a "real" application. Changing the rate that the icon moves is done using the "Rate" button. This controls the interval between updates, left clicking the box doubles the interval and right clicking halves it. Left clicking anywhere outside the two control boxes toggles the pause. I've attached it as a Dolphin 4 package. If you have the time limited demo you can just file it in and try it out (I think it creates executables as well). After filing it in just evaluate "Example show" and it should start. If you really want an executable then mail me (the return address to this message is valid) and I'll send it direct. It's 550K Regards Ian begin 666 Example.pac M?"!P86-K86=E('P-"G!A8VMA9V4@.CT@4&%C:V%G92!N86UE.B G17AA;7!L M92<N#0IP86-K86=E('!A>%9E<G-I;VXZ(# [#0H)8F%S:6-#;VUM96YT.B G M5')A;G-I=%!R97-E;G1E<B!A9&16:65W.B!4<F%N<VET5FEE=R!A<U)E<V]U M<F-E.B G)T1E9F%U;'0@=FEE=R<G#0H-"D5X86UP;&4@<VAO=PT*)RX-"@T* M<&%C:V%G92!B87-I8U!A8VMA9V5697)S:6]N.B G)RX-"@T*(DEM86=E('-T M<FEP<&5R(&)Y=&5S(@T*<&%C:V%G92!I;6%G95-T<FEP<&5R0GET97,Z("A" M>71E07)R87D@9G)O;4AE>%-T<FEN9SH@)S(Q-3,U-#0R,C S,#(P-#8P1C!$ M,# P,S P,# P,#0Y-D0V,38W-C4U,S<T-S(V.3<P-S V-3<R,# P,# P,# P M,# P,# P,#,V,# P-C P-3,W-#<R-CDV138W,#<P,# P,# T-3<X-C$V1#<P M-D,V-3<R,# P,# P,$(P,# P,# V-3<X-C$V1#<P-D,V-3)%-C4W.#8U-$4P M,C!$,# P,3 P,# P,#4S-30T,C0S-D,V,3<S-S,U,#<R-D8W.#<Y,# P,# P M,# W,C P,# P,# W,# P,# P-#4W.#8Q-D0W,#9#-C4W,C P,# P,# Y,# P M,# P-#4W.#8Q-D0W,#9#-C4U,S1$149"-S U,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# P,# P,"<I+@T*(D%D9"!T:&4@<&%C:V%G92!S8W)I M<'1S(@T*#0HB061D('1H92!C;&%S<R!N86UE<RP@;&]O<V4@;65T:&]D(&YA M;65S+"!G;&]B86P@;F%M97,L(')E<V]U<F-E(&YA;65S(@T*<&%C:V%G92!C M;&%S<TYA;65S#0H)861D.B C17AA;7!L93L-"@EA9&0Z("-%>&%M<&QE4TT[ M#0H)861D.B C5')A;G-I=%!R97-E;G1E<CL-"@EA9&0Z("-4<F%N<VET5FEE M=SL-"@EY;W5R<V5L9BX-"@T*<&%C:V%G92!M971H;V1.86UE<PT*"7EO=7)S M96QF+@T*#0IP86-K86=E(&=L;V)A;$YA;65S#0H)>6]U<G-E;&8N#0H-"G!A M8VMA9V4@<F5S;W5R8V5.86UE<PT*"7EO=7)S96QF+@T*#0HB0FEN87)Y($=L M;V)A;"!.86UE<R(-"G!A8VMA9V4@8FEN87)Y1VQO8F%L3F%M97,Z("A3970@ M;F5W#0H)>6]U<G-E;&8I+@T*(E)E<V]U<F-E($YA;65S(@T*<&%C:V%G92!A M;&Q297-O=7)C94YA;65S.B H4V5T(&YE=PT*"6%D9#H@(T5X86UP;&4@+3X@ M)T1E9F%U;'0@=FEE=R<[#0H)861D.B C5')A;G-I=%!R97-E;G1E<B M/B G M1&5F875L="!V:65W)SL-"@EY;W5R<V5L9BDN#0H-"B)!9&0@=&AE('!R97)E M<75I<VET92!N86UE<R(-"G!A8VMA9V4@<V5T4')E<F5Q=6ES:71E<SH@*$ED M96YT:71Y4V5T(&YE=PT*"6%D9#H@)T1O;'!H:6XG.PT*"7EO=7)S96QF*2X- M"@T*<&%C:V%G92$-"@T*(D-L87-S($1E9FEN:71I;VYS(B$-"@T*4')E<V5N M=&5R('-U8F-L87-S.B C5')A;G-I=%!R97-E;G1E<@T*"6EN<W1A;F-E5F%R M:6%B;&5.86UE<SH@)W!R;V-E<W,@<&%U<V5D(')A=&4@<&5R8V5N=&%G92<- M"@EC;&%S<U9A<FEA8FQE3F%M97,Z("<G#0H)<&]O;$1I8W1I;VYA<FEE<SH@ M)R<-"@EC;&%S<TEN<W1A;F-E5F%R:6%B;&5.86UE<SH@)R<A#0I3:&5L;"!S M=6)C;&%S<SH@(T5X86UP;&4-"@EI;G-T86YC959A<FEA8FQE3F%M97,Z("=T M<F%N<VET)PT*"6-L87-S5F%R:6%B;&5.86UE<SH@)R<-"@EP;V]L1&EC=&EO M;F%R:65S.B G)PT*"6-L87-S26YS=&%N8V5687)I86)L94YA;65S.B G)R$- M"E)U;G1I;65397-S:6]N36%N86=E<B!S=6)C;&%S<SH@(T5X86UP;&5330T* M"6EN<W1A;F-E5F%R:6%B;&5.86UE<SH@)R<-"@EC;&%S<U9A<FEA8FQE3F%M M97,Z("<G#0H)<&]O;$1I8W1I;VYA<FEE<SH@)R<-"@EC;&%S<TEN<W1A;F-E M5F%R:6%B;&5.86UE<SH@)R<A#0I6:65W('-U8F-L87-S.B C5')A;G-I=%9I M97<-"@EI;G-T86YC959A<FEA8FQE3F%M97,Z("=P86-K86=E4&5R8V5N=&%G M92<-"@EC;&%S<U9A<FEA8FQE3F%M97,Z("<G#0H)<&]O;$1I8W1I;VYA<FEE M<SH@)R<-"@EC;&%S<TEN<W1A;F-E5F%R:6%B;&5.86UE<SH@)R<A#0HB3&]O M<V4@365T:&]D<R(A#0H-"B)%;F0@;V8@<&%C:V%G92!D969I;FET:6]N(B$- M"@T*#0H-"E1R86YS:710<F5S96YT97(@8V]M;65N=#H@)R<A#0H-"E1R86YS M:710<F5S96YT97(@9W5I9#H@*$=5240@9G)O;5-T<FEN9SH@)WLW1D(Q,S1" M."TQ0S4S+31%03 M.3DR02U$1# W04)%-C<U,C%])RDA#0H-"B%4<F%N<VET M4')E<V5N=&5R(&-A=&5G;W)I97-&;W)#;&%S<R%5;F-L87-S:69I960A("$- M"B%4<F%N<VET4')E<V5N=&5R(&UE=&AO9'-&;W(A#0H-"F9I;F%L:7IE#0H) M<')O8V5S<R!I<TYI;" -"@D):69&86QS93H@6PT*"0D)<')O8V5S<R!T97)M M:6YA=&4N( T*"0D)<')O8V5S<R Z/2!N:6Q=(0T*#0IG;PT*"7-E;&8@<&5R M8V5N=&%G92 ](# @:69&86QS93H@6UYS96QF72X-"@ES96QF(&)E1FEN86QI M>F%B;&4N#0H)<&%U<V5D(#H](&9A;'-E+@T*"7!R;V-E<W,@.CT@6PT*"0E; M<V5L9B!P97)C96YT86=E(#P@,3 P72 -"@D)"7=H:6QE5')U93H@6PT*"0D) M"5!R;V-E<W-O<B!S;&5E<#H@<V5L9B!R871E+@T*"0D)"7-E;&8@<W1E<%TN M#0H)"7-E;&8@=FEE=R!A<G)I=F5D+@T*"0E0<F]C97-S;W(@<VQE97 Z(#4P M,# N#0H)"7-E;&8@=FEE=R!I;G9A;&ED871E72!F;W)K(0T*#0IP875S960- M"@EP875S960@:7-.:6P@:694<G5E.B!;<&%U<V5D(#H](&9A;'-E72X-"@E> M<&%U<V5D(0T*#0IP875S960Z(&%";V]L96%N#0H)<&%U<V5D(#H](&%";V]L M96%N(0T*#0IP97)C96YT86=E#0H)<&5R8V5N=&%G92!I<TYI;"!I9E1R=64Z M(%MP97)C96YT86=E(#H](#!=+@T*"5YP97)C96YT86=E(0T*#0IP97)C96YT M86=E.B!A;DEN=&5G97(-"@EP97)C96YT86=E(#H](&%N26YT96=E<@T*(0T* M#0IR871E#0H)<F%T92!I<TYI;"!I9E1R=64Z(%MR871E(#H](#(U72X-"@E> M<F%T92$-"@T*<F%T93H@86Y);G1E9V5R#0H)<F%T92 Z/2!A;DEN=&5G97(A M#0H-"G)A=&5$;W=N#0H)<V5L9B!R871E.B!S96QF(')A=&4@*B R+@T*"7-E M;&8@=')I9V=E<CH@(W)A=&5#:&%N9V5D(0T*#0IR871E57 -"@ES96QF(')A M=&4Z('-E;&8@<F%T92 O+R R+@T*"7-E;&8@=')I9V=E<CH@(W)A=&5#:&%N M9V5D(0T*#0IS=&5P#0H)<&%U<V5D(&EF5')U93H@6UYS96QF72X-"@ES96QF M('9I97<@:&ED95!A8VMA9V4N#0H)<V5L9B!P97)C96YT86=E.B!S96QF('!E M<F-E;G1A9V4@*R P+C4N#0H)<V5L9B!V:65W(&1R87=086-K86=E070Z('-E M;&8@<&5R8V5N=&%G92$@(0T*(51R86YS:710<F5S96YT97(@8V%T96=O<FEE M<T9O<CH@(V9I;F%L:7IE(2HM=6YC;&%S<VEF:65D(7!U8FQI8R$@(0T*(51R M86YS:710<F5S96YT97(@8V%T96=O<FEE<T9O<CH@(V=O(2HM=6YC;&%S<VEF M:65D(7!U8FQI8R$@(0T*(51R86YS:710<F5S96YT97(@8V%T96=O<FEE<T9O M<CH@(W!A=7-E9"$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%4<F%N<VET M4')E<V5N=&5R(&-A=&5G;W)I97-&;W(Z("-P875S960Z(2HM=6YC;&%S<VEF M:65D(7!U8FQI8R$@(0T*(51R86YS:710<F5S96YT97(@8V%T96=O<FEE<T9O M<CH@(W!E<F-E;G1A9V4A*BUU;F-L87-S:69I960A<'5B;&EC(2 A#0HA5')A M;G-I=%!R97-E;G1E<B!C871E9V]R:65S1F]R.B C<&5R8V5N=&%G93HA*BUU M;F-L87-S:69I960A<'5B;&EC(2 A#0HA5')A;G-I=%!R97-E;G1E<B!C871E M9V]R:65S1F]R.B C<F%T92$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%4 M<F%N<VET4')E<V5N=&5R(&-A=&5G;W)I97-&;W(Z("-R871E.B$J+75N8VQA M<W-I9FEE9"%P=6)L:6,A("$-"B%4<F%N<VET4')E<V5N=&5R(&-A=&5G;W)I M97-&;W(Z("-R871E1&]W;B$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%4 M<F%N<VET4')E<V5N=&5R(&-A=&5G;W)I97-&;W(Z("-R871E57 A*BUU;F-L M87-S:69I960A<'5B;&EC(2 A#0HA5')A;G-I=%!R97-E;G1E<B!C871E9V]R M:65S1F]R.B C<W1E<"$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"@T*(51R M86YS:710<F5S96YT97(@8VQA<W,@;65T:&]D<T9O<B$-"@T*9&5F875L=$UO M9&5L#0H)7C A("$-"B%4<F%N<VET4')E<V5N=&5R(&-L87-S(&-A=&5G;W)I M97-&;W(Z("-D969A=6QT36]D96PA*BUU;F-L87-S:69I960A<'5B;&EC(2 A M#0H-"@T*#0I%>&%M<&QE(&-O;6UE;G0Z("<G(0T*#0I%>&%M<&QE(&=U:60Z M("A'54E$(&9R;VU3=')I;F<Z("=[1D,U.44Y,C0M,44Y,"TT1#0U+4(Y.34M M,S,X0S,P-3=&1# W?2<I(0T*#0HA17AA;7!L92!C871E9V]R:65S1F]R0VQA M<W,A56YC;&%S<VEF:65D(2 A#0HA17AA;7!L92!M971H;V1S1F]R(0T*#0IC M<F5A=&5#;VUP;VYE;G1S#0H)<W5P97(@8W)E871E0V]M<&]N96YT<RX-"@ET M<F%N<VET(#H]('-E;&[hidden email]!4<F%N<VET4')E<V5N=&5R(&YE=R!N86UE M.B G=')A;G-I="<A#0H-"F-R96%T95-C:&5M871I8U=I<FEN9PT*"7-U<&5R M(&-R96%T95-C:&5M871I8U=I<FEN9RX-"@T*"71R86YS:70@=VAE;CH@(W)A M=&5#:&%N9V5D('-E;F0Z("-O;E)A=&5#:&%N9V5D('1O.B!S96QF#0H)(0T* M#0IO;E)A=&5#:&%N9V5D#0H)<V5L9B!C87!T:6]N.B G4F%T93H@)R L('1R M86YS:70@<F%T92!P<FEN=%-T<FEN9R L("<@;5,G(0T*#0IO;E9I97=/<&5N M960-"@ES=7!E<B!O;E9I97=/<&5N960N#0H)<V5L9B!O;E)A=&5#:&%N9V5D M#0H)(2 A#0HA17AA;7!L92!C871E9V]R:65S1F]R.B C8W)E871E0V]M<&]N M96YT<R$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%%>&%M<&QE(&-A=&5G M;W)I97-&;W(Z("-C<F5A=&538VAE;6%T:6-7:7)I;F<A*BUU;F-L87-S:69I M960A<'5B;&EC(2 A#0HA17AA;7!L92!C871E9V]R:65S1F]R.B C;VY2871E M0VAA;F=E9"$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%%>&%M<&QE(&-A M=&5G;W)I97-&;W(Z("-O;E9I97=/<&5N960A*BUU;F-L87-S:69I960A<'5B M;&EC(2 A#0H-"@T*#0I%>&%M<&QE4TT@8V]M;65N=#H@)R<A#0H-"D5X86UP M;&5332!G=6ED.B H1U5)1"!F<F]M4W1R:6YG.B G>T(U-S,U,39!+3 X-44M M-$4P0BU!-SDP+4%"1$$W.4)#-S<S-'TG*2$-"@T*(45X86UP;&5332!C871E M9V]R:65S1F]R0VQA<W,A56YC;&%S<VEF:65D(2 A#0HA17AA;7!L95--(&UE M=&AO9'-&;W(A#0H-"FUA:6X-"@E%>&%M<&QE('-H;W<A("$-"B%%>&%M<&QE M4TT@8V%T96=O<FEE<T9O<CH@(VUA:6XA;W!E<F%T:6]N<R%P=6)L:6,A("$- M"@T*#0H-"E1R86YS:716:65W(&-O;6UE;G0Z("<G(0T*#0I4<F%N<VET5FEE M=R!G=6ED.B H1U5)1"!F<F]M4W1R:6YG.B G>S5%-C8Q-T0R+4%!-D4M-$1! M-RTY.48P+31#-D0P.31&044W07TG*2$-"@T*(51R86YS:716:65W(&-A=&5G M;W)I97-&;W)#;&%S<R%5;F-L87-S:69I960A("$-"B%4<F%N<VET5FEE=R!M M971H;V1S1F]R(0T*#0IA<G)I=F5D#0H-"@ES96QF(&-A;G9A<PT*"0ES9714 M97AT06QI9VXZ(%1!7U))1TA4.PT*"0ET97AT.B G5&AE('!A8VMA9V4@:&%S M(&%R<FEV960G(&%T.B!S96QF('!A8VMA9V5296-T(&]R:6=I;B K("@M,3 @ M0" M,C I+@T*"7-E;&8@:&ED95!A8VMA9V4N#0H)<&%C:V%G95!E<F-E;G1A M9V4@.CT@;FEL+@DA#0H-"F1R87="86-K9W)O=6YD3VXZ(&%#86YV87,-"@E\ M('1E<FUI;F%L17AT96YT(&QE9G1497)M:6YA;$]R:6=I;B!R:6=H=%1E<FUI M;F%L3W)I9VEN('P-"@T*"71E<FUI;F%L17AT96YT(#H]("AS96QF(&5X=&5N M=" J("@P+C$@0" P+C8I*2!T<G5N8V%T960N#0H);&5F=%1E<FUI;F%L3W)I M9VEN(#H](%!O:6YT('IE<F\@*R H<V5L9B!E>'1E;G0@*B H,"XQ($ @,"XR M*2D@=')U;F-A=&5D+@T*"7)I9VAT5&5R;6EN86Q/<FEG:6X@.CT@4&]I;G0@ M>F5R;R K("AS96QF(&5X=&5N=" J("@P+C@@0" P+C(I*2!T<G5N8V%T960N M#0H-"@EA0V%N=F%S#0H)"7!E;CH@4&5N(&)L=64[#0H)"6)R=7-H.B H0G)U M<V@@8V]L;W(Z($-O;&]R(&)L=64I.PT*"0ER96-T86YG;&4Z("AL969T5&5R M;6EN86Q/<FEG:[hidden email]!T97)M:6YA;$5X=&5N="D[#0H)"7)E8W1A M;F=L93H@*')I9VAT5&5R;6EN86Q/<FEG:[hidden email]!T97)M:6YA;$5X M=&5N="D-"@T*#0H)#0HA#0H-"F1R87=';T)U='1O;D]N.B!A0V%N=F%S#0H) M84-A;G9A<PT*"0EP96XZ(%!E;B!B;&%C:SL-"@D)8G)U<V@Z($)R=7-H('=H M:71E.PT*"0ER96-T86YG;&4Z('-E;&8@9V]296-T86YG;&4[#0H)"71E>'0Z M("=';R<@870Z("AS96QF(&=O4F5C=&%N9VQE(&]R:6=I;B K(#4@87-0;VEN M="DA#0H-"F1R87=,:6YE3VXZ(&%#86YV87,-"@E\(&QI;F5%;F1S('P-"@EL M:6YE16YD<R Z/2!S96QF(&QI;F5%;F1S+@T*"6%#86YV87,-"@D)<&5N.B ) M*%!E;B!W:71H4W1Y;&4Z(%!37U-/3$E$( EW:61T:#H@,R!C;VQO<CH@0V]L M;W(@8FQA8VLI.PT*"0EM;W9E5&\Z(&QI;F5%;F1S(&ME>3L-"@D);&EN951O M.B!L:6YE16YD<R!V86QU90T*"0T*(0T*#0ID<F%W4&%C:V%G94%T.B!A3G5M M8F5R3W).:6P-"@EP86-K86=E4&5R8V5N=&%G92 Z/2!A3G5M8F5R3W).:6PN M#0H)<V5L9B!D<F%W4&%C:V%G94]N.B!S96QF(&-A;G9A<PT*"0T*"0T*"2$- M"@T*9')A=U!A8VMA9V5/;CH@84-A;G9A<PT*"7!A8VMA9V5097)C96YT86=E M(&ES3FEL(&EF5')U93H@6UYS96QF72X-"@EA0V%N=F%S#0H)"7!E;CH@4&5N M(')E9#L-"@D)8G)U<V@Z("A"<G5S:"!C;VQO<CH@0V]L;W(@<F5D*3L-"@D) M96QL:7!S93H@<V5L9B!P86-K86=E4F5C= T*"0T*"0T*"2$-"@T*9')A=U)A M=&5"=71T;VY/;CH@84-A;G9A<PT*"6%#86YV87,-"@D)<&5N.B!096X@8FQA M8VL[#0H)"6)R=7-H.B!"<G5S:"!W:&ET93L-"@D)<F5C=&%N9VQE.B!S96QF M(')A=&5296-T86YG;&4[#0H)"71E>'0Z("=2871E)R!A=#H@*'-E;&8@<F%T M95)E8W1A;F=L92!O<FEG:6X@*R U(&%S4&]I;G0I(0T*#0IG;U)E8W1A;F=L M90T*"5XQ,$ R,"!E>'1E;G0Z(#0P0#0P(0T*#0IH:61E4&%C:V%G90T*"7!A M8VMA9V5097)C96YT86=E(&ES3FEL(&EF5')U93H@6UYS96QF72X-"@ES96QF M(&-A;G9A<R!F:6QL4F5C=&%N9VQE.B!S96QF('!A8VMA9V5296-T(&)R=7-H M.B!"<G5S:"!W:&ET92X-"@ES96QF(&1R87=,:6YE3VXZ('-E;&8@8V%N=F%S M#0H)"0T*(0T*#0IL:6YE16YD<PT*"5XH<V5L9B!E>'1E;G0@*B H,"XR($ @ M,"XU*2D@=')U;F-A=&5D("T^("AS96QF(&5X=&5N=" J("@P+CA ,"XU*2D@ M=')U;F-A=&5D#0H-"B$-"@T*;VY,969T0G5T=&]N4F5L96%S960Z(&%-;W5S M945V96YT#0H-"@DH<V5L9B!G;U)E8W1A;F=L92!C;VYT86EN<U!O:6YT.B!A M36]U<V5%=F5N="!P;W-I=&EO;BD-"@D):694<G5E.B!;7G-E;&8@<')E<V5N M=&5R(&=O72X-"@DH<V5L9B!R871E4F5C=&%N9VQE(&-O;G1A:6YS4&]I;G0Z M(&%-;W5S945V96YT('!O<VET:6]N*0T*"0EI9E1R=64Z(%M><V5L9B!P<F5S M96YT97(@<F%T941O=VY=+@D-"@ES96QF('!R97-E;G1E<B!P875S960Z('-E M;&8@<')E<V5N=&5R('!A=7-E9"!N;W0-"@T*"2$-"@T*;VY086EN=%)E<75I M<F5D.B!A4&%I;G1%=F5N= T*"7P@8V%N=F%S('P-"@EC86YV87,@.CT@85!A M:6YT179E;G0@8V%N=F%S+@T*"7-E;&8@9')A=T)A8VMG<F]U;F1/;CH@8V%N M=F%S+@T*"7-E;&8@9')A=TQI;F5/;CH@8V%N=F%S+@T*"7-E;&8@9')A=T=O M0G5T=&]N3VXZ(&-A;G9A<RX-"@ES96QF(&1R87=2871E0G5T=&]N3VXZ(&-A M;G9A<RX-"@ES96QF(&1R87=086-K86=E3VXZ(&-A;G9A<PT*(0T*#0IO;E)I M9VAT0G5T=&]N4F5L96%S960Z(&%-;W5S945V96YT#0H)*'-E;&8@<F%T95)E M8W1A;F=L92!C;VYT86EN<U!O:6YT.B!A36]U<V5%=F5N="!P;W-I=&EO;BD- M"@D):694<G5E.B!;7G-E;&8@<')E<V5N=&5R(')A=&55<%TN"0T*#0H-"@DA M#0H-"G!A8VMA9V5296-T#0H)?"!P86-K86=E4&]S:71I;VX@;&EN94QE;F=T M:"!\#0H);&EN94QE;F=T:" Z/2!S96QF(&QI;F5%;F1S('9A;'5E('@@+2!S M96QF(&QI;F5%;F1S(&ME>2!X("T@<V5L9B!P86-K86=E5VED=&@N#0H)<&%C M:V%G95!O<VET:6]N(#H]("@H<V5L9B!P86-K86=E5VED=&@@+R\@,BD@*R H M;&EN94QE;F=T:" J("AP86-K86=E4&5R8V5N=&%G92 O(#$P,"DI*2! (# N M#0H)<&%C:V%G95!O<VET:6]N(#H]("AS96QF(&QI;F5%;F1S(&ME>2 K('!A M8VMA9V50;W-I=&EO;BD@<F]U;F1E9"X-"@E>*'!A8VMA9V50;W-I=&EO;B M M("AS96QF('!A8VMA9V57:61T:" O+R R*[hidden email]!S96QF('!A8VMA M9V57:61T: T*"0T*"0T*"2$-"@T*<&%C:V%G95=I9'1H#0H)7C(U(0T*#0IR M871E4F5C=&%N9VQE#0H)7BAS96QF(&=O4F5C=&%N9VQE(&]R:6=I;B K("@X M,$ P*[hidden email]!S96QF(&=O4F5C=&%N9VQE(&5X=&5N="$@(0T*(51R M86YS:716:65W(&-A=&5G;W)I97-&;W(Z("-A<G)I=F5D(2HM=6YC;&%S<VEF M:65D(7!U8FQI8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I97-&;W(Z("-D M<F%W0F%C:V=R;W5N9$]N.B%E=F5N="!H86YD;&EN9R%P=6)L:6,A("$-"B%4 M<F%N<VET5FEE=R!C871E9V]R:65S1F]R.B C9')A=T=O0G5T=&]N3VXZ(2HM M=6YC;&%S<VEF:65D(7!U8FQI8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I M97-&;W(Z("-D<F%W3&EN94]N.B%E=F5N="!H86YD;&EN9R%P=6)L:6,A("$- M"B%4<F%N<VET5FEE=R!C871E9V]R:65S1F]R.B C9')A=U!A8VMA9V5!=#HA M*BUU;F-L87-S:69I960A<'5B;&EC(2 A#0HA5')A;G-I=%9I97<@8V%T96=O M<FEE<T9O<CH@(V1R87=086-K86=E3VXZ(2HM=6YC;&%S<VEF:65D(7!U8FQI M8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I97-&;W(Z("-D<F%W4F%T94)U M='1O;D]N.B$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%4<F%N<VET5FEE M=R!C871E9V]R:65S1F]R.B C9V]296-T86YG;&4A*BUU;F-L87-S:69I960A M<'5B;&EC(2 A#0HA5')A;G-I=%9I97<@8V%T96=O<FEE<T9O<CH@(VAI9&50 M86-K86=E(65V96YT(&AA;F1L:6YG(7!U8FQI8R$@(0T*(51R86YS:716:65W M(&-A=&5G;W)I97-&;W(Z("-L:6YE16YD<R%E=F5N="!H86YD;&EN9R%P=6)L M:6,A("$-"B%4<F%N<VET5FEE=R!C871E9V]R:65S1F]R.B C;VY,969T0G5T M=&]N4F5L96%S960Z(2HM=6YC;&%S<VEF:65D(7!U8FQI8R$@(0T*(51R86YS M:716:65W(&-A=&5G;W)I97-&;W(Z("-O;E!A:6YT4F5Q=6ER960Z(65V96YT M(&AA;F1L:6YG(7!U8FQI8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I97-& M;W(Z("-O;E)I9VAT0G5T=&]N4F5L96%S960Z(2HM=6YC;&%S<VEF:65D(7!U M8FQI8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I97-&;W(Z("-P86-K86=E M4F5C="$J+75N8VQA<W-I9FEE9"%P=6)L:6,A("$-"B%4<F%N<VET5FEE=R!C M871E9V]R:65S1F]R.B C<&%C:V%G95=I9'1H(2HM=6YC;&%S<VEF:65D(7!U M8FQI8R$@(0T*(51R86YS:716:65W(&-A=&5G;W)I97-&;W(Z("-R871E4F5C M=&%N9VQE(2HM=6YC;&%S<VEF:65D(7!U8FQI8R$@(0T*#0H@#0HB0FEN87)Y M($=L;V)A;',B(0T*#0HB4F5S;W5R8V5S(B$-"@T**%)E<V]U<F-E261E;G1I M9FEE<B!C;&%S<SH@17AA;7!L92!N86UE.B G1&5F875L="!V:65W)RD@87-S M:6=N.B H3V)J96-T(&9R;VU":6YA<GE3=&]R94)Y=&5S.@T**$)Y=&5!<G)A M>2!F<F]M2&5X4W1R:6YG.B G,C$U,S4T-#(R,#,P,C T-C R,$,P,# Q,# P M,# P-38V.38U-S<U,C8U-S,V1C<U-S(V,S8U,# P,# P,# P13 Q,C0P,#4S M-30T,C4R-C4W,S9&-S4W,C8S-C4U,S4T-#(T,C<Y-S0V-30Q-S(W,C8Q-SDT M,38S-C,V-3<S-S,V1C<R-3 W,C9&-S@W.3 P,# P,# P,S8P,# Y,# T,C<Y M-S0V-30Q-S(W,C8Q-SDR0S T,# P,#(Q-3,U-#0R,C S,#(P-$4P.#!#,# P M03 P,# P,#4S-30T,C4V-CDV-3<W-3 W,C9&-S@W.3 P,# P,# P-$4P,C!$ M,# P,3 P,# P,#4S-30T,C0S-D,V,3<S-S,U,#<R-D8W.#<Y,# P,# P,# S M-C P,#8P,#4S-S0W,C8Y-D4V-S W,# P,# P-#0V1C9#-S V.#8Y-D4Y,C P M,# P,# Y,# P,# P-3,V.#8U-D,V0S4V-CDV-3<W,C8P,# U,# T,3<R-S(V M,3<Y,4(P,# P,# P,# P,# P,# P,# P,# P0S(P,# P,# P,C P,# P,# Q M,# Y13 Q,#$P,# R,# V,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# W,#(P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P-C W M,$,P,#0R-D8W,C8T-C4W,C1#-C$W.39&-S4W-# P,# P,# P,#$P,# P,# P M,3 P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P-4$P,# P M,# P,# P,# P,#=!,# P,# P,# P,# P,# Y,C P,# P,# W,# P,# P-#4W M.#8Q-D0W,#9#-C4Y,C P,# P,#!",# P,# P-30W,C8Q-D4W,S8Y-S0U-C8Y M-C4W-T,R,# P,# P,$0P,# P,# P,# P,# P,#8P,# P,# P0S(P,# P,# P M,C P,# P,#,V,# P0S P-$,V,3<R-C<V-30Y-D4W-#8U-C<V-3<R,#0P,# P M,# P,# P,# T-# Q,# P,# P,3 P,3 P,# P,# P,# P,# P,# P,# P,# P M,# P,# P-S P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P-C Q,$8P,#1$-C4W,S<S-C$V-S8U-3,V-3<Q-S4V-39%-C,V M-3 P,# P,# P,$4P,C$R,# U,S4T-#(T,S9&-D,V0S8U-C,W-#8Y-D8V134P M-S(V1C<X-SDP,# P,# P,#=!,# P,# P,# P,# P,#!!,# P,# P,#DR,# P M,# P,3$P,# P,# T1C<R-C0V-3<R-C4V-#0S-D8V0S9#-C4V,S<T-CDV1C9% M0S(P,# P,# P,3 P,# P,# V,#,P0C P-$0V-3<S-S,V,38W-C4U,S8U-D4V M-# P,# P,# P,$4P,3!%,# U,S4T-#(U,S<Y-D0V,C9&-D,U,#<R-D8W.#<Y M,# P,# P,# Y,C P,# P,#$P,# P,# P-C,W,C8U-C$W-#8U-#$W-#-!-C4W M.#<T-C4V13<T,T%#,C P,# P,# R,# P,# P,#8P,C U,# U,#9&-CDV13<T M,# P,# P,# P,3 P,# P,# Q,# P,# P-C(P,C P,# P,# P,# P,#DS,#0P M,# P.#,P,3 P,# Q,# Q,# P,# V,#$P1C P-3<T.31%-#0T1C4W-3 T0S0Q M-#,T-31$-#4T134T,# P,# P,# S-C P,#DP,#0R-SDW-#8U-#$W,C<R-C$W M.3)#,# P,# P,D,P,# P,# P,# P,# P,# Q,# P,# P1D9&1D9&1D9&1D9& M1D9&1D9&1D9&1D9&1D9&1D9&1D8P,# P,# P,# P,# P,# P-#DP,C P,#!# M,3 P,# P,$)!,#$P,# P,# P,# P,#!$,# Q,# P,$,R,# P,# P,# P,# P M,# V,C R,# P,# P,# P,# P0S$P,# P,#!#,3 P,# P,# P,# P,# P,3,P M,# P,# P13 R,4$P,#4S-30T,C0Y-C0V-39%-S0V.3<T-SDT-#8Y-C,W-#8Y M-D8V138Q-S(W.34P-S(V1C<X-SDP,# P,# P,#=!,# P,# P,# P,# P,#!! M,# P,# P,#DR,# P,# P,3(P,# P,# T.38T-C4V13<T-CDW-#<Y-#0V.38S M-S0V.39&-D4V,3<R-SE#,C P,# P,# R,# P,# P,3 P,3 P,# Y,C P,# P M,# W,# P,# P-S0W,C8Q-D4W,S8Y-S0P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# P,# P,#$P,# P,# P,# P,# P,# P,# P,# P,# P M,# P,# P,# P,# P,# Q,# P,# P,# P,# P,# P,# P,# P,#DR,#$P,# P M,# P,# P,#!"03 Q,# P,# P,# P,# P1# P,3 P,#!#,C P,# P,# R,# P M,# P,#(P,C P,# P,# P,# P,#,P,#(P,# P0S(P,# P,# P,C P,# P,#8R M,#(P,# P,# P,# P,# P0C P,# P,#!",# P,# P-C(P,C P,# P,# P,# P M,$$S,#0P,# P0S<P,3 P,# V,# P,# P,# R,#(P,# P,# P,# P,# R03 R M,# P,# P,# P,# P.3(P,# P,# P.# P,# P,#9$-C4V13<U-#(V,3<R,T%# M,C P,# P,# Q,# P,# P,# P,# P,# V,# P,# P,#DR,#(P,# P,# P,# P M,#!",C R,# P,#)#,# P,# P,D,P,# P,# P,# P,# P,# P,# P,# P1D9& M1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D8P-3 P,# P,# U,# P,# P M-38P,C P,#!%.# P,# P,$)!,#$P,# P,# P,# P,#!$,# Q,# P,$,R,# P M,# P,#$P,# P,# Q,# Q,# P,$8P,#(P,# P,# P,# P,# Q-3 P,# P,#0V M,#4P-# P,#,P,# P,# T.38S-D8V13 P,# P,# P,# P,# P,# Q,# P,# P M,#!%,#(Q,3 P-3,U-#0R-3,V.39%-C<V0S8U-S0V1C9%-3 W,C9&-S@W.3 P M,# P,# P-$4P,C!$,# P,3 P,# P,#4S-30T,C0S-D,V,3<S-S,U,#<R-D8W M.#<Y,# P,# P,# S-C P,#8P,#4S-S0W,C8Y-D4V-S W,# P,# P-#0V1C9# M-S V.#8Y-D4Q,C Q,# P,#$X,# P,# P-#DV1#8Q-C<V-34R-C4V0S8Q-S0V M.3<V-C4T-C8Y-D,V-31#-D8V,S8Q-S0V1C<R,$4P,3!%,# U,S4T-#(U,S<Y M-D0V,C9&-D,U,#<R-D8W.#<Y,# P,# P,# Q,C Q,# P,# W,# P,# P-C,W M-3<R-S(V-39%-S0Q,C Q,# P,#!$,# P,# P-3,V.#8U-D,V0S4V-CDV-3<W M,D4V.38S-D8P13 R,48P,#4S-30T,C0U-S@W-#8U-S(V138Q-D,U,C8U-S,V M1C<U-S(V,S8U-$,V.38R-S(V,3<R-SDU,#<R-D8W.#<Y,# P,# P,# Q,C Q M,# P,#$P,# P,# P-C0V1C9#-S V.#8Y-D4V-#<R,S S,#,T,D4V-#9#-D,P M,# P,# P,"<I*2$-"@T**%)E<V]U<F-E261E;G1I9FEE<B!C;&%S<SH@5')A M;G-I=%!R97-E;G1E<B!N86UE.B G1&5F875L="!V:65W)RD@87-S:6=N.B H M3V)J96-T(&9R;VU":6YA<GE3=&]R94)Y=&5S.@T**$)Y=&5!<G)A>2!F<F]M M2&5X4W1R:6YG.B G,C$U,S4T-#(R,#,P,C T-C R,$,P,# Q,# P,# P-38V M.38U-S<U,C8U-S,V1C<U-S(V,S8U,# P,# P,# P13 Q,C0P,#4S-30T,C4R M-C4W,S9&-S4W,C8S-C4U,S4T-#(T,C<Y-S0V-30Q-S(W,C8Q-SDT,38S-C,V M-3<S-S,V1C<R-3 W,C9&-S@W.3 P,# P,# P,S8P,# Y,# T,C<Y-S0V-30Q M-S(W,C8Q-SDQ0S R,# P,#(Q-3,U-#0R,C S,#(P-$4P.#!#,# P03 P,# P M,#4S-30T,C4V-CDV-3<W-3 W,C9&-S@W.3 P,# P,# P-$4P,C!$,# P,3 P M,# P,#4S-30T,C0S-D,V,3<S-S,U,#<R-D8W.#<Y,# P,# P,# S-C P,#8P M,#4S-S0W,C8Y-D4V-S W,# P,# P-#4W.#8Q-D0W,#9#-C4Y,C P,# P,#!" M,# P,# P-30W,C8Q-D4W,S8Y-S0U-C8Y-C4W-S(V,# P-3 P-#$W,C<R-C$W M.3!$,# P,# P,# P,# P,# P,# P,# P,$,R,# P,# P,#(P,# P,# S-C P M,$,P,#1#-C$W,C8W-C4T.39%-S0V-38W-C4W,C T,# P,# P,# P,# P-#0P M,3 P,# P,#8P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#4P,# P M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#8P M,3!&,# T1#8U-S,W,S8Q-C<V-34S-C4W,3<U-C4V138S-C4P,# P,# P,#!% M,#(Q,C P-3,U-#0R-#,V1C9#-D,V-38S-S0V.39&-D4U,#<R-D8W.#<Y,# P M,# P,# W03 P,# P,# P,# P,# P.3(P,# P,# P-S P,# P,#0T-D8V0S<P M-C@V.39%.3(P,# P,# Q,3 P,# P,#1&-S(V-#8U-S(V-38T-#,V1C9#-D,V M-38S-S0V.39&-D5#,C P,# P,# Q,# P,# P,#8P,S!",# T1#8U-S,W,S8Q M-C<V-34S-C4V138T,# P,# P,# P13 Q,$4P,#4S-30T,C4S-SDV1#8R-D8V M0S4P-S(V1C<X-SDP,# P,# P,#DR,# P,# P,3 P,# P,# V,S<R-C4V,3<T M-C4T,3<T,T$V-3<X-S0V-39%-S0S04,R,# P,# P,#(P,# P,# P-C R,#4P M,#4P-D8V.39%-S0P,# P,# P,# Q,# P,# P,#$P,# P,#!&,C Q,# P,# P M,# P,# P0SDP,# P,#!#.3 P,# P,#8P,# P,# P,#8P,3!&,# U-S0Y-$4T M-#1&-3<U,#1#-#$T,S0U-$0T-31%-30P,# P,# P,#,V,# P.3 P-#(W.3<T M-C4T,3<R-S(V,3<Y,D,P,# P,# R0S P,# P,# P,# P,# P,# P,# P,#!& M1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1C P,# P,# P,# P,# P M,# V-# P,# P,#8T,# P,# P,T$P,3 P,# P,# P,# P,#4P,#$P,# P0S(P M,# P,# P,# P,# P,$8R,#$P,# P,# P,# P,#!#,3 P,# P,$,Q,# P,# P M,# P,# P,# Q,S P,# P,#0V,#4P-# P,#,P,# P,# T.38S-D8V13 P,# P M,# P,# P,# P,# Q,# P,# P,#!%,#(Q,3 P-3,U-#0R-3,V.39%-C<V0S8U M-S0V1C9%-3 W,C9&-S@W.3 P,# P,# P-$4P,C!$,# P,3 P,# P,#4S-30T M,C0S-D,V,3<S-S,U,#<R-D8W.#<Y,# P,# P,# S-C P,#8P,#4S-S0W,C8Y M-D4V-S W,# P,# P-#0V1C9#-S V.#8Y-D4Q,C Q,# P,#$X,# P,# P-#DV M1#8Q-C<V-34R-C4V0S8Q-S0V.3<V-C4T-C8Y-D,V-31#-D8V,S8Q-S0V1C<R M,$4P,3!%,# U,S4T-#(U,S<Y-D0V,C9&-D,U,#<R-D8W.#<Y,# P,# P,# Q M,C Q,# P,# W,# P,# P-C,W-3<R-S(V-39%-S0Q,C Q,# P,# X,# P,# P M-38V.38U-S<R138Y-C,V1C!%,#(Q1C P-3,U-#0R-#4W.#<T-C4W,C9%-C$V M0S4R-C4W,S9&-S4W,C8S-C4T0S8Y-C(W,C8Q-S(W.34P-S(V1C<X-SDP,# P M,# P,#$R,#$P,# P,3 P,# P,# V-#9&-D,W,#8X-CDV138T-S(S,#,P,S0R 7138T-D,V0S P,# P,# P)RDI(0T*#0H` ` end |
In reply to this post by Glen Bojsza
Glen,
> I am looking at purchasing Dolphin Pro...but I would like to see an > brief example application. > > I would like the example to have two rectangles connected by a line. > One button (called "start") that when presssed will show a small > circle travel along the line from one rectangle to the other. Upon > reaching the second rectangle the circle disappears and a dialog box > appears stating the "The package has arrived"...this would then > display for 5 seconds and then disappear. > At any time after the "start" button has been pressed the user can > pause the circle's movement by clicking anywhere in the workspace and > start it again from where it was stopped by also clicking anywhere in > the work space (I would consider another button that would be where > the user is required to pause and restart the movement) > > > What I am looking for is how easy it would be to: > > - change the speed of the circle > - see if objects work on layers (the circle travels on top of the line > between the rectangles) > > If anyone could "whip" this up and create an exe and send it with some > idea of the number of lines of code it took I would appreciate it. > This would give me a quick idea of if Dolphin will do what I need for > the short term...this would also mean that I would purchase Dolphin > Pro and become another developer ;-) > > If this is too hard or can't be done I would appreciate some feedback > as to why. Here you are, the code and a sample EXE are at: http://www.object-arts.com/Lib/Downloads/4.0/SlidingBallDemo.zip I've modified your spec slightly in that one needs to double click anywhere in the window to start and stop the animation. I leave it as "an exercise for the student" to trivially modify it so that a single click will start and stop the process. If you want to install the PAC file into a 4.0 image you'll also need the "Bouncing Balls" samplle package which includes a class for doing easy smooth animation. This is available at: http://www.object-arts.com/Lib/Downloads/4.0/BouncingBalls.zip The EXE was deployed in Dolphin 5 using the "To Go" option which puts the VM inside the executable. This means that it should run on most Windows machines without the need for a Setup program. The Dolphin 4 deployed EXE comes in at around 540K and this does not include the VM. Personally, I thought the request that someone should write a specific sample application before the purchase of a $300 product rather cheeky. This took about 1 hour 10 minutes to write (which was time that could otherwise have been spent working on the release of Dolphin 5). I am, therefore, looking forward to your order for Dolphin Pro arriving in the next few days. Best Regards, Andy Bower Dolphin Support http://www.object-arts.com --- Are you trying too hard? http://www.object-arts.com/Relax.htm --- For quick reference here is most of the code for the sample (but I think it will lose the formatting so it will be easier to read by installing the PAC file in Dolphin): DoubleBufferedView subclass: #SlidingBallDemo instanceVariableNames: 'start end circle stepProcess' classVariableNames: '' poolDictionaries: '' classInstanceVariableNames: ''! !SlidingBallDemo methodsFor! circleExtent ^20@20! circleVelocity ^6.5! defaultExtent ^400@400! defaultWindowStyle "Private - Answer the default basic window creation style" ^##(WS_THICKFRAME | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)! frameRate ^30! initialize super initialize. start := 120@70. end := 300@190. circle := start.! isCompleted | endBox | endBox := Rectangle center: end extent: self rectangleExtent. ^endBox containsPoint: circle! isRunning ^stepProcess notNil! onDestroyed self stopStepProcess. ^super onDestroyed! onLeftButtonDoubleClicked: aMouseEvent super onLeftButtonDoubleClicked: aMouseEvent. self isRunning ifTrue: [self stopStepProcess] ifFalse: [self startStepProcess]. self invalidate ! paintCircleOn: aCanvas aCanvas pen: (Pen color: Color magenta); brush: (Brush color: Color magenta); ellipse: (Rectangle center: circle rounded extent: self circleExtent). ! paintEndOn: aCanvas aCanvas fillRectangle: (Rectangle center: end extent: self rectangleExtent) brush: (Brush color: Color red). ! paintLineOn: aCanvas aCanvas pen: (Pen blue width: 3); moveTo: start; lineTo: end! paintStartOn: aCanvas aCanvas fillRectangle: (Rectangle center: start extent: self rectangleExtent) brush: (Brush color: Color green).! rectangleExtent ^50@50! render "Private - Render the background image" | canvas | canvas := self canvas. canvas erase. self paintLineOn: canvas. self paintStartOn: canvas. self paintEndOn: canvas. self paintCircleOn: canvas. self isRunning ifFalse: [ self showStartMessageOn: canvas ]. canvas free. "useful to avoid build up of finalizable garbage" super render! showCompletedMessage "It is not straightforward to automatically terminate a standard MessgaeBox so for expendiency we use a custom Splash screen" | bm | bm := (DIBSection width: 200 height: 100). bm canvas setTextColor: Color white; setBkMode: TRANSPARENT; text: 'The package has arrived' at: 20@40. Splash new bitmap: bm; showTimed: (Delay forSeconds: 5)! showStartMessageOn: aCanvas aCanvas font: (Font name: 'Arial' pointSize: 12); text: 'Double click to start' at: 100@250! startStepProcess stepProcess := [[Processor sleep: (1000 // self frameRate). self step] repeat ] fork! step | unitStep | unitStep := (end-start) / 1000. circle := circle + (unitStep*self circleVelocity). self invalidate. self isCompleted ifTrue: [ self showCompletedMessage. self stopStepProcess ].! stepProcess "Private - Answer the value of the receiver's ''stepProcess'' instance variable." ^stepProcess! stopStepProcess self isRunning ifTrue: [ self stepProcess terminate. stepProcess := nil ]! ! |
In reply to this post by Louis Sumberg-2
Louis,
Thanks for the outline...this does help a little but I still would like to see a basic working app. Or will this take too much time to produce? --Glen "Louis Sumberg" <[hidden email]> wrote in message news:<a6olqt$pvj$[hidden email]>... > Glen, > > This is quite doable -- I'm not going to write the app, but here's the > approach I'd take: > > 1) Draw the rectangles and circles on a custom view, or directly in the > app's main window, overriding #onPaintRequired:. > 2) When the start button is clicked, start a process, with > userInterruptPriority, that begins the circle moving. Use the usual ROP (or > whatever it's called) technique to erase the old circle and draw the new one > to avoid flicker, or if that's not an issue, just redraw the whole thing > each time. > 3) Trap the onClick event to pause or resume the process. Since the process > is at priority userInterrupt, it's easy to do this. > 4) Since there's no real model here, it can all go in a single class, a > subclass of Shell. > 5) To change the speed, add a menu or context menu item that when chosen, > terminates the old process and starts the new one with a different Delay > forMilliseconds (or forSeconds) in it. > 6) Draw the lines before the circle so the circle is on top. If the > rectangles, lines and circle are all full-fledged objects, this is doable > too, but you might have to make some of them transparent. > 7) When the circle reaches the other rectangle, the process is terminated > and a splash type dialog is displayed, again using Process, with a 5 second > Delay. > > Hope this helps. > > -- Louis > > "Glen Bojsza" <[hidden email]> wrote in message > news:[hidden email]... > > I am looking at purchasing Dolphin Pro...but I would like to see an > > brief example application. > > > > I would like the example to have two rectangles connected by a line. > > One button (called "start") that when presssed will show a small > > circle travel along the line from one rectangle to the other. Upon > > reaching the second rectangle the circle disappears and a dialog box > > appears stating the "The package has arrived"...this would then > > display for 5 seconds and then disappear. > > At any time after the "start" button has been pressed the user can > > pause the circle's movement by clicking anywhere in the workspace and > > start it again from where it was stopped by also clicking anywhere in > > the work space (I would consider another button that would be where > > the user is required to pause and restart the movement) > > > > > > What I am looking for is how easy it would be to: > > > > - change the speed of the circle > > - see if objects work on layers (the circle travels on top of the line > > between the rectangles) > > > > If anyone could "whip" this up and create an exe and send it with some > > idea of the number of lines of code it took I would appreciate it. > > This would give me a quick idea of if Dolphin will do what I need for > > the short term...this would also mean that I would purchase Dolphin > > Pro and become another developer ;-) > > > > If this is too hard or can't be done I would appreciate some feedback > > as to why. > > > > thanks, > > > > Glen > > - |
In reply to this post by Andy Bower
On Thu, 14 Mar 2002 14:10:12 -0000,
Andy Bower <[hidden email]> wrote: > > The EXE was deployed in Dolphin 5 using the "To Go" option which puts the VM > inside the executable. This means that it should run on most Windows > machines without the need for a Setup program. The Dolphin 4 deployed EXE > comes in at around 540K and this does not include the VM. > > Personally, I thought the request that someone should write a specific > sample application before the purchase of a $300 product rather cheeky. This > took about 1 hour 10 minutes to write (which was time that could otherwise > have been spent working on the release of Dolphin 5). I am, therefore, > looking forward to your order for Dolphin Pro arriving in the next few days. > Andy, if I might be so bold to steal another minute of your valuable time (no sarcasm here): When will Dolphin 5 be out? I have some money waiting to be transferred.... I accept gratefully any answer but: "When it is finished". :-) Thanks, s. -- Stefan Schmiedl EDV-Beratung, Programmierung, Schulung Loreleystr. 5, 94315 Straubing, Germany Tel. (0 94 21) 74 01 06, Fax (0 94 21) 74 01 21 Public Key: http://xss.de/stefan.public shhhh ... I can't hear my code! |
Stefan,
> if I might be so bold to steal another minute of your valuable time > (no sarcasm here): > > When will Dolphin 5 be out? I have some money waiting to be transferred.... > > I accept gratefully any answer but: "When it is finished". :-) Well, what can I say. We currently have about 60 reports in the defects database and we'd like to clean most of these up before release. I would estimate that it will be at least two weeks and (probably) less that four weeks before 5.0 is released. Just to irritate you even more, here is a view of the current system browser showing the ability to view the classes in package using a partial class hierarchy. http://www.object-arts.com/Lib/Downloads/5.0/SB.gif Best Regards, Andy Bower Dolphin Support http://www.object-arts.com --- Are you trying too hard? http://www.object-arts.com/Relax.htm --- |
On Thu, 14 Mar 2002 20:43:54 -0000,
Andy Bower <[hidden email]> wrote: > Stefan, > >> if I might be so bold to steal another minute of your valuable time >> (no sarcasm here): >> >> When will Dolphin 5 be out? I have some money waiting to be > transferred.... >> >> I accept gratefully any answer but: "When it is finished". :-) > > Well, what can I say. We currently have about 60 reports in the defects > database and we'd like to clean most of these up before release. I would > estimate that it will be at least two weeks and (probably) less that four > weeks before 5.0 is released. ok, countdown begins :) > > Just to irritate you even more, here is a view of the current system browser > showing the ability to view the classes in package using a partial class > hierarchy. > > http://www.object-arts.com/Lib/Downloads/5.0/SB.gif I guess when you are not busy fixing bugs you must be smiling like the Cheshire Cat, because nobody but you gets to handle this beauty ... does it work under good ol' nt4, too? s. -- Stefan Schmiedl EDV-Beratung, Programmierung, Schulung Loreleystr. 5, 94315 Straubing, Germany Tel. (0 94 21) 74 01 06, Fax (0 94 21) 74 01 21 Public Key: http://xss.de/stefan.public shhhh ... I can't hear my code! |
In reply to this post by Andy Bower
"Andy Bower" <[hidden email]> wrote in
news:a6r21k$gbnfe$[hidden email]: > . I would > estimate that it will be at least two weeks and (probably) > less that four weeks before 5.0 is released. > Any news on the upgrade pricing? P. (4.0 purchased shortly after that came out) |
In reply to this post by Andy Bower
"Andy Bower" <[hidden email]> wrote in message
news:a6r21k$gbnfe$[hidden email]... > > When will Dolphin 5 be out? I have some money waiting to be > Well, what can I say. We currently have about 60 reports in the defects > database and we'd like to clean most of these up before release. I would > estimate that it will be at least two weeks and (probably) less that four > weeks before 5.0 is released. I thought I would chime in with a note of support. Of course I am looking forward to Dolphin 5. However, I am in no great rush and am delighted with your plan of fixing the defects prior to release. There are trade-offs everywhere we look, but I think things are easier on all of us the way you are handling it. (Dolphin 4 working so well contributes to my patience.) -- Frank |
I'm wondering if Dolphin 5.0 will ever be bug free. Is very dificult
for a company produce bugfree software without releasing beta versions. All software have bugs, and the final user is always the best finder (and fixer - see open source example). So maybe will be a 6.0 NOT BUG FREE version in the near future. Are you trying too hard? http://www.linux.org |
On 12 Apr 2002 05:37:35 -0700,
mario bancos <[hidden email]> wrote: > I'm wondering if Dolphin 5.0 will ever be bug free. Is very dificult > for a company produce bugfree software without releasing beta > versions. All software have bugs, and the final user is always the > best finder (and fixer - see open source example). So maybe will be a > 6.0 NOT BUG FREE version in the near future. > > Are you trying too hard? Maybe, but: I applaud Object Arts for being so responsible. If Microsoft showed the same care for their products, I would probably not be using linux today as my office backend and workstation base system. And speaking from my own delivery experience: users tend to like working software much more than the other kind. Having said that: When will Dolphin 5 be out??? :-) s. -- Stefan Schmiedl Approximity GmbH http://www.approximity.com Research & Development mailto:[hidden email] Loreleystr. 5, 94315 Straubing, Germany Tel. (0 94 21) 74 01 06, Fax (0 94 21) 74 01 21 shhhh ... I can't hear my code! |
In reply to this post by mario bancos
On 12 Apr 2002 05:37:35 -0700, [hidden email] (mario bancos) wrote:
>I'm wondering if Dolphin 5.0 will ever be bug free. Is very dificult >for a company produce bugfree software without releasing beta >versions. All software have bugs, and the final user is always the >best finder (and fixer - see open source example). So maybe will be a >6.0 NOT BUG FREE version in the near future. Maybe there IS a beta version of Dolphin 5. Maybe it's a secret. Maybe some people here have a copy. Maybe some people here will be demonstrating it at Smalltalk Solutions. Maybe there's a non-disclosure agreement or something. One never knows, do one? Ronald E Jeffries http://www.XProgramming.com http://www.objectmentor.com I'm giving the best advice I have. You get to decide whether it's true for you. |
Free forum by Nabble | Edit this page |