In this video, I’d like to show you a tip with Nautilus.
And just for you to know: Nautilus is the submarine name
in Jules Verne’s “20 000 Leagues Under the Sea”
Nautilus enables to navigate under the seas so it suits
very very well to Pharo.
Let’s have a look to the OrderedCollection class.
It is defined in the Collection-Sequenceable package.
In this package, there are several core classes of the system.
There is the Array class, the Interval class, LinkedList class.
I can see that in the package there is
the OrderedCollection class which has a sub-class, SortedCollection.
Now what I can also see,
which is not expressed in a graphical way,
it is that OrderedCollection is a sub-class of SequenceableCollection.
Sometimes, I would like to
navigate inside the super-class in order to see which
methods are redefined or this kind of thing.
To do this, I click on Inheritance.
Hence, I see the hierarchy, I see the super-class
of OrderedCollection, SequenceableCollection and its hierarchy.
I also see that there are other sub-classes of OrderedCollection
in other packages, and I see that
SortedCollection is a sub-class of OrderedCollection,
this is in black, I am still in the package
containing OrderedCollection.
So, like this, I can browse, and see
the methods which are in other packages.
Now, if I unselect this mode while I’m on
the super-class, what will I see?
I will see the class package.
So, the SequenceableCollection class is in the
Collection-Abstract package.
So now if I ask again to see the inheritance,
I will see all the sub-classes and super-classes
inheritance of SequenceableCollection.
I see that SequenceableCollection inherits from
Collection in the same package, that it defines in the same
package ArrayedCollection. I see that the hierarchy is
is quite big, so normally I should find
somewhere OrderedCollection, and OrderedCollection is here.
Now if I select again OrderedCollection and I
click again on Inheritance, I will go back into
the original package, Sequenceable.
And we are back to the start.
What you’ve seen there is that Nautilus will
enable you to browse the inheritance ignoring
packages, while showing in which package you are browsing.