After doing a search in DSDN and in the D6 Smalltalk code I found in
ClosedCommandDescriptionIssueDialog the method addContextHelpProvider: helpProvider "Add context sensative F1 help to self." | table | table := self view acceleratorTable. table isNil ifTrue: [table := AcceleratorTable new]. table addKey: VK_F1 commandDescription: (ClosedCommandDescription command: (Message selector: #openHelpFor: argument: self) description: 'Help' receiver: helpProvider). "cdemers - 5/12/2004 The message bellow causes a deepCopy of the ClosedCommandDescription to be made, which makes a deepCopy of the arguments and the reciever. This is probably not what a user would want, and can cause a long delay in opening the window. The deepCopy happens in ShellView<<updateCombinedAcceleratorTable" self view acceleratorTable: table Adapting this code to my application I get a message after pressing the F1 Key. So everything is fine but is this the offical way? First I was confused about the comment from cjdemers about the deepCopy. But after looking at ShellView<<updateCombinedAcceleratorTable I saw the deepCopy was changed to only copy. So it seems to be fixed and the comment should be removed. Whats the best way to get the F1 key? cjb |
"Christoph J. Bachinger" <[hidden email]> wrote in message
news:[hidden email]... > After doing a search in DSDN and in the D6 Smalltalk code I found in > ClosedCommandDescriptionIssueDialog the method > > addContextHelpProvider: helpProvider > "Add context sensative F1 help to self." ... > First I was confused about the comment from cjdemers about the deepCopy. > But after looking at ShellView<<updateCombinedAcceleratorTable I saw the > deepCopy was changed to only copy. So it seems to be fixed and the comment > should be removed. That class is actually in support of a unit test I submitted to OA illustrating a problem with the way the ClosedCommandDescription was being used. You can read about the issue report and resolution here: http://groups.google.com/group/comp.lang.smalltalk.dolphin/browse_frm/thread/8e9431a3613bcd05/72317dd4a3113e9a?lnk=st&q=ClosedCommandDescription+Dolphin&rnum=1#72317dd4a3113e9a There may be philosophic considerations as to what sort of unit tests should be included with Dolphin. I am not sure if we are getting all OA unit tests just because we are beta testers, or if they will also be in the release. I think it is perfectly fine for the beta to include them, and certainly good for OA to keep a large collection of tests they can run. However some of the tests may be a bit too esoteric to be of interest to most users of the released version. > Whats the best way to get the F1 key? My current thinking is that overriding the additionalAccelerators method in your presenter may be better. Something like this: ======== additionalAccelerators ^#(#(#cmdFind 'CTRL+F')) ======== I suspect (but can't test right now) that 'F1' could be used in place of 'CTRL+F', and #cmdFind is the symbol of the method you want to execute. Of course if you have a menu then you should use that to trigger help instead (F1 can be set as the accelerator in the UI). Chris |
In reply to this post by Christoph J. Bachinger
Hi Christoph,
Another way to do this is to add support for WM_HELP. I have used this technique, and I find it easier than adding accelerators for F1. The attached package is for D5, but should work in D6. It adds the HELPINFO structure and a HelpEvent as well as some view/presenter event handlers. You can then implement #onHelpRequested: in your presenter and open your CHM at the relevant page. I have been using this package for a while, but I have not tested it in D6 as yet. Standard disclaimers apply! Steve -- Steve Waring [hidden email] begin 666 SW ContextHelp.pac M?"!P86-K86=E('P-"G!A8VMA9V4@.CT@4&%C:V%G92!N86UE.B G4U<@0V]N M=&5X=$AE;' G+@T*<&%C:V%G92!P87A697)S:6]N.B P.PT*"6)A<VEC0V]M M;65N=#H@)R<N#0H-"G!A8VMA9V4@8F%S:6-086-K86=E5F5R<VEO;CH@)S4G M+@T*#0IP86-K86=E(&)A<VEC4V-R:7!T070Z("-P;W-T:6YS=&%L;"!P=70Z M("=6:65W(&%D9$AE;'!4;TUE<W-A9V5-87 G+@T*<&%C:V%G92!B87-I8U-C M<FEP=$%T.B C<')E=6YI;G-T86QL('!U=#H@)U9I97<@<F5M;W9E2&5L<$9R M;VU-97-S86=E36%P)RX-"@T*<&%C:V%G92!C;&%S<TYA;65S#0H)861D.B C M2&5L<$5V96YT.PT*"6%D9#H@(TA%3%!)3D9/.PT*"7EO=7)S96QF+@T*#0IP M86-K86=E(&UE=&AO9$YA;65S#0H)861D.B C4')E<V5N=&5R("T^("-H96QP M5&%R9V5T5FEE=SL-"@EA9&0Z("-0<F5S96YT97(@+3X@(V]N2&5L<%)E<75E M<W1E9#H[#0H)861D.B C4')E<V5N=&5R("T^("-S96YD2&5L<$UE<W-A9V4[ M#0H)861D.B C4VAE;&Q6:65W("T^("-H87-#;VYT97AT2&5L<#L-"@EA9&0Z M("-3:&5L;%9I97<@+3X@(VAA<T-O;G1E>'1(96QP.CL-"@EA9&0Z("-6:65W M("T^("-O;DAE;'!297%U97-T960Z.PT*"6%D9#H@(U9I97<@+3X@(W=M2&5L M<#IW4&%R86TZ;%!A<F%M.CL-"@EA9&0Z("=6:65W(&-L87-S)R M/B C861D M2&5L<%1O365S<V%G94UA<#L-"@EA9&0Z("=6:65W(&-L87-S)R M/B C<F5M M;W9E2&5L<$9R;VU-97-S86=E36%P.PT*"7EO=7)S96QF+@T*#0IP86-K86=E M(')E<V]U<F-E3F%M97,-"@EA9&0Z("-0<F5S96YT97(@+3X@)T]+($-A;F-E M;"!(96QP(&)U='1O;B!B;&]C:R<[#0H)>6]U<G-E;&8N#0H-"G!A8VMA9V4@ M8FEN87)Y1VQO8F%L3F%M97,Z("A3970@;F5W#0H)>6]U<G-E;&8I+@T*#0IP M86-K86=E(&=L;V)A;$%L:6%S97,Z("A3970@;F5W#0H)>6]U<G-E;&8I+@T* M#0IP86-K86=E(&%L;%)E<V]U<F-E3F%M97,Z("A3970@;F5W#0H)861D.B C M4')E<V5N=&5R("T^("=/2R!#86YC96P@2&5L<"!B=71T;[hidden email]* M"7EO=7)S96QF*2X-"@T*<&%C:V%G92!S9710<F5R97%U:7-I=&5S.B H261E M;G1I='E3970@;F5W#0H)861D.B G+BY<+BY<+BY<3V)J96-T($%R='-<1&]L M<&AI;EQ"87-E7$1O;'!H:6XG.PT*"6%D9#H@)RXN7"XN7"XN7$]B:F5C="!! M<G1S7$1O;'!H:6Y<35907$)A<V5<1&]L<&AI;B!-5E @0F%S92<[#0H)>6]U M<G-E;&8I+@T*#0IP86-K86=E(0T*#0HB0VQA<W,@1&5F:6YI=&EO;G,B(0T* M#0I7:6YD;W=S179E;G0@<W5B8VQA<W,Z("-(96QP179E;G0-"@EI;G-T86YC M959A<FEA8FQE3F%M97,Z("<G#0H)8VQA<W-687)I86)L94YA;65S.B G)PT* M"7!O;VQ$:6-T:6]N87)I97,Z("<G#0H)8VQA<W-);G-T86YC959A<FEA8FQE M3F%M97,Z("<G(0T*5VEN,S)3=')U8W1U<F4@<W5B8VQA<W,Z("-(14Q024Y& M3PT*"6EN<W1A;F-E5F%R:6%B;&5.86UE<SH@)R<-"@EC;&%S<U9A<FEA8FQE M3F%M97,Z("<G#0H)<&]O;$1I8W1I;VYA<FEE<SH@)R<-"@EC;&%S<TEN<W1A M;F-E5F%R:6%B;&5.86UE<SH@)R<A#0H-"B)';&]B86P@06QI87-E<R(A#0H- M"@T*(DQO;W-E($UE=&AO9',B(0T*#0HA4')E<V5N=&5R(&UE=&AO9'-&;W(A M#0H-"FAE;'!487)G9716:65W#0H)7G-E;&8@=FEE=R$-"@T*;VY(96QP4F5Q M=65S=&5D.B!A2&5L<$5V96YT( T*"5YS96QF('9I97<@;VY(96QP4F5Q=65S M=&5D.B!A2&5L<$5V96YT(0T*#0IS96YD2&5L<$UE<W-A9V4-"@DB(V1E9FEN M92!735](14Q0(" @(" @(" @(" @(" @(" @(" @(" @(#!X,# U,R(-"@T* M"7P@:"!\#0H):" Z/2!(14Q024Y&3R!N97<@8F5(96QP26YF;U=I;F1O=RX- M"@ES96QF(&AE;'!487)G9716:65W( T*"0ES96YD365S<V%G93H@,39R-3,- M"@D)=U!A<F%M.B P#0H)"6Q087)A;3H@:"!Y;W5R061D<F5S<R$@(0T*(5!R M97-E;G1E<B!C871E9V]R:65S1F]R.B C:&5L<%1A<F=E=%9I97<A8V]M;6%N M9',A<'5B;&EC(2 A#0HA4')E<V5N=&5R(&-A=&5G;W)I97-&;W(Z("-O;DAE M;'!297%U97-T960Z(65V96YT(&AA;F1L:6YG(7!U8FQI8R$@(0T*(5!R97-E M;G1E<B!C871E9V]R:65S1F]R.B C<V5N9$AE;'!-97-S86=E(6-O;6UA;F1S M(7!U8FQI8R$@(0T*#0HA4VAE;&Q6:65W(&UE=&AO9'-&;W(A#0H-"FAA<T-O M;G1E>'1(96QP#0H)(B-D969I;F4@5U-?15A?0T].5$585$A%3% @(" @(" @ M,'@P,# P,#0P,$PB#0H-"@E><V5L9B!E>%-T>6QE06QL36%S:SH@,39R,# P M,# T,# A#0H-"FAA<T-O;G1E>'1(96QP.B!A0F]O;&5A;B -"@DB(V1E9FEN M92!74U]%6%]#3TY415A42$5,4" @(" @(" P># P,# P-# P3"(-"@T*"7-E M;&8@97A3='EL94UA<VLZ(#$V<C P,# P-# P('-E=#H@84)O;VQE86XA("$- M"B%3:&5L;%9I97<@8V%T96=O<FEE<T9O<CH@(VAA<T-O;G1E>'1(96QP(6%C M8V5S<VEN9R%P=6)L:6,A("$-"B%3:&5L;%9I97<@8V%T96=O<FEE<T9O<CH@ M(VAA<T-O;G1E>'1(96QP.B%A8V-E<W-I;F<A<'5B;&EC(2 A#0H-"B%6:65W M(&UE=&AO9'-&;W(A#0H-"F]N2&5L<%)E<75E<W1E9#H@84AE;'!%=F5N=" - M"@DB5&AE($1E9E=I;F1O=U!R;V,@9G5N8W1I;VX@<&%S<V5S(%=-7TA%3% @ M=&\@=&AE('!A<F5N="!W:6YD;W<@;V8@82!C:&EL9"!W:6YD;W<@;W(@=&\@ M=&AE(&]W;F5R(&]F(&$@=&]P+6QE=F5L('=I;F1O=RX@(@T*#0H)7FYI;"$- M"@T*=VU(96QP.B!M97-S86=E('=087)A;3H@=U!A<F%M(&Q087)A;3H@;%!A M<F%M( T*"5YS96QF('!R97-E;G1E<B!O;DAE;'!297%U97-T960Z("A(96QP M179E;G0@#0H)"0D);65S<V%G93H@;65S<V%G90T*"0D)"6AA;F1L93H@:&%N M9&QE#0H)"0D)=U!A<F%M.B!W4&%R86T-"@D)"0EL4&%R86TZ(&Q087)A;2DA M("$-"B%6:65W(&-A=&5G;W)I97-&;W(Z("-O;DAE;'!297%U97-T960Z(65V M96YT(&AA;F1L:6YG(7!U8FQI8R$@(0T*(59I97<@8V%T96=O<FEE<T9O<CH@ M(W=M2&5L<#IW4&%R86TZ;%!A<F%M.B%E=F5N="!H86YD;&EN9RUW:6XS,B%P M<FEV871E(2 A#0H-"B%6:65W(&-L87-S(&UE=&AO9'-&;W(A#0H-"F%D9$AE M;'!4;TUE<W-A9V5-87 -"@DB#0H)<V5L9B!A9&1(96QP5&]-97-S86=E36%P M#0H)(@T*#0H)365S<V%G94UA<"!A=#H@,39R-3,@*R Q('!U=#H@(W=M2&5L M<#IW4&%R86TZ;%!A<F%M.@T*"2(C9&5F:6YE(%=-7TA%3% @(" @(" @(" @ M(" @(" @(" @(" @(" @,'@P,#4S(B$-"@T*<F5M;W9E2&5L<$9R;VU-97-S M86=E36%P#0H)(@T*"7-E;&8@<F5M;W9E2&5L<$9R;VU-97-S86=E36%P#0H) M(@T*#0H)365S<V%G94UA<"!A=#H@,39R-3,@*R Q('!U=#H@;FEL#0H)(B-D M969I;F4@5TU?2$5,4" @(" @(" @(" @(" @(" @(" @(" @(" P># P-3,B M(2 A#0HA5FEE=R!C;&%S<R!C871E9V]R:65S1F]R.B C861D2&5L<%1O365S M<V%G94UA<"%A8V-E<W-I;F<A;75S="!N;W0@<W1R:7 A<'5B;&EC(2 A#0HA M5FEE=R!C;&%S<R!C871E9V]R:65S1F]R.B C<F5M;W9E2&5L<$9R;VU-97-S M86=E36%P(6%C8V5S<VEN9R%M=7-T(&YO="!S=')I<"%P=6)L:6,A("$-"@T* M(D5N9"!O9B!P86-K86=E(&1E9FEN:71I;VXB(0T*#0HB4V]U<F-E($=L;V)A M;',B(0T*#0HB0VQA<W-E<R(A#0H-"DAE;'!%=F5N="!G=6ED.B H1U5)1"!F M<F]M4W1R:6YG.B G>S0X.30P.3=&+4(U1#(M-$-&0RU!,C<Y+3DU048Q.3<R M,4(R-WTG*2$-"DAE;'!%=F5N="!C;VUM96YT.B G)R$-"B%(96QP179E;G0@ M8V%T96=O<FEE<T9O<D-L87-S(4U64"U6:65W<RU%=F5N=',A("$-"B%(96QP M179E;G0@;65T:&]D<T9O<B$-"@T*:7-&;W)-96YU#0H)(DAE;' @<F5Q=65S M=&5D(&9O<B!A(&UE;G4@:71E;2XB#0H-"@E><V5L9B!W:6Y3=')U8W0@:7-( M96QP26YF;TUE;G5)=&5M(0T*#0II<T9O<E=I;F1O=PT*"2)(96QP(')E<75E M<W1E9"!F;W(@82!C;VYT<F]L(&]R('=I;F1O=RXB#0H-"@E><V5L9B!W:6Y3 M=')U8W0@:7-(96QP26YF;U=I;F1O=R$-"@T*=VEN4W1R=6-T#0H)(D%N<W=E M<B!A(%=I;F1O=W,@<W1R=6-T=7)E(&-O;G1A:6YI;F<@=&AE($A%3%!)3D9/ M(&EN9F]R;6%T:6]N#0H)9F]R('1H92!R96-E:79E<BXB#0H-"@E>2$5,4$E. M1D\@9G)O;4%D9')E<W,Z('-E;&8@;%!A<F%M(2 A#0HA2&5L<$5V96YT(&-A M=&5G;W)I97-&;W(Z("-I<T9O<DUE;G4A<'5B;&EC(71E<W1I;F<A("$-"B%( M96QP179E;G0@8V%T96=O<FEE<T9O<CH@(VES1F]R5VEN9&]W(7!U8FQI8R%T M97-T:6YG(2 A#0HA2&5L<$5V96YT(&-A=&5G;W)I97-&;W(Z("-W:6Y3=')U M8W0A86-C97-S:6YG(7!U8FQI8R$@(0T*#0I(14Q024Y&3R!G=6ED.B H1U5) M1"!F<F]M4W1R:6YG.B G>T9#14-#-D-!+4-&04,M-#,R1"TY.#(U+3)!-40R M1C$T,44R,GTG*2$-"DA%3%!)3D9/(&-O;6UE;G0Z("<G(0T*(4A%3%!)3D9/ M(&-A=&5G;W)I97-&;W)#;&%S<R%%>'1E<FYA;"U$871A+5-T<G5C='5R960M M5VEN,S(A("$-"B%(14Q024Y&3R!M971H;V1S1F]R(0T*#0IB94AE;'!);F9O M5VEN9&]W#0H)(B-D969I;F4@2$5,4$E.1D]?5TE.1$]7(" @(#!X,# P,2(- M"@T*"7-E;&8@:4-O;G1E>'14>7!E.B Q-G(Q(0T*#0ID=T-O;G1E>'1)9 T* M"2)!;G-W97(@=&AE(')E8V5I=F5R)W,@9'=#;VYT97AT260@9FEE;&0@87,@ M82!3;6%L;'1A;&L@;V)J96-T+B(-"@T*"5XH8GET97,@9'=O<F1!=$]F9G-E M=#H@,38I(0T*#0ID=U-I>F4Z(&%N3V)J96-T#0H)(E-E="!T:&4@<F5C96EV M97(G<R!D=U-I>F4@9FEE;&0@=&\@=&AE('9A;'5E(&]F(&%N3V)J96-T+B(- M"@T*"6)Y=&5S(&1W;W)D071/9F9S970Z(# @<'5T.B!A;D]B:F5C="$-"@T* M:$ET96U(86YD;&4-"@DB06YS=V5R('1H92!R96-E:79E<B=S(&A)=&5M2&%N M9&QE(&9I96QD(&%S(&$@4VUA;&QT86QK(&]B:F5C="XB#0H-"@E>*&)Y=&5S M(&1W;W)D071/9F9S970Z(#$R*2!A<T5X=&5R;F%L2&%N9&QE(0T*#0IH271E M;4AA;F1L93H@86Y/8FIE8W0-"@DB4V5T('1H92!R96-E:79E<B=S(&A)=&5M M2&%N9&QE(&9I96QD('1O('1H92!V86QU92!O9B!A;D]B:F5C="XB#0H-"@EB M>71E<R!D=V]R9$%T3V9F<V5T.B Q,B!P=70Z(&%N3V)J96-T(0T*#0II0V]N M=&5X=%1Y<&4-"@DB06YS=V5R('1H92!R96-E:79E<B=S(&E#;VYT97AT5'EP M92!F:65L9"!A<R!A(%-M86QL=&%L:R!O8FIE8W0N(@T*#0H)7BAB>71E<R!D M=V]R9$%T3V9F<V5T.B T*2$-"@T*:4-O;G1E>'14>7!E.B!A;D]B:F5C= T* M"2)3970@=&AE(')E8V5I=F5R)W,@:4-O;G1E>'14>7!E(&9I96QD('1O('1H M92!V86QU92!O9B!A;D]B:F5C="XB#0H-"@EB>71E<R!D=V]R9$%T3V9F<V5T M.B T('!U=#H@86Y/8FIE8W0A#0H-"FE#=')L260-"@DB06YS=V5R('1H92!R M96-E:79E<B=S(&E#=')L260@9FEE;&0@87,@82!3;6%L;'1A;&L@;V)J96-T M+B(-"@T*"5XH8GET97,@9'=O<F1!=$]F9G-E=#H@."DA#0H-"FES2&5L<$EN M9F]-96YU271E;0T*"2(C9&5F:6YE($A%3%!)3D9/7TU%3E5)5$5-(" P># P M,#(B#0H-"@E><V5L9B!I0V]N=&5X=%1Y<&4@/2 Q-G(R(0T*#0II<TAE;'!) M;F9O5VEN9&]W#0H)(B-D969I;F4@2$5,4$E.1D]?5TE.1$]7(" @(#!X,# P M,2(-"@T*"5YS96QF(&E#;VYT97AT5'EP92 ](#$V<C$A#0H-"DUO=7-E4&]S M#0H)(D%N<W=E<B!T:&4@<F5C96EV97(G<R!-;W5S95!O<R!F:65L9"!A<R!A M(%-M86QL=&%L:R!O8FIE8W0N(@T*#0H)7E!/24Y43"!F<F]M061D<F5S<SH@ M*&)Y=&5S('EO=7)!9&1R97-S("L@,C I(0T*#0I-;W5S95!O<SH@86Y/8FIE M8W0-"@DB4V5T('1H92!R96-E:79E<B=S($UO=7-E4&]S(&9I96QD('1O('1H M92!V86QU92!O9B!A;D]B:F5C="XB#0H-"@EA;D]B:F5C="!R97!L86-E0GET M97-/9CH@8GET97,@9G)O;3H@,C$@=&\Z(#(X('-T87)T:6YG070Z(#$A("$- M"B%(14Q024Y&3R!C871E9V]R:65S1F]R.B C8F5(96QP26YF;U=I;F1O=R%M M;V1E<R%P=6)L:6,A("$-"B%(14Q024Y&3R!C871E9V]R:65S1F]R.B C9'=# M;VYT97AT260A*BIC;VUP:6QE9"!A8V-E<W-O<G,J*B%P=6)L:6,A("$-"B%( M14Q024Y&3R!C871E9V]R:65S1F]R.B C9'=3:7IE.B$J*F-O;7!I;&5D(&%C M8V5S<V]R<RHJ(7!U8FQI8R$@(0T*(4A%3%!)3D9/(&-A=&5G;W)I97-&;W(Z M("-H271E;4AA;F1L92$J*F-O;7!I;&5D(&%C8V5S<V]R<RHJ(7!U8FQI8R$@ M(0T*(4A%3%!)3D9/(&-A=&5G;W)I97-&;W(Z("-H271E;4AA;F1L93HA*BIC M;VUP:6QE9"!A8V-E<W-O<G,J*B%P=6)L:6,A("$-"B%(14Q024Y&3R!C871E M9V]R:65S1F]R.B C:4-O;G1E>'14>7!E(2HJ8V]M<&EL960@86-C97-S;W)S M*BHA<'5B;&EC(2 A#0HA2$5,4$E.1D\@8V%T96=O<FEE<T9O<CH@(VE#;VYT M97AT5'EP93HA*BIC;VUP:6QE9"!A8V-E<W-O<G,J*B%P=6)L:6,A("$-"B%( M14Q024Y&3R!C871E9V]R:65S1F]R.B C:4-T<FQ)9"$J*F-O;7!I;&5D(&%C M8V5S<V]R<RHJ(7!U8FQI8R$@(0T*(4A%3%!)3D9/(&-A=&5G;W)I97-&;W(Z M("-I<TAE;'!);F9O365N=4ET96TA<'5B;&EC(71E<W1I;F<A("$-"B%(14Q0 M24Y&3R!C871E9V]R:65S1F]R.B C:7-(96QP26YF;U=I;F1O=R%P=6)L:6,A M=&5S=&EN9R$@(0T*(4A%3%!)3D9/(&-A=&5G;W)I97-&;W(Z("--;W5S95!O M<R$J*F-O;7!I;&5D(&%C8V5S<V]R<RHJ(7!U8FQI8R$@(0T*(4A%3%!)3D9/ M(&-A=&5G;W)I97-&;W(Z("--;W5S95!O<SHA*BIC;VUP:6QE9"!A8V-E<W-O M<G,J*B%P=6)L:6,A("$-"@T*(4A%3%!)3D9/(&-L87-S(&UE=&AO9'-&;W(A M#0H-"F1E9FEN949I96QD<PT*"2)$969I;F4@=&AE(&9I96QD<R!O9B!T:&4@ M5VEN,S(@2$5,4$E.1D\@<W1R=6-T=7)E+@T*#0H)"4A%3%!)3D9/(&-O;7!I M;&5$969I;FET:6]N#0H)(@T*#0H)(@T*"2-I9BA724Y615(@/CT@,'@P-# P M*0T*"2-D969I;F4@2$5,4$E.1D]?5TE.1$]7(" @(#!X,# P,0T*"2-D969I M;F4@2$5,4$E.1D]?345.54E414T@(#!X,# P,@T*"71Y<&5D968@<W1R=6-T M('1A9TA%3%!)3D9/(" @(" @+RH@4W1R=6-T=7)E('!O:6YT960@=&\@8GD@ M;%!A<F%M(&]F(%=-7TA%3% @*B\-"@E[#0H)(" @(%5)3E0@(" @8V)3:7IE M.R @(" @(" @(" @(" O*B!3:7IE(&EN(&)Y=&5S(&]F('1H:7,@<W1R=6-T M(" J+PT*"2 @("!I;G0@(" @(&E#;VYT97AT5'EP93L@(" @(" @+RH@16ET M:&5R($A%3%!)3D9/7U=)3D1/5R!O<B!(14Q024Y&3U]-14Y5251%32 J+PT* M"2 @("!I;G0@(" @(&E#=')L260[(" @(" @(" @(" @+RH@0V]N=')O;"!) M9"!O<B!A($UE;G4@:71E;2!)9"X@*B\-"@D@(" @2$%.1$Q%("!H271E;4AA M;F1L93L@(" @(" @("\J(&A7;F0@;V8@8V]N=')O;"!O<B!H365N=2X@(" @ M("HO#0H)(" @($173U)$7U!44B!D=T-O;G1E>'1)9#L@(" @(" O*B!#;VYT M97AT($ED(&%S<V]C:6%T960@=VET:"!T:&ES(&ET96T@*B\-"@D@(" @4$]) M3E0@("!-;W5S95!O<SL@(" @(" @(" @("\J($UO=7-E(%!O<VET:6]N(&EN M('-C<F5E;B!C;RUO<F1I;F%T97,@*B\-"@E]("!(14Q024Y&3RP@1D%2("I, M4$A%3%!)3D9/.PT*"2(-"@T*"7-E;&8-"@D)9&5F:6YE1FEE;&0Z("-D=U-I M>F4@='EP93H@1%=/4D1&:65L9"!W<FET94]N;'D@8F5/=F5R<FED93L-"@D) M9&5F:6YE1FEE;&0Z("-I0V]N=&5X=%1Y<&4@='EP93H@1%=/4D1&:65L9"!N M97<[#0H)"61E9FEN949I96QD.B C:4-T<FQ)9"!T>7!E.B!$5T]21$9I96QD M(')E861/;FQY.PT*"0ED969I;F5&:65L9#H@(VA)=&5M2&%N9&QE('1Y<&4Z M($A!3D1,149I96QD(&YE=SL-"@D)9&5F:6YE1FEE;&0Z("-D=T-O;G1E>'1) M9"!T>7!E.B!$5T]21$9I96QD(')E861/;FQY.PT*"0ED969I;F5&:65L9#H@ M(TUO=7-E4&]S('1Y<&4Z("A3=')U8W1U<F5&:65L9"!T>7!E.B!03TE.5"DA M("$-"B%(14Q024Y&3R!C;&%S<R!C871E9V]R:65S1F]R.B C9&5F:6YE1FEE M;&1S(6EN:71I86QI>FEN9R%P=6)L:6,A("$-"@T*(D)I;F%R>2!';&]B86QS M(B$-"@T*(E)E<V]U<F-E<R(A#0H-"BA297-O=7)C94ED96YT:69I97(@8VQA M<W,Z(%!R97-E;G1E<B!N86UE.B G3TL@0V%N8V5L($AE;' @8G5T=&]N(&)L M;V-K)RD@87-S:6=N.B H3V)J96-T(&9R;VU":6YA<GE3=&]R94)Y=&5S.@T* M*$)Y=&5!<G)A>2!F<F]M0F%S938T4W1R:6YG.B G259.55%I07A)15E#1$%! M0D%!04%6;6QL9#%*;&,R.3%C;4YL04%!04%!-$)*04)45D5*4UI83G9D6$IJ M6E9.55%K2C5D1U9"8VY*: T*955&:EDR5GIC,CEY54A*=F5(:T%!04%!8V=! M04%!:TE!04%H53%20TE$16=49V=-04%O04%!0E1614I785=6,U5(2G9E2&M! M04%!00T*;6=!04%!04%!04)304%!045!04%!15)V8DA";V%7-&=45EI1245* M:&,R5E-!04%!1%%!04%%3G9B;E)H85<U;&-L6G!:6&1I04%!00T*1'=!04%! M04%!04%!04%!05EG04%!04E!04%#0T%!04%"04%!04%!04%%44)!04E!;T%% M04%!04%!04%'05%S054S;'ID1U9T43(Y<PT*8C-)04%!04%(=T%!04%!04%! M04A!04%!04%!04%!04%!04%!04%!06]!14%!05E"1%%"1V-M1G1A5S5N5$=& M-6(S5C!!04%!04]O00T*04%!04%!04$X04%!04=)04%!04=!04%!;6=%04%! M04%!04-A04%!04%!04%!34%"04%"4T%!04%#9T%!049",6,R:$-D6%(P8C(U M:0T*04%!045104%!04%!04%#9T%104%99T%!04%)04%!0T-!04%!0D%!04%! M06=!,%%"04%!06-!24%!04%!04%!04%!04%!04%!04%C00T*04%!04%!04%! M04%!04%!04%!0G=!9T%!04%!04%)24%!04%%04%!03!W5&ED,%E&16=!14%! M04%1,CET8E=&=5I%4FQC,DYY85A", T*85<Y=4%!04%!3&]!04%!04%!04%5 M9T%!04%)04%!0G9A,4E!04%!0T%!04%4,'-"04%!04%104%!04%!04%!04%! M04%!=T%!04%90@T*1'="3EI83GI95V1L53)6>&175G59,E5!04%!07EG04%! M04%!04%$44%!04%99T%!04%)04%!04=!=W-!5%=6>F,R1FY:5DYL8FU100T* M04%!075G04%!04%!04%"4T%!04%%04%!04=.>5I71C!:548P3VU6-&1'5G5D M1'!I04%!04%G04%!05E#0E%"46(R;'5D04%!04%!9@T*04%!04-W04%!34E$ M04%!04%!04%J44%!041-04%!0G=!9T%!8V=-04%!04%!04,V04%!04%!04%! M1DE!04%!1D%!04%D1U8T9$1P:0T*04%!04%104%!1DE!04%!0T%!04%4,'1W M06=!04)G15!!1F1*5&M24%8Q0DU154Y&5%563U9!04%!04)Y04%!04Q!04%! M0W=!04%!00T*04%!04%104%!4"\O+R\O+R\O+R\O+R\O+R\O+R\O.%!!04%! M0E%!04%&54%!04%E04%!07EG04%!04%!04%$44%!04%99T%!04%!00T*04%$ M0T%W04%!04%!04U%04%!1$)!04%!04%!04%"34%!04)'0T))04%104%!15IY M65<Q<&)M9$1B,C5Z9$A*:&%7-3!C=T%!04%#-@T*04%!04%!04%!1DE!04%! M3T%!04%:;6PT6E=25V%75C-5;6QN84A2,2\O+R]U9T%!04%!04%!0E-!04%! M14%!04%'6G!E1U9K54=&>0T*6E<U,%5M;&YA2%16+W8O+W5G04%!04%!04%" M4T%!04%$=T%!04=:<&5'5FM6;6QL9#!*=F1(4G9B8R\O+R\K-D%!04%!04%! M049)00T*04%!4D%!04%:;6PT6E=245E82FQB;E)#8C-2,&(R,$)!04%!;6=% M04%!04%!04-!06=!05EG04%!0D5!04%!04%!04%O045!04=)00T*04%!0T%! M04%G9T%!04%104%!04%)049%05%!04%%049!04%!04%!04%!04%!04%!04%! M2$%!04%!04%!04%!04%!04%!04%!44%500T*04%!04%!0T-!04%!0D%!04%. M344T;F9I06=!04%!04%!3&]!04%!04%!04%59T%!04%904%!0FI95S5J6E=X M4T%!04%"9T%!045.: T*8FU.;&)!14%!04%"04%!04%!04%!04%!04%!0D%! M04%-9TU!04%!04%!1$M!04%!04%!04%.04%!04)I04%!04%G04%!2$E$04%! M00T*04%!06M!34%!1TE!04%!0T%!04%W9TU!04%!04%!0S%!04%!0W=!04%- M241!04%!04%!06I104%!1$U!04%"04)104%C9TU!04%!00T*04%!04)!04%9 M9T%!04%%04%!0E-!04%!0F=!04%%3FAB;4YL8D5!1D%!0D-"04%!04%!04%( M24%!04%S04%!04Q!04%!04%!04%!0@T*04%!02\O+R\O+R\O+R\O+R\O+R\O M+R\O+S%O04%!049!04%!;T%!04%"-$%!041+04%!04%!04%!3D%!04%#04)! M04%K05%!04%!00T*04%!5$%!04%O9U%!04%!04%!1$%"04%!9&8O+R\K045! M04)R+R\O+T%!54%!32\O+R\X9T)104%!44%!04IO0D%!04%!04%!9T%)00T* M04=)04%!05)!04%!04%!04%+04)!04)I04%!04%G04%!24E!04%!14%!04%! M0T%"4D%%04%!0W="9T%!04%!04%!04%!04%!04%!00T*0G=!04%!04%!04%! M04%!04%!04%!3$%'04%!04%!04%G9T%!04%104%!1%1"3THS-&=)04%!04%! M04,V04%!04%!04%!1DE!04%!4 T*04%!06,R5G5:16AL8DA"3EI83GI95V1L M56=!04%!44%!04))6E=X=T%104%!045!04%!04%!04%!04%!04%%04%!07E! M=T%!04%!00T*04UO04%!04%!04%!,$%!04%'24%!04%$04%!06-G34%!04%! M04%#44%W04%99T%!04%)04%!1$-!=T%!04%!04%%<T)!04%,04%!00T*=V=- M04%!04%!04-.04%!04UW04%!3$%'04%">4%W04%!04%!04QO04%!04%!04%! M56=!04%!;T%!04)P8S!6=5E72G-:5U$V66=!00T*04%%04%!06=!04%!<T%9 M04%(241!04%!04%!04%!44%!1TE!04%!0D%!04%59T%!04%104%!0DE:5WAW M<T%904%%245!04%!04%!00T*8V=!04%#=T%!04%S04%!04%!04%!045!04%$ M+R\O+R\O+R\O+R\O+R\O+R\O+R\O<%%!04%!54%!041R04%!04AG04%!36]! M04%!00T*04%!03!!04%!24%%04%#44)!04%!04%!04)-04%!0VE"04%!04%! M04%-045!04(Q+R\O+S1!44%!045!04%!04)104%Z+R\O+WE!1@T*04%!0D%! M04$V9T%!04%!04%!04%!44%!9T%104%!64-#44)36E=.,%E7-6YB1U5!04%! M07=G34%!04%!04%!3$%!04%#=T%!04U)1 T*04%!04%!04%!44%!04%%04%! M07E!=T%!04%!04%-;T%!04%!04%!03!!04%!1TE!04%!0D%!04%C9TU!04%! M04%!0U%!=T%!66=!00T*04%)04%!1$-!=T%!04%!04%!<T%!04%,04%!07=G M34%!04%!04%$6$%104%044%!04M!0D%!0D-"04%!04%!04%(24%!04%S04%! M00T*3$%!04%!04%!04%!04%!02\O+R\O+R\O+R\O+R\O+R\O+R\O+W=504%! M049!04%!.$%!04%#34%!041+04%!04%!04%!3D%!04%":0T*04%!04%W04%! M2$%#04%"04)104%S05E!04I!14%!04%!04%!17=!04%%649"04%$04%!05-7 M3G9B9T%!04%!04%!04%%04%!04$T0PT*15%"5%9%2E1A5S5N8D=6,&(R-5%C M;3DT95%!04%!0V%!04%!04%!04%&24%!04%(04%!05)'.7-C1VAP8FQ)04%! M05E!04%!4U<Q: T*6C)64UI7>&AD1VPR6E5:<&)'5DUB,DYH9$<Y>75G04%! M04%!04%"4T%!04%"=T%!04=.,6-N2FQB;E)304%!045104%!14YV8FY2: T* M85<U;&-L6G!:6&-U85=.=D1G269!1DY546M6-&1'5GEB;49S56U6>F(S5GE9 M,E9-85=*>5E82C552$IV94AK04%!04%59T%!04)!00T*04%":V(R>'=A1VQU <6DA)=TU$575:1WAS04%!04%!/3TG*2DA#0H-"@`` ` end |
In reply to this post by Christopher J. Demers
Hi Christopher,
> additionalAccelerators > ^#(#(#cmdFind 'CTRL+F')) > ======== > I suspect (but can't test right now) that 'F1' could be used in place of > 'CTRL+F', and #cmdFind is the symbol of the method you want to execute. > Of course if you have a menu then you should use that to trigger help > instead (F1 can be set as the accelerator in the UI). I think you showed me the official way and as you suspected additionalAccelerators ^#(#(#cmdHelp 'F1')) worked fine in my shell class :) . one disadvantage of this way is, that the help is not dependent to the application subviews. thanks cjb |
In reply to this post by Steve Alan Waring
Hi Steve,
> Another way to do this is to add support for WM_HELP. I have used this > technique, and I find it easier than adding accelerators for F1. I wouldn't say easier but more flexible (see my answer to cjdemers) and its straight forward because hitting keys should be handled by the event system. To look for the wm_help message was my first approach in figuring out how this stuff works in dolphin. Finding nothing let me ask the question about the official way. Perhaps, when Andy and Blair will recover from the update stress of Dolphin 6, they will have a look at your package to include similar stuff in Dolphin 7 ;-). Thanks for the package. I tested it in D6 and got an #onHelpRequested: message after pressing F1 in my application. So it works for me. But one question which comes from my little knowledge about the event system and the windows help mechanism. Shouldn't there not be a trigger message in the View #onHelpRequested: method like below to have a hook for the different subpresenters. onHelpRequested: aKeyEvent self presenter trigger: #helpRequested with: aKeyEvent. ^nil cjb |
Hi Christoph,
> I wouldn't say easier Might have been the wrong word to use! > but more flexible Yes, for example you can piggy back the help system and get "Context Help" for free. I used a similar technique as the "Visual Object Finder" to locate the view under a mouse click, and then do something like: "theView sendMessage: WM_HELP wParam: 0 lParam: HELPINFO new beHelpInfoWindow yourAddress.". Easy ... and FWIW: the reason the package is named "ContextHelp". > Perhaps, when Andy and Blair will recover from the update stress of > Dolphin 6, they will have a look at your package to include similar stuff > in Dolphin Yes, when I saw your message, it reminded me that I had to implement this myself. I agree that handling of WM_HELP would be a nice addition to the base image, but I should have thought of that 4 months ago :) > and the windows help mechanism. Shouldn't there not be a trigger message > in the View #onHelpRequested: method like below Yes, you are right, however I have never needed it so I never got around to implementing it. Since Windows passes WM_HELP up the parent chain, there is not as much need to wire up subpresenters for this event. Also, I think you would need to stop window's default processing, which you can't do from an event handler unless you pass a valueModel around ... so it could get tricky ... best left to Andy and Blair! Steve -- Steve Waring [hidden email] |
Hi Steve,
thanks for answer. > so it could get tricky best left to Andy and Blair! Is this an new inverse religion? Let the gurus work and the followers mediate. cjb |
Free forum by Nabble | Edit this page |