Hi
is there a way to see in the browse all the methods implemented in the super classes as well, maybe in a different colour, i thought it was possible but am unable to find it regards Sanjay
cheers,
Sanjay |
i.e. - can I see the methods defined in the superclass in the circled panel
cheers,
Sanjay |
2015-05-15 8:56 GMT+02:00 Sanjay Minni <[hidden email]>:
Not in the default browser. You can only see the little up-arrow, if the method is defined in this class and at least one super class. And the arrow is only visible if there are no other icons. I your example screenshot, "&" and "and:" are both implemented in False and in the superclass Boolean. But only "&" has the up-arrow icon because "and:" already has the test runner icon (the circle). I am not sure maybe there are other class browsers that let you see all local and inherited methods of a class. But what you can do with the default browser: select a method and choose "Inheritance" from the menu, this opens a MessageBrowser with the list of classes of the hierarchy, implementing this method. nicolai
|
Thanks ... while I can get the hierarchy for a locally implemented method, is there a way for knowing implemented methods in the super class ?
The browser in Dolphin from Object-Arts has an option "show inherited methods" in which it shows all methods incl those in the super class hierarchy in the regular browser and the source is visible in read only mode in normal navigation This to me is a very useful (and vital) feature regards Sanjay
cheers,
Sanjay |
thanks Sanjay
2015-05-15 11:16 UTC+02:00, Sanjay Minni <[hidden email]>: > Thanks ... while I can get the hierarchy for a locally implemented method, > is > there a way for knowing implemented methods in the super class ? > > The browser in Dolphin from Object-Arts has an option "show inherited > methods" in which it shows all methods incl those in the super class > hierarchy in the regular browser and the source is visible in read only > mode > in normal navigation > > <http://forum.world.st/file/n4826478/DolphinBrowser.jpg> > > This to me is a very useful (and vital) feature > > regards > Sanjay > > > > Nicolai Hess wrote >> 2015-05-15 8:56 GMT+02:00 Sanjay Minni < > >> sm@ > >> >: >> >>> >>> i.e. - can I see the methods defined in the superclass in the circled >>> panel >>> <http://forum.world.st/file/n4826452/Browser.jpg> >>> >>> >> Not in the default browser. >> You can only see the little up-arrow, if the method is defined in this >> class and at least one super class. >> And the arrow is only visible if there are no other icons. >> >> I your example screenshot, "&" and "and:" are both implemented in False >> and >> in the superclass Boolean. >> But only "&" has the up-arrow icon because "and:" already has the test >> runner icon (the circle). >> >> I am not sure maybe there are other class browsers that let you see all >> local and inherited methods of a class. >> >> But what you can do with the default browser: >> select a method and choose "Inheritance" from the menu, this opens a >> MessageBrowser with the list of classes >> of the hierarchy, implementing this method. >> >> >> nicolai >> >> >>> >>> Sanjay Minni wrote >>> > Hi >>> > >>> > is there a way to see in the browse all the methods implemented in the >>> > super classes as well, maybe in a different colour, >>> > >>> > i thought it was possible but am unable to find it >>> > >>> > regards >>> > Sanjay >>> >>> >>> >>> >>> >>> ----- >>> --- >>> Regards, Sanjay >>> -- >>> View this message in context: >>> http://forum.world.st/how-to-see-methods-implemented-in-super-classes-tp4826435p4826452.html >>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. >>> >>> > > > > > > ----- > --- > Regards, Sanjay > -- > View this message in context: > http://forum.world.st/how-to-see-methods-implemented-in-super-classes-tp4826435p4826478.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > |
In reply to this post by Sanjay Minni
The problem is that you have to flatten inheritance so this means that
we would have to prefix methods based on the classes because just putting grey does not help. Long time ago there was such browser but it was not really good so we removed it. Now put yourself in inheritance mode and you can quickly browse the superclass. Stef Le 15/5/15 11:16, Sanjay Minni a écrit : > Thanks ... while I can get the hierarchy for a locally implemented method, is > there a way for knowing implemented methods in the super class ? > > The browser in Dolphin from Object-Arts has an option "show inherited > methods" in which it shows all methods incl those in the super class > hierarchy in the regular browser and the source is visible in read only mode > in normal navigation > > <http://forum.world.st/file/n4826478/DolphinBrowser.jpg> > > This to me is a very useful (and vital) feature > > regards > Sanjay > > > > Nicolai Hess wrote >> 2015-05-15 8:56 GMT+02:00 Sanjay Minni < >> sm@ >> >: >> >>> i.e. - can I see the methods defined in the superclass in the circled >>> panel >>> <http://forum.world.st/file/n4826452/Browser.jpg> >>> >>> >> Not in the default browser. >> You can only see the little up-arrow, if the method is defined in this >> class and at least one super class. >> And the arrow is only visible if there are no other icons. >> >> I your example screenshot, "&" and "and:" are both implemented in False >> and >> in the superclass Boolean. >> But only "&" has the up-arrow icon because "and:" already has the test >> runner icon (the circle). >> >> I am not sure maybe there are other class browsers that let you see all >> local and inherited methods of a class. >> >> But what you can do with the default browser: >> select a method and choose "Inheritance" from the menu, this opens a >> MessageBrowser with the list of classes >> of the hierarchy, implementing this method. >> >> >> nicolai >> >> >>> Sanjay Minni wrote >>>> Hi >>>> >>>> is there a way to see in the browse all the methods implemented in the >>>> super classes as well, maybe in a different colour, >>>> >>>> i thought it was possible but am unable to find it >>>> >>>> regards >>>> Sanjay >>> >>> >>> >>> >>> ----- >>> --- >>> Regards, Sanjay >>> -- >>> View this message in context: >>> http://forum.world.st/how-to-see-methods-implemented-in-super-classes-tp4826435p4826452.html >>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. >>> >>> > > > > > ----- > --- > Regards, Sanjay > -- > View this message in context: http://forum.world.st/how-to-see-methods-implemented-in-super-classes-tp4826435p4826478.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > |
In reply to this post by Sanjay Minni
Hello,
I've just started using Pharo again after a few years absence. It is becoming a very nice environment. I completely agree with Sanjay that visibility of inherited methods and protocols is vital for several reasons: * The interface of the class I am editing includes all of its inherited methods. * If i want to over-ride a method, I would like to start from its source code. * I need to see the exact list of superclass protocols, so I can create a new method in the correct one. From memory, when you edited an inherited method in dolphin, it asked you if you wanted to save it in the currently implementing class, or the currently browsed class. An information field near the the source source pane is sufficient to indicate the signature of the method selected like: MyClass class >> #myMethod. It isn't necessary to crowd the method selector list with class names. Greying-out the inherited methods worked as an indicator. You also need the ability to view inherited methods up-to but not including a superclass - so that you can filter out methods of little contextual interest. Filtering out methods form Object would be an example default. From memory IBM Smalltalk allowed similar visibility - but that's a long time ago for me... Dolphin Smalltalk has a very beautiful browser system. It is most definitely worth exploring. Cheers, --Peter Goodall |
You might want to try Calypso.
http://dionisiydk.blogspot.com.au/2016/12/calypso-new-system-browser-for-pharo.html Note this only works for the current trunk of Pharo 6, which you can get via PharoLauncher, or.. http://files.pharo.org/vm/pharo-spur32/ http://files.pharo.org/image/60/ cheers -ben On Tue, Jan 24, 2017 at 6:53 AM, Peter Goodall <[hidden email]> wrote: > Hello, > > I've just started using Pharo again after a few years absence. It is > becoming a very nice environment. > > I completely agree with Sanjay that visibility of inherited methods and > protocols is vital for several reasons: > > * The interface of the class I am editing includes all of its inherited > methods. > * If i want to over-ride a method, I would like to start from its source > code. > * I need to see the exact list of superclass protocols, so I can create a > new method in the correct one. > > From memory, when you edited an inherited method in dolphin, it asked you if > you wanted to save it in the currently implementing class, or the currently > browsed class. > > An information field near the the source source pane is sufficient to > indicate the signature of the method selected like: > MyClass class >> #myMethod. It isn't necessary to crowd the method selector > list with class names. Greying-out the inherited methods worked as an > indicator. > > You also need the ability to view inherited methods up-to but not including > a superclass - so that you can filter out methods of little contextual > interest. Filtering out methods form Object would be an example default. > > From memory IBM Smalltalk allowed similar visibility - but that's a long > time ago for me... > > Dolphin Smalltalk has a very beautiful browser system. It is most definitely > worth exploring. > > Cheers, > --Peter Goodall > > > > -- > View this message in context: http://forum.world.st/how-to-see-methods-implemented-in-super-classes-tp4826435p4930525.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > |
Thanks Ben, Giving it a try. Cheers... On Tue, Jan 24, 2017 at 10:51 AM, Ben Coman [via Smalltalk] <[hidden email]> wrote: You might want to try Calypso. |
In reply to this post by Sanjay Minni
Hi. 2015-05-15 7:01 GMT+02:00 Sanjay Minni <[hidden email]>:
I also always miss it. That's why I add it in Calypso browser from the beginning. And I hope I succeed to made it much more convenient than in other smaltalks. There are many missing features still but I hope to finish main parts in February. |
Free forum by Nabble | Edit this page |