Hello,
I worked on a new extensible inspector for Pharo (written without OB and so usable directly in Pharo-Core). This tool is based on a tree view of objects in which children can be dynamically extended by simple message overriding. Actions per object menu can be also defined dynamically. A definition panel shows a description of the selected object in the tree. A bottom right pane permits to evaluate some code (in which self is bound to the selected object in the tree).
You can load the code from SqueakSource (NewInspector project). See the class extensions (CompiledMethod, OrderedCollection, Set, Dictionary for the moment) to know how to incorporable your needs.
It is a stable but very young version (I started to code yesterday evening ;)). Any feedback is welcome :) Fréd
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
frederick what I would love to have is a
- merge between the explorer and the inspector - get the view inpesctor (flash behavior) - get trippy like navigation (when you select an iv of an element that you can go over all the elements looking only at the iv you selected) - see the morph in the pane when this is a morph :) Stef On Jun 8, 2009, at 10:11 PM, Frederic Pluquet wrote: > Hello, > > I worked on a new extensible inspector for Pharo (written without OB > and so usable directly in Pharo-Core). This tool is based on a tree > view of objects in which children can be dynamically extended by > simple message overriding. Actions per object menu can be also > defined dynamically. A definition panel shows a description of the > selected object in the tree. A bottom right pane permits to evaluate > some code (in which self is bound to the selected object in the tree). > > You can load the code from SqueakSource (NewInspector project). See > the class extensions (CompiledMethod, OrderedCollection, Set, > Dictionary for the moment) to know how to incorporable your needs. > > It is a stable but very young version (I started to code yesterday > evening ;)). Any feedback is welcome :) > > Fréd > ---- > Frédéric Pluquet > Université Libre de Bruxelles (ULB) > Assistant > http://www.ulb.ac.be/di/fpluquet > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hello, frederick what I would love to have is a This is, no ? :)
I don't understand what it means.
You can select an object (an instVar value, a method, ... any item of the tree) and select "Add as root" in the contextual menu (or Cmd-a). You can also delete a root item (menu "Remove from roots" or Cmd-a).
It is not exactly a trippy-like navigation, but you can inspect only some sub-objects if you want.
Good idea but it is no simple to implement (I want to work only with Pluggeable*Spec classes and no directly with Morphs).
Fréd _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Jun 8, 2009, at 10:53 PM, Frederic Pluquet wrote: > Hello, > > frederick what I would love to have is a > - merge between the explorer and the inspector > > This is, no ? :) ok I did not load your code :) > > > - get the view inpesctor (flash behavior) > > I don't understand what it means. you select in your tree an object bring a menu and click flash and oops you see you widgets flashing. Check the viewExplorer... sent in the list by "steven wirts" > > > - get trippy like navigation (when you select an iv of an > element > that you can go over all the elements looking only > at the iv you selected) > > You can select an object (an instVar value, a method, ... any item > of the tree) and select "Add as root" in the contextual menu (or Cmd- > a). You can also delete a root item (menu "Remove from roots" or Cmd- > a). > > It is not exactly a trippy-like navigation, but you can inspect only > some sub-objects if you want. > > > - see the morph in the pane when this is a morph :) > > Good idea but it is no simple to implement (I want to work only with > Pluggeable*Spec classes and no directly with Morphs). > > Fréd > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
It is done in the last published version of NewInspector :) A new menu item "Flash" appears for Morph instances (Cmd-f works also).
Fréd _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
I also added a new child "Submorphs" for any instance of Morph (and subclasses) to inspect directly (and more easily) them.
Fréd
---- Frédéric Pluquet Université Libre de Bruxelles (ULB) Assistant http://www.ulb.ac.be/di/fpluquet On Mon, Jun 8, 2009 at 11:15 PM, Frederic Pluquet <[hidden email]> wrote:
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Frederic Pluquet-3
Hi Frederic,
It looks really good. I tried to used it instead of the Explorer. Few comments: - Unfolding a branch that contains an element with a very very long printOn: seems to freeze the system. I got an error niDescription not found. - I spend a lot of time in unfolding branches to see field content. Maybe field values could be displayed without having to unfold ? Cheers, Alexandre On 8 Jun 2009, at 16:11, Frederic Pluquet wrote: > Hello, > > I worked on a new extensible inspector for Pharo (written without OB > and so usable directly in Pharo-Core). This tool is based on a tree > view of objects in which children can be dynamically extended by > simple message overriding. Actions per object menu can be also > defined dynamically. A definition panel shows a description of the > selected object in the tree. A bottom right pane permits to evaluate > some code (in which self is bound to the selected object in the tree). > > You can load the code from SqueakSource (NewInspector project). See > the class extensions (CompiledMethod, OrderedCollection, Set, > Dictionary for the moment) to know how to incorporable your needs. > > It is a stable but very young version (I started to code yesterday > evening ;)). Any feedback is welcome :) > > Fréd > ---- > Frédéric Pluquet > Université Libre de Bruxelles (ULB) > Assistant > http://www.ulb.ac.be/di/fpluquet > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hello Alex,
On Tue, Jun 9, 2009 at 4:26 PM, Alexandre Bergel <[hidden email]> wrote:
Hi Frederic, Ok, I should limit the size of the generated string (with ... at the end). I got an error niDescription not found. Do you have an example I can reproduce ? - I spend a lot of time in unfolding branches to see field content. Good idea. I'll see what I can do. Cheers, Fréd _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Hi frederic
Here is some feedback - Continue!!! Now could you: - add a class comment to classes. I have to browse the class - categorise the methods. - avoid using category in your package. I do not want to have undocumented new code in pharo. - Instead of fields can you use InstVar Fields is not smalltalkish - when we use an inspector/explorer we can see really fast the value of iv without having to click on something. may be you should propose something classListIndex : 1 - Why when I browse a symbol I do not get #in front? - In some case we have contents what is it? - why when I browse an array I do not get # - roots are not obviously displayed It seems that you lost your symbol openOn: t1 | t2 t3 t4 | t3 := MorphicToolBuilder new. (t4 := (t2 := self new on: t1; yourself) buildWith: t3) openInWorld. ^ t2 Stef On Jun 9, 2009, at 7:31 PM, Frederic Pluquet wrote: > Hello Alex, > > On Tue, Jun 9, 2009 at 4:26 PM, Alexandre Bergel > <[hidden email]> wrote: > Hi Frederic, > > It looks really good. I tried to used it instead of the Explorer. > Few comments: > - Unfolding a branch that contains an element with a very > very long > printOn: seems to freeze the system. > > Ok, I should limit the size of the generated string (with ... at the > end). > > I got an error niDescription not found. > > Do you have an example I can reproduce ? > > - I spend a lot of time in unfolding branches to see field > content. > Maybe field values could be displayed without having to unfold ? > > Good idea. I'll see what I can do. > > Cheers, > > Fréd > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
I know you answer Frederic but I am curious, why not using categories in a package? Or I misunderstood that best, mariano _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Frederic Pluquet-3
> - Unfolding a branch that contains an element with a very
> very long > printOn: seems to freeze the system. > > Ok, I should limit the size of the generated string (with ... at the > end). > > I got an error niDescription not found. > > Do you have an example I can reproduce ? Hum... Load moose, CAnalyzer, then the linux kernel, and open a NewInspector on the model. I checked a bit the code, and apparently this issue will be solved if you limit the size of the generated string. > - I spend a lot of time in unfolding branches to see field > content. > Maybe field values could be displayed without having to unfold ? > > Good idea. I'll see what I can do. Ok, I will be delighted to check it out Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Mariano Martinez Peck
On Jun 9, 2009, at 8:12 PM, Mariano Martinez Peck wrote: > > > - avoid using category in your package. > > > I know you answer Frederic but I am curious, why not using > categories in a package? Or I misunderstood that because we should get rid of them. And also having one category for one class just clutter the space It makes everything complex we have category that are not packages.... all kind of tools support for that. Stef > > > best, > > mariano > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Stéphane Ducasse
On Tue, Jun 9, 2009 at 7:57 PM, Stéphane Ducasse <[hidden email]> wrote: Hi frederic Thanks :) Now could you: Ok done.
Done.
Difficult to do without speak to morphic directly. I must found another way.
Fixed.
Accessible elements of the collection. Changed to "Elements". For dictionaries, you have "Elements" (key => value, inspecting the value) and "Keys" (inspecting the keys objects, having a child "Value" to retrieve the associated value in the dictionary :)).
- why when I browse an array I do not get # ?
Yes, I have some problem with my image... I'll verify all my methods... _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Alexandre Bergel
- the value of each instance variable is shown at left of the name of the inst var. - Descriptions are now limited to 5000 characters. The elements shown in "Elements" of an OrderedCollection are limited to the 500 first ones.Fréd
---- Frédéric Pluquet Université Libre de Bruxelles (ULB) Assistant http://www.ulb.ac.be/di/fpluquet On Tue, Jun 9, 2009 at 9:06 PM, Alexandre Bergel <[hidden email]> wrote:
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Alexandre Bergel
On Wed, Jun 10, 2009 at 2:06 AM, Alexandre Bergel<[hidden email]> wrote:
>> - Unfolding a branch that contains an element with a very >> very long >> printOn: seems to freeze the system. >> >> Ok, I should limit the size of the generated string (with ... at the >> end). >> >> I got an error niDescription not found. >> >> Do you have an example I can reproduce ? > > Hum... Load moose, CAnalyzer, then the linux kernel, and open a > NewInspector on the model. great, you could analyse the linux kernel C code inside Pharo ? -- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Smalltalkers do: [:it | All with: Class, (And love: it)] http://doesnotunderstand.org/ _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Frederic Pluquet-3
>
Excellent! So soon we should only have one tools. > - why when I browse an array I do not get # > > ? I browsed a class and check the class category which should be an array and I got ( ) instead of #( ) > > > - roots are not obviously displayed > > It seems that you lost your symbol > > openOn: t1 > | t2 t3 t4 | > t3 := MorphicToolBuilder new. > (t4 := (t2 := self new on: t1; > yourself) buildWith: > t3) openInWorld. > ^ t2 > > Yes, I have some problem with my image... I'll verify all my > methods... > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by SergeStinckwich
yes
but just parsing no symbol resolution. > >>> - Unfolding a branch that contains an element with a very >>> very long >>> printOn: seems to freeze the system. >>> >>> Ok, I should limit the size of the generated string (with ... at the >>> end). >>> >>> I got an error niDescription not found. >>> >>> Do you have an example I can reproduce ? >> >> Hum... Load moose, CAnalyzer, then the linux kernel, and open a >> NewInspector on the model. > > great, you could analyse the linux kernel C code inside Pharo ? > > -- > Serge Stinckwich > UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam > Smalltalkers do: [:it | All with: Class, (And love: it)] > http://doesnotunderstand.org/ > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Stéphane Ducasse
I commited a new version of NewInspector, with new feartures :
- add progress bar indicator when long collections are inspected (no freeze feeling) - limit the description string of collections to 5000 characters(speed)
- add inst vars as direct children of an object (accessibility and speed) - children of first inspected object opened by default (accessibility and speed) Thanks for your feedback !
Fréd ----Frédéric Pluquet Université Libre de Bruxelles (ULB) Assistant http://www.ulb.ac.be/di/fpluquet _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
When I click on "Methods", the item displayed on the right is not the method dictionary but the parent object.
Could you check that ? Antoine Le 10-juin-09 à 10:49, Frederic Pluquet a écrit : I commited a new version of NewInspector, with new feartures : _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
It happens as well for Implementors, Elements, ...
Le 10-juin-09 à 11:59, Antoine Marot a écrit :
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |