Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
February 2016
- 75 participants
- 457 messages
Re: [Pharo-users] embedding images inside Playground
by Peter Uhnák
On Sun, Feb 21, 2016 at 12:15 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Hi,
>
>
> > On Feb 21, 2016, at 12:06 AM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> >
> > Hi,
> >
> > is it possible to somehow embed images (Form) inside Playground?
> >
> > The use case is a kind of in-image help or guide where one could also
> execute code, but there would be also example images.
>
> This is not yet possible, but it is intended to move in that direction.
>
> > Or maybe have a container Morph that would contain Playground? Is that
> possible?
>
> Intriguing idea. Could you elaborate on this?
>
Well the idea is rather simple. Imagine that instead of having a website or
a book or a pdf somewhere you would have a more live version directly in
the image that you could interact with.
An extremely crude example:
â
Creating something like that is currently quite awful:
```
window := SystemWindow new.
window addMorph: (RubScrolledTextMorph new beWrapped; yourself) frame: (0@0
corner: 1(a)0.2)
window addMorph: (SpecWindow allInstances detect: [ :each | each
identityHash = 330624768 ]) frame: (0(a)0.2 corner: 1(a)0.4)
window addMorph: (RubScrolledTextMorph new beWrapped;
beForSmalltalkScripting; yourself) frame: (0(a)0.4 corner: 1(a)0.6)
'/tmp/pharo.png' asFileReference binaryReadStreamDo: [ :stream |
window addMorph: (PNGReadWriter formFromStream: stream) asMorph frame:
(0(a)0.6 corner: 1 @0.8)
].
window addMorph: (RubScrolledTextMorph new beWrapped;
beForSmalltalkScripting; yourself) frame: (0(a)0.8 corner: 1@1).
window submorphs second push.
window openInWorld.
```
Also I've just realized that on ESUG someone (Andrei I think) was showing
something like this running on Bloc⦠but I have no memory what it was
called.
Peter
Feb. 20, 2016
Re: [Pharo-users] embedding images inside Playground
by Henrik Nergaard
If you just want to execute code (similar to the old Workspace) then you can just use Rubric.
| textMorph |
textMorph := RubScrolledTextMorph new newScrolledText.
textMorph beWrapped; beForSmalltalkScripting.
textMorph openInWindow extent: 432@432.
Best regards,
Henrik
From: Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] On Behalf Of Peter Uhnák
Sent: Sunday, February 21, 2016 12:07 AM
To: Pharo Users List <pharo-users(a)lists.pharo.org>
Subject: [Pharo-users] embedding images inside Playground
Hi,
is it possible to somehow embed images (Form) inside Playground?
The use case is a kind of in-image help or guide where one could also execute code, but there would be also example images.
Or maybe have a container Morph that would contain Playground? Is that possible?
Thanks,
Peter
Feb. 20, 2016
Re: [Pharo-users] embedding images inside Playground
by Tudor Girba
Hi,
> On Feb 21, 2016, at 12:06 AM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>
> Hi,
>
> is it possible to somehow embed images (Form) inside Playground?
>
> The use case is a kind of in-image help or guide where one could also execute code, but there would be also example images.
This is not yet possible, but it is intended to move in that direction.
> Or maybe have a container Morph that would contain Playground? Is that possible?
Intriguing idea. Could you elaborate on this?
Cheers,
Doru
> Thanks,
> Peter
--
www.tudorgirba.com
www.feenk.com
"Every thing has its own flow."
Feb. 20, 2016
embedding images inside Playground
by Peter Uhnák
Hi,
is it possible to somehow embed images (Form) inside Playground?
The use case is a kind of in-image help or guide where one could also
execute code, but there would be also example images.
Or maybe have a container Morph that would contain Playground? Is that
possible?
Thanks,
Peter
Feb. 20, 2016
Re: [Pharo-users] Using GTSpotter how do I find an implementor of #accept ?
by stepharo
ok you are saying that
- Examples (gtSpotterExamplesFor:)
is magically turned into #examples
You should write it in the help because we cannot guess it.
Le 20/2/16 15:44, Tudor Girba a écrit :
> Hi,
>
> Thanks for looking at this.
>
> I tried to explain it here:
> http://www.humane-assessment.com/blog/scoping-for-specific-search-category-…
>
> and more recently here:
> http://www.humane-assessment.com/blog/spotting-senders-references-with-gtsp…
>
> Let me try again in a different way.
>
> The help lists:
>
> GTSpotter
> - Examples (gtSpotterExamplesFor:)
> - Catalog Projects (spotterCatalogProjectsFor:)
> - Clipboard History (spotterClipboardFor:)
> - Methods (spotterConcreteMethodFor:)
> - Dirty Monticello packages (spotterDirtyMonticelloPackagesFor:)
> - Playground cached pages (spotterForCachedPlaygroundPagesFor:)
> - Classes (spotterForClassesFor:)
> - Directories (spotterForDirectoriesFor:)
> - Calculator (spotterForExpressionsFor:)
> - Files (spotterForFilesFor:)
> - Global variables (spotterForGlobalVarsFor:)
> - Help topics (spotterForHelpTopicFor:)
> - Messages (spotterForMessagesFor:)
> - Metacello Configurations (spotterForMetacelloConfigurationsFor:)
> - Packages (spotterForPackagesFor:)
> - Pragmas (spotterForPragmasFor:)
> - References (spotterForReferencesFor:)
> - Monticello Repositories (spotterForRepositoriesFor:)
> - Senders (spotterForSendersFor:)
> - spotterForStashedPlaygroundPagesFor: (spotterForStashedPlaygroundPagesFor:)
> - History (spotterHistoryFor:)
> - Implementors (spotterImplementorsFor:)
> - Moose Models (spotterMooseModelsFor:)
> - ws.stfx.eu (spotterStfxFor:)
> - Menu (spotterWorldMenuFor:)
>
> All of these, can be used with #. For example "Zinc #catalog" will give you only the results matched by the "Catalog Projectsâ processor. Or, "Mon #menâ will give you the results from the âMenuâ processor only.
>
> Does this make sense now?
>
> Cheers,
> Doru
>
>
>> On Feb 20, 2016, at 3:26 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> How from this explanation can I get what is the # that I should type to get implementors?
>> Because I got the same problem with the help.
>>
>> Stef
>>
>>
>> Le 11/6/15 17:08, Tudor Girba a écrit :
>>> Hi Paul,
>>>
>>> Let's take it from the beginning. Spotter is a completely new tool whose goal is to help you find all sorts of objects. See here some more detailed explanations:
>>> http://www.humane-assessment.com/blog/introducing-gtspotter/
>>> http://www.humane-assessment.com/blog/boosting-gtspotter-with-preview/
>>> http://www.humane-assessment.com/blog/finding-asclass-usages-in-glamour-usi…
>>> http://www.humane-assessment.com/blog/searching-file-system-with-gtspotter/
>>> http://www.humane-assessment.com/blog/scoping-for-specific-search-category-…
>>>
>>> Although the tool looks simple, it implied a rather extensive effort. As a consequence some features did not make it until the Pharo4 release. One of these features is a proper results sorting mechanism.
>>>
>>> So, it's not that someone decided that the order should now be different. It's more that proper ordering did not make it in the release, and this impacts the implementors case more often.
>>>
>>> But, if you want to play with a different strategy, here is an example to start from. One thing that the current Implementors processor does is to show the actual methods. This works well in many cases, but there were people that preferred to search for selectors instead and then get the list of all methods. To achieve this, try the following:
>>>
>>> Compile this method:
>>>
>>> GTSpotter>>spotterSelectorsFor: aStep
>>> <spotterOrder: 29>
>>> aStep listProcessor
>>> title: 'Selectors';
>>> filter: GTFilterSubstring item: [ :filter :context |
>>> SystemNavigation default allBehaviorsDo: [ :class | class selectorsDo: filter ] ];
>>> actLogic: [ :each | self systemNavigation browseAllImplementorsOf: each ]
>>>
>>> Then type accept, and click on a result and you will get the implementors browser. This is just an example to help you get started with customizing Spotter, and it is not the experience we want to promote. Instead, we should be able to dive in a selector and see the concrete implementors within Spotter.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On Thu, Jun 11, 2015 at 7:05 AM, Paul DeBruicker <pdebruic(a)gmail.com> wrote:
>>> Hi Doru,
>>>
>>> By "the old version of Spotter" I meant whatever was in Pharo 3 that would
>>> produce a list of search results with exact matches at the top when I'd hit
>>> shift+enter and then type e.g. 'accept.' Sorry to have said "Pharo 4" &
>>> been unnecessarily confusing.
>>>
>>>
>>> I'm just going to use 'accept' for this example but why show the mixed list
>>> of 637 implementors of accept* and not lead with "accept". Why was it
>>> decided that inexact matches to the typed input be privileged above exact
>>> matches in the new tool? Is it a bad Levenshtein distance algorithm or
>>> something?
>>>
>>>
>>> Thanks for helping me figure it out
>>>
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>>
>>> Tudor Girba-2 wrote
>>>> Hi,
>>>>
>>>> What do you mean by the old version of Spotter?
>>>>
>>>> Just in case: you should know that Spotter is made to be extensible. This
>>>> means that if you want to play with your own way of searching for objects,
>>>> you can just do it. Let me know if you to try and if you need help in this
>>>> direction.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>
>>>> On Wed, Jun 10, 2015 at 9:10 PM, Paul DeBruicker <
>>>> pdebruic@
>>>> > wrote:
>>>>
>>>>> Is there any way to change back to the old version of Spotter in Pharo 4?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Nicolai Hess wrote
>>>>>> 2015-06-10 16:24 GMT+02:00 Paul DeBruicker <
>>>>>> pdebruic@
>>>>>> >:
>>>>>>
>>>>>>> So by default the search tool is only guaranteed to return an exact
>>>>> term
>>>>>>> match if there are only less than 5 non-exact match results?
>>>>>>>
>>>>>>>
>>>>>> Yes
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Nicolai Hess wrote
>>>>>>>> 2015-06-10 7:39 GMT+02:00 Paul DeBruicker <
>>>>>>>> pdebruic@
>>>>>>>> >:
>>>>>>>>
>>>>>>>>> when I hit shift+enter and type 'accept' I get things that are not
>>>>>>>>> #accept, e.g. #accept: and AbstractAcceptor.
>>>>>>>>>
>>>>>>>>> If I add a space after accept it doesn't help.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> What do I not understand?
>>>>>>>>>
>>>>>>>> the result list is not sorted and the result list is built by all
>>>>>>> methods
>>>>>>>> having the query string as part
>>>>>>>> of its selector name.
>>>>>>>>
>>>>>>>> Yes this can be improved and it is not difficult, for example you
>>>>> can
>>>>>>> add
>>>>>>>> this method to
>>>>>>>>
>>>>>>>> GTFilterImplementor>>applyFilterWithQuery
>>>>>>>> super applyFilterWithQuery.
>>>>>>>> items sort: [ :a :b | (self itemFilterNameFor: a) size < (self
>>>>>>>> itemFilterNameFor: b) size ]
>>>>>>>>
>>>>>>>> this will sort the result list by the size of the selector name. So,
>>>>> if
>>>>>>>> there is a perfect match,
>>>>>>>> it will be listed first.
>>>>>>>> (BUT only in the implementors category if you "dive-in", not in the
>>>>>>>> 5-elements-result-preview-list).
>>>>>>>>
>>>>>>>> Maybe there is a better way without sorting. (We can modify
>>>>>>>> applyFilterWithQuery for the implementors
>>>>>>>> filter, to put perfect matches at the begining of the list).
>>>>>>>>
>>>>>>>> But all this is not easy to discover. Spotter classes make some
>>>>> heavy
>>>>>>> use
>>>>>>>> of delegation, many operations
>>>>>>>> are split and delgated to subclasses (GOOD!)
>>>>>>>> many classes aren't documented (BAD!) and this makes it really
>>>>>>> difficult
>>>>>>>> to
>>>>>>>> catch how all this is supposed to work together.
>>>>>>>>
>>>>>>>>
>>>>>>>> nicolai
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Paul
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>>>> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>>>>>>> Sent from the Pharo Smalltalk Users mailing list archive at
>>>>> Nabble.com.
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>>>>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Every thing has its own flow"
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context: http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>
>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Some battles are better lost than fought."
>
>
>
>
>
>
Feb. 20, 2016
Re: [Pharo-users] libUSB binding Pharo
by Udo Schneider
No real progress here. The binding was/is quite complex - so I used a
simpler serial interface over usb instead of the full native implementation.
On 18/02/16 23:27, François Stephany wrote:
> Hi,
>
> Is there a libusb[1] binding for Pharo 4/5? After a quick google search,
> I've seen that Udo Schneider has started one last year. Any idea on its
> status?
>
> If not, would it be a nice summer job for a student (my company can pay
> for it...)?
>
> Cheers,
> Francois
>
>
> [1]: http://libusb.org/
>
Feb. 20, 2016
Re: [Pharo-users] [Pharo-dev] Who is using Pharo Launcher and for what
by Nicolai Hess
2016-02-20 11:49 GMT+01:00 Damien Cassou <damien.cassou(a)inria.fr>:
> For my CV, I need to know who is using the stuff I'm doing. If you use
> the Pharo Launcher, could you please tell me in which context (e.g.,
> which company, open-source project) and what you use it for (e.g.,
> download from CI, standard Pharo)?
>
> I don't need long paragraphs, just give me the keywords please.
>
> Thanks
>
bug hunting
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
>
>
Feb. 20, 2016
Re: [Pharo-users] [Pharo-dev] Who is using Pharo Launcher and for what
by Damien Cassou
On February 20, 2016 1:33:10 PM GMT+01:00, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>I use it for writing documentation and blog posts.
>
>Doru
>
>--
>www.tudorgirba.com
>
>"Every thing has its own flow"
>
>> On 20 Feb 2016, at 11:49, Damien Cassou <damien.cassou(a)inria.fr>
>wrote:
>>
>> For my CV, I need to know who is using the stuff I'm doing. If you
>use
>> the Pharo Launcher, could you please tell me in which context (e.g.,
>> which company, open-source project) and what you use it for (e.g.,
>> download from CI, standard Pharo)?
>>
>> I don't need long paragraphs, just give me the keywords please.
>>
>> Thanks
>>
>> --
>> Damien Cassou
>> http://damiencassou.seasidehosting.st
>>
>> "Success is the ability to go from one failure to another without
>> losing enthusiasm." --Winston Churchill
>>
Please all also tell me the company in which you work
--
Damien Cassou
http://damiencassou.seasidehosting.st
"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
Feb. 20, 2016
Re: [Pharo-users] Using GTSpotter how do I find an implementor of #accept ?
by Tudor Girba
Hi,
Thanks for looking at this.
I tried to explain it here:
http://www.humane-assessment.com/blog/scoping-for-specific-search-category-…
and more recently here:
http://www.humane-assessment.com/blog/spotting-senders-references-with-gtsp…
Let me try again in a different way.
The help lists:
GTSpotter
- Examples (gtSpotterExamplesFor:)
- Catalog Projects (spotterCatalogProjectsFor:)
- Clipboard History (spotterClipboardFor:)
- Methods (spotterConcreteMethodFor:)
- Dirty Monticello packages (spotterDirtyMonticelloPackagesFor:)
- Playground cached pages (spotterForCachedPlaygroundPagesFor:)
- Classes (spotterForClassesFor:)
- Directories (spotterForDirectoriesFor:)
- Calculator (spotterForExpressionsFor:)
- Files (spotterForFilesFor:)
- Global variables (spotterForGlobalVarsFor:)
- Help topics (spotterForHelpTopicFor:)
- Messages (spotterForMessagesFor:)
- Metacello Configurations (spotterForMetacelloConfigurationsFor:)
- Packages (spotterForPackagesFor:)
- Pragmas (spotterForPragmasFor:)
- References (spotterForReferencesFor:)
- Monticello Repositories (spotterForRepositoriesFor:)
- Senders (spotterForSendersFor:)
- spotterForStashedPlaygroundPagesFor: (spotterForStashedPlaygroundPagesFor:)
- History (spotterHistoryFor:)
- Implementors (spotterImplementorsFor:)
- Moose Models (spotterMooseModelsFor:)
- ws.stfx.eu (spotterStfxFor:)
- Menu (spotterWorldMenuFor:)
All of these, can be used with #. For example "Zinc #catalog" will give you only the results matched by the "Catalog Projectsâ processor. Or, "Mon #menâ will give you the results from the âMenuâ processor only.
Does this make sense now?
Cheers,
Doru
> On Feb 20, 2016, at 3:26 PM, stepharo <stepharo(a)free.fr> wrote:
>
> How from this explanation can I get what is the # that I should type to get implementors?
> Because I got the same problem with the help.
>
> Stef
>
>
> Le 11/6/15 17:08, Tudor Girba a écrit :
>> Hi Paul,
>>
>> Let's take it from the beginning. Spotter is a completely new tool whose goal is to help you find all sorts of objects. See here some more detailed explanations:
>> http://www.humane-assessment.com/blog/introducing-gtspotter/
>> http://www.humane-assessment.com/blog/boosting-gtspotter-with-preview/
>> http://www.humane-assessment.com/blog/finding-asclass-usages-in-glamour-usi…
>> http://www.humane-assessment.com/blog/searching-file-system-with-gtspotter/
>> http://www.humane-assessment.com/blog/scoping-for-specific-search-category-…
>>
>> Although the tool looks simple, it implied a rather extensive effort. As a consequence some features did not make it until the Pharo4 release. One of these features is a proper results sorting mechanism.
>>
>> So, it's not that someone decided that the order should now be different. It's more that proper ordering did not make it in the release, and this impacts the implementors case more often.
>>
>> But, if you want to play with a different strategy, here is an example to start from. One thing that the current Implementors processor does is to show the actual methods. This works well in many cases, but there were people that preferred to search for selectors instead and then get the list of all methods. To achieve this, try the following:
>>
>> Compile this method:
>>
>> GTSpotter>>spotterSelectorsFor: aStep
>> <spotterOrder: 29>
>> aStep listProcessor
>> title: 'Selectors';
>> filter: GTFilterSubstring item: [ :filter :context |
>> SystemNavigation default allBehaviorsDo: [ :class | class selectorsDo: filter ] ];
>> actLogic: [ :each | self systemNavigation browseAllImplementorsOf: each ]
>>
>> Then type accept, and click on a result and you will get the implementors browser. This is just an example to help you get started with customizing Spotter, and it is not the experience we want to promote. Instead, we should be able to dive in a selector and see the concrete implementors within Spotter.
>>
>> Cheers,
>> Doru
>>
>>
>> On Thu, Jun 11, 2015 at 7:05 AM, Paul DeBruicker <pdebruic(a)gmail.com> wrote:
>> Hi Doru,
>>
>> By "the old version of Spotter" I meant whatever was in Pharo 3 that would
>> produce a list of search results with exact matches at the top when I'd hit
>> shift+enter and then type e.g. 'accept.' Sorry to have said "Pharo 4" &
>> been unnecessarily confusing.
>>
>>
>> I'm just going to use 'accept' for this example but why show the mixed list
>> of 637 implementors of accept* and not lead with "accept". Why was it
>> decided that inexact matches to the typed input be privileged above exact
>> matches in the new tool? Is it a bad Levenshtein distance algorithm or
>> something?
>>
>>
>> Thanks for helping me figure it out
>>
>>
>> Paul
>>
>>
>>
>>
>>
>> Tudor Girba-2 wrote
>> > Hi,
>> >
>> > What do you mean by the old version of Spotter?
>> >
>> > Just in case: you should know that Spotter is made to be extensible. This
>> > means that if you want to play with your own way of searching for objects,
>> > you can just do it. Let me know if you to try and if you need help in this
>> > direction.
>> >
>> > Cheers,
>> > Doru
>> >
>> >
>> >
>> > On Wed, Jun 10, 2015 at 9:10 PM, Paul DeBruicker <
>>
>> > pdebruic@
>>
>> > > wrote:
>> >
>> >>
>> >> Is there any way to change back to the old version of Spotter in Pharo 4?
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Nicolai Hess wrote
>> >> > 2015-06-10 16:24 GMT+02:00 Paul DeBruicker <
>> >>
>> >> > pdebruic@
>> >>
>> >> > >:
>> >> >
>> >> >> So by default the search tool is only guaranteed to return an exact
>> >> term
>> >> >> match if there are only less than 5 non-exact match results?
>> >> >>
>> >> >>
>> >> > Yes
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Nicolai Hess wrote
>> >> >> > 2015-06-10 7:39 GMT+02:00 Paul DeBruicker <
>> >> >>
>> >> >> > pdebruic@
>> >> >>
>> >> >> > >:
>> >> >> >
>> >> >> >> when I hit shift+enter and type 'accept' I get things that are not
>> >> >> >> #accept, e.g. #accept: and AbstractAcceptor.
>> >> >> >>
>> >> >> >> If I add a space after accept it doesn't help.
>> >> >> >>
>> >> >> >>
>> >> >> >> What do I not understand?
>> >> >> >>
>> >> >> >
>> >> >> > the result list is not sorted and the result list is built by all
>> >> >> methods
>> >> >> > having the query string as part
>> >> >> > of its selector name.
>> >> >> >
>> >> >> > Yes this can be improved and it is not difficult, for example you
>> >> can
>> >> >> add
>> >> >> > this method to
>> >> >> >
>> >> >> > GTFilterImplementor>>applyFilterWithQuery
>> >> >> > super applyFilterWithQuery.
>> >> >> > items sort: [ :a :b | (self itemFilterNameFor: a) size < (self
>> >> >> > itemFilterNameFor: b) size ]
>> >> >> >
>> >> >> > this will sort the result list by the size of the selector name. So,
>> >> if
>> >> >> > there is a perfect match,
>> >> >> > it will be listed first.
>> >> >> > (BUT only in the implementors category if you "dive-in", not in the
>> >> >> > 5-elements-result-preview-list).
>> >> >> >
>> >> >> > Maybe there is a better way without sorting. (We can modify
>> >> >> > applyFilterWithQuery for the implementors
>> >> >> > filter, to put perfect matches at the begining of the list).
>> >> >> >
>> >> >> > But all this is not easy to discover. Spotter classes make some
>> >> heavy
>> >> >> use
>> >> >> > of delegation, many operations
>> >> >> > are split and delgated to subclasses (GOOD!)
>> >> >> > many classes aren't documented (BAD!) and this makes it really
>> >> >> difficult
>> >> >> > to
>> >> >> > catch how all this is supposed to work together.
>> >> >> >
>> >> >> >
>> >> >> > nicolai
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >> Thanks
>> >> >> >>
>> >> >> >>
>> >> >> >> Paul
>> >> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> >> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>> >> >> Sent from the Pharo Smalltalk Users mailing list archive at
>> >> Nabble.com.
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>> >> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > www.tudorgirba.com
>> >
>> > "Every thing has its own flow"
>>
>>
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>
--
www.tudorgirba.com
www.feenk.com
"Some battles are better lost than fought."
Feb. 20, 2016
Re: [Pharo-users] Using GTSpotter how do I find an implementor of #accept ?
by stepharo
How from this explanation can I get what is the # that I should type to
get implementors?
Because I got the same problem with the help.
Stef
Le 11/6/15 17:08, Tudor Girba a écrit :
> Hi Paul,
>
> Let's take it from the beginning. Spotter is a completely new tool
> whose goal is to help you find all sorts of objects. See here some
> more detailed explanations:
> http://www.humane-assessment.com/blog/introducing-gtspotter/
> http://www.humane-assessment.com/blog/boosting-gtspotter-with-preview/
> http://www.humane-assessment.com/blog/finding-asclass-usages-in-glamour-usi…
> http://www.humane-assessment.com/blog/searching-file-system-with-gtspotter/
> http://www.humane-assessment.com/blog/scoping-for-specific-search-category-…
>
> Although the tool looks simple, it implied a rather extensive effort.
> As a consequence some features did not make it until the Pharo4
> release. One of these features is a proper results sorting mechanism.
>
> So, it's not that someone decided that the order should now be
> different. It's more that proper ordering did not make it in the
> release, and this impacts the implementors case more often.
>
> But, if you want to play with a different strategy, here is an example
> to start from. One thing that the current Implementors processor does
> is to show the actual methods. This works well in many cases, but
> there were people that preferred to search for selectors instead and
> then get the list of all methods. To achieve this, try the following:
>
> Compile this method:
>
> GTSpotter>>spotterSelectorsFor: aStep
> <spotterOrder: 29>
> aStep listProcessor
> title: 'Selectors';
> filter: GTFilterSubstring item: [ :filter :context |
> SystemNavigation default allBehaviorsDo: [ :class | class selectorsDo:
> filter ] ];
> actLogic: [ :each | self systemNavigation browseAllImplementorsOf: each ]
>
> Then type accept, and click on a result and you will get the
> implementors browser. This is just an example to help you get started
> with customizing Spotter, and it is not the experience we want to
> promote. Instead, we should be able to dive in a selector and see the
> concrete implementors within Spotter.
>
> Cheers,
> Doru
>
>
> On Thu, Jun 11, 2015 at 7:05 AM, Paul DeBruicker <pdebruic(a)gmail.com
> <mailto:pdebruic@gmail.com>> wrote:
>
> Hi Doru,
>
> By "the old version of Spotter" I meant whatever was in Pharo 3
> that would
> produce a list of search results with exact matches at the top
> when I'd hit
> shift+enter and then type e.g. 'accept.' Sorry to have said
> "Pharo 4" &
> been unnecessarily confusing.
>
>
> I'm just going to use 'accept' for this example but why show the
> mixed list
> of 637 implementors of accept* and not lead with "accept". Why was it
> decided that inexact matches to the typed input be privileged
> above exact
> matches in the new tool? Is it a bad Levenshtein distance
> algorithm or
> something?
>
>
> Thanks for helping me figure it out
>
>
> Paul
>
>
>
>
>
> Tudor Girba-2 wrote
> > Hi,
> >
> > What do you mean by the old version of Spotter?
> >
> > Just in case: you should know that Spotter is made to be
> extensible. This
> > means that if you want to play with your own way of searching
> for objects,
> > you can just do it. Let me know if you to try and if you need
> help in this
> > direction.
> >
> > Cheers,
> > Doru
> >
> >
> >
> > On Wed, Jun 10, 2015 at 9:10 PM, Paul DeBruicker <
>
> > pdebruic@
>
> > > wrote:
> >
> >>
> >> Is there any way to change back to the old version of Spotter
> in Pharo 4?
> >>
> >>
> >>
> >>
> >>
> >> Nicolai Hess wrote
> >> > 2015-06-10 16:24 GMT+02:00 Paul DeBruicker <
> >>
> >> > pdebruic@
> >>
> >> > >:
> >> >
> >> >> So by default the search tool is only guaranteed to return
> an exact
> >> term
> >> >> match if there are only less than 5 non-exact match results?
> >> >>
> >> >>
> >> > Yes
> >> >
> >> >
> >> >
> >> >
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> Nicolai Hess wrote
> >> >> > 2015-06-10 7:39 GMT+02:00 Paul DeBruicker <
> >> >>
> >> >> > pdebruic@
> >> >>
> >> >> > >:
> >> >> >
> >> >> >> when I hit shift+enter and type 'accept' I get things
> that are not
> >> >> >> #accept, e.g. #accept: and AbstractAcceptor.
> >> >> >>
> >> >> >> If I add a space after accept it doesn't help.
> >> >> >>
> >> >> >>
> >> >> >> What do I not understand?
> >> >> >>
> >> >> >
> >> >> > the result list is not sorted and the result list is built
> by all
> >> >> methods
> >> >> > having the query string as part
> >> >> > of its selector name.
> >> >> >
> >> >> > Yes this can be improved and it is not difficult, for
> example you
> >> can
> >> >> add
> >> >> > this method to
> >> >> >
> >> >> > GTFilterImplementor>>applyFilterWithQuery
> >> >> > super applyFilterWithQuery.
> >> >> > items sort: [ :a :b | (self itemFilterNameFor: a) size
> < (self
> >> >> > itemFilterNameFor: b) size ]
> >> >> >
> >> >> > this will sort the result list by the size of the selector
> name. So,
> >> if
> >> >> > there is a perfect match,
> >> >> > it will be listed first.
> >> >> > (BUT only in the implementors category if you "dive-in",
> not in the
> >> >> > 5-elements-result-preview-list).
> >> >> >
> >> >> > Maybe there is a better way without sorting. (We can modify
> >> >> > applyFilterWithQuery for the implementors
> >> >> > filter, to put perfect matches at the begining of the list).
> >> >> >
> >> >> > But all this is not easy to discover. Spotter classes make
> some
> >> heavy
> >> >> use
> >> >> > of delegation, many operations
> >> >> > are split and delgated to subclasses (GOOD!)
> >> >> > many classes aren't documented (BAD!) and this makes it really
> >> >> difficult
> >> >> > to
> >> >> > catch how all this is supposed to work together.
> >> >> >
> >> >> >
> >> >> > nicolai
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >>
> >> >> >>
> >> >> >> Thanks
> >> >> >>
> >> >> >>
> >> >> >> Paul
> >> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
> >> >> Sent from the Pharo Smalltalk Users mailing list archive at
> >> Nabble.com.
> >> >>
> >> >>
> >>
> >>
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
> >> Sent from the Pharo Smalltalk Users mailing list archive at
> Nabble.com.
> >>
> >>
> >
> >
> > --
> > www.tudorgirba.com <http://www.tudorgirba.com>
> >
> > "Every thing has its own flow"
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/Using-GTSpotter-how-do-I-find-an-implementor-of-accep…
> Sent from the Pharo Smalltalk Users mailing list archive at
> Nabble.com.
>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com>
>
> "Every thing has its own flow"
Feb. 20, 2016