Class hierarchy topology

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Class hierarchy topology

Sebastian Sastre-2
Hi there,

        after about a year of switching from Dolphin Smalltalk to Squeak as
main development platform I still miss to see the hierarchy of classes as
primary way to navigate the classes in the image.

        Searching the web I've found Whiskler Browser seems to have (at
least for classes) the kind of view I miss but I was unable to make it work
in the 3.10 nor 3.9 images. It loads but when I want to browse a class it
brings a debugger with: MultiSelectHierarchicalListMorph DNU
totalScrollRange

        I love to see the categories *and* hierarchy in, unlike the alt-h
browser, a dynamic navigational way. It helps me to think about the topology
in a way categorized classes will never do. It's a birds eye view which I
need so I can understand the forest shape instead of seeing just groups of
trees. I think the two views are very important for ST developers.

        Have I alternatives to whisker?

        Other browsers that uses as main class navigation pane a tree kind
of view (ala explorer)?

        thanks,

Sebastian Sastre
PD: until now I'm using standard tools plus autocompletion and shout

 


Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

Colin Putney

On 5-Feb-08, at 12:30 PM, Sebastian Sastre wrote:

> Other browsers that uses as main class navigation pane a tree kind
> of view (ala explorer)?

OmniBrowser doesn't use a tree widget, but it does using indenting to  
indicate the inheritance hierarchy. I quite like it.

Colin

Reply | Threaded
Open this post in threaded view
|

RE: Class hierarchy topology

Sebastian Sastre-2
Hi Colin,

        I'm not yet familiar to OmniBrowser but I read that it's a framework
to make browsers. Do you think could be feasible to make a variant of it so
it have a tree view instead of the idented one?

        cheers,

Sebastian Sastre


> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En
> nombre de Colin Putney
> Enviado el: Miércoles, 06 de Febrero de 2008 03:43
> Para: The general-purpose Squeak developers list
> Asunto: Re: Class hierarchy topology
>
>
> On 5-Feb-08, at 12:30 PM, Sebastian Sastre wrote:
>
> > Other browsers that uses as main class navigation pane
> a tree kind of
> > view (ala explorer)?
>
> OmniBrowser doesn't use a tree widget, but it does using
> indenting to indicate the inheritance hierarchy. I quite like it.
>
> Colin
>


Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

Alain Plantec
In reply to this post by Sebastian Sastre-2
On Tuesday 05 February 2008 21:30, Sebastian Sastre wrote:

> Hi there,
>
> after about a year of switching from Dolphin Smalltalk to Squeak as
> main development platform I still miss to see the hierarchy of classes as
> primary way to navigate the classes in the image.
>
> Searching the web I've found Whiskler Browser seems to have (at
> least for classes) the kind of view I miss but I was unable to make it work
> in the 3.10 nor 3.9 images. It loads but when I want to browse a class it
> brings a debugger with: MultiSelectHierarchicalListMorph DNU
> totalScrollRange
>
> I love to see the categories *and* hierarchy in, unlike the alt-h
> browser, a dynamic navigational way. It helps me to think about the
> topology in a way categorized classes will never do. It's a birds eye view
> which I need so I can understand the forest shape instead of seeing just
> groups of trees. I think the two views are very important for ST
> developers.
>
> Have I alternatives to whisker?
you can try Tamaris.
alain
>
> Other browsers that uses as main class navigation pane a tree kind
> of view (ala explorer)?
>
> thanks,
>
> Sebastian Sastre
> PD: until now I'm using standard tools plus autocompletion and shout

Reply | Threaded
Open this post in threaded view
|

RE: Class hierarchy topology

Sebastian Sastre-2
I'm starting to use it. I think it do the job,

        thanks!

Sebastian Sastre


> -----Mensaje original-----
> De: [hidden email]
> [mailto:[hidden email]] En
> nombre de Alain Plantec
> Enviado el: Miércoles, 06 de Febrero de 2008 13:17
> Para: The general-purpose Squeak developers list
> Asunto: Re: Class hierarchy topology
>
> On Tuesday 05 February 2008 21:30, Sebastian Sastre wrote:
> > Hi there,
> >
> > after about a year of switching from Dolphin Smalltalk
> to Squeak as
> > main development platform I still miss to see the hierarchy
> of classes
> > as primary way to navigate the classes in the image.
> >
> > Searching the web I've found Whiskler Browser seems to
> have (at least
> > for classes) the kind of view I miss but I was unable to
> make it work
> > in the 3.10 nor 3.9 images. It loads but when I want to
> browse a class
> > it brings a debugger with: MultiSelectHierarchicalListMorph DNU
> > totalScrollRange
> >
> > I love to see the categories *and* hierarchy in, unlike
> the alt-h
> > browser, a dynamic navigational way. It helps me to think about the
> > topology in a way categorized classes will never do. It's a
> birds eye
> > view which I need so I can understand the forest shape instead of
> > seeing just groups of trees. I think the two views are very
> important
> > for ST developers.
> >
> > Have I alternatives to whisker?
> you can try Tamaris.
> alain
> >
> > Other browsers that uses as main class navigation pane
> a tree kind of
> > view (ala explorer)?
> >
> > thanks,
> >
> > Sebastian Sastre
> > PD: until now I'm using standard tools plus autocompletion and shout
>


Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

David Röthlisberger
In reply to this post by Sebastian Sastre-2

> I'm not yet familiar to OmniBrowser but I read that it's a framework
> to make browsers. Do you think could be feasible to make a variant of it so
> it have a tree view instead of the idented one?

Isn't Juraj Kubelka working on that? I think he has implemented a tree view for
OmniBrowser.
He can certainly tell you more.

David

Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

Juraj Kubelka-3
Hi!

OK. I will merge my changes back to OB repository and anyone can play with it. But there are conceptual issues I haven't solved yet. I will merge it by tomorrow and post some notes.

Jura


On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]> wrote:

>       I'm not yet familiar to OmniBrowser but I read that it's a framework
> to make browsers. Do you think could be feasible to make a variant of it so
> it have a tree view instead of the idented one?

Isn't Juraj Kubelka working on that? I think he has implemented a tree view for
OmniBrowser.
He can certainly tell you more.

David



Reply | Threaded
Open this post in threaded view
|

RE: Class hierarchy topology

Sebastian Sastre-2
Ahh this is good news. A traditional browser with a tree view will be
refreshing. In fact the Whisker browser has an excelent left part. If you
see a Whisker browser it uses the entire left vertical pane to show you the
hierarchy in a tree view and a tree view of categorized classes, so you use
the most convenient path to reach your interest. The rest of whisker I don't
like. The stack of code and class details moving by stacking here and there
is just too distractive. You need fix things to think deep. It also have a
very poor contrast so it promotes eye exaustion quickly. Also you loose
shout coulouring.

Ideal for me will be a browser like the one we have but instead of the
classes categories it could have the left of whisker using the whole
vertical size. I prefer to be able to reach classes from categories *and*
hierarchy by loosing some surface for code than poor classes accessibility
an a lot of, most of the time, sub-used surface for 1-4 lines of code in 90%
of code.

Pragmatical conclusion: the actual browser with a tree view would be a step
forward,

        cheers,
 
Sebastian Sastre



________________________________

        De: [hidden email]
[mailto:[hidden email]] En nombre de Juraj
Kubelka
        Enviado el: Viernes, 08 de Febrero de 2008 11:42
        Para: David Röthlisberger
        CC: The general-purpose Squeak developers list
        Asunto: Re: Class hierarchy topology
       
       
        Hi!

        OK. I will merge my changes back to OB repository and anyone can
play with it. But there are conceptual issues I haven't solved yet. I will
merge it by tomorrow and post some notes.

        Jura


        On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]> wrote:
       


                >       I'm not yet familiar to OmniBrowser but I read that
it's a framework
                > to make browsers. Do you think could be feasible to make a
variant of it so
                > it have a tree view instead of the idented one?
               
               
                Isn't Juraj Kubelka working on that? I think he has
implemented a tree view for
                OmniBrowser.
                He can certainly tell you more.
               
                David
               




Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

David Röthlisberger
In reply to this post by Juraj Kubelka-3

 > OK. I will merge my changes back to OB repository and anyone can play
 > with it. But there are conceptual issues I haven't solved yet.

I would be interested in knowing what these issues are?

David

 > On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]
 > <mailto:[hidden email]>> wrote:
 >
 >
 >      >       I'm not yet familiar to OmniBrowser but I read that it's a
 >     framework
 >      > to make browsers. Do you think could be feasible to make a
 >     variant of it so
 >      > it have a tree view instead of the idented one?
 >
 >     Isn't Juraj Kubelka working on that? I think he has implemented a
 >     tree view for
 >     OmniBrowser.
 >     He can certainly tell you more.
 >
 >     David
 >
 >



Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

Petr Polasek
On 2/9/08, David Röthlisberger <[hidden email]> wrote:

>
>  > OK. I will merge my changes back to OB repository and anyone can play
>  > with it. But there are conceptual issues I haven't solved yet.
>
> I would be interested in knowing what these issues are?
>
> David
>
>  > On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]
>  > <mailto:[hidden email]>> wrote:
>  >
>  >
>  >      >       I'm not yet familiar to OmniBrowser but I read that it's a
>  >     framework
>  >      > to make browsers. Do you think could be feasible to make a
>  >     variant of it so
>  >      > it have a tree view instead of the idented one?
>  >
>  >     Isn't Juraj Kubelka working on that? I think he has implemented a
>  >     tree view for
>  >     OmniBrowser.
>  >     He can certainly tell you more.
>  >
>  >     David
>  >
>  >
>
>
>
>

--
Sent from Gmail for mobile | mobile.google.com

Reply | Threaded
Open this post in threaded view
|

RE: Class hierarchy topology

Sebastian Sastre-2
In reply to this post by Juraj Kubelka-3
Hi Jura,

        can you specify the repository you mention so I can take a look?

        thanks,
 
Sebastian Sastre


________________________________

        De: [hidden email]
[mailto:[hidden email]] En nombre de Juraj
Kubelka
        Enviado el: Viernes, 08 de Febrero de 2008 11:42
        Para: David Röthlisberger
        CC: The general-purpose Squeak developers list
        Asunto: Re: Class hierarchy topology
       
       
        Hi!

        OK. I will merge my changes back to OB repository and anyone can
play with it. But there are conceptual issues I haven't solved yet. I will
merge it by tomorrow and post some notes.

        Jura


        On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]> wrote:
       


                >       I'm not yet familiar to OmniBrowser but I read that
it's a framework
                > to make browsers. Do you think could be feasible to make a
variant of it so
                > it have a tree view instead of the idented one?
               
               
                Isn't Juraj Kubelka working on that? I think he has
implemented a tree view for
                OmniBrowser.
                He can certainly tell you more.
               
                David
               




Reply | Threaded
Open this post in threaded view
|

Re: Class hierarchy topology

Juraj Kubelka-3
Hi Sebastian,

sorry, I am late. There was a really sunny weather :-)

So, about my work, results and issues:


 1. Source codes:
    - packages:
      - OmniBrowser-jk.408
      - OB-Morphic-lr.45
      - OB-Standard-jk.325
      - OB-TraitsIntegration-jk.41
    - packages with sUnit tests (necessary because of tests in
      OB-TraitsIntegration-jk.41)
      - OB-Tests-Core-cwp.65
      - OB-Fake-lr.9
      - Bogus-cwp.18
      - BogusInfo-cwp.17
      - OB-Tests-Standard-dr.86

 2. Check out:
    - OBTraitsBrowser openOnClass: ClassDescription selector: #addInstVarName:.
    - OBTraitsBrowser openOnClass: ClassDescription.

 3. Basic implementation motivation
    - It is possible to set tree navigation for an OBMetaEdge. 
      See: OBTraitMetagraphBuilder>>populateTraitFilterInTree

      There is a new property for OBMetaEdge called navigate (instvar)
      and new classes OBDefaultEdgeNavigation and OBTreeEdgeNavigation
      which defines navigation. Every OBNode has also instvar
      navigate. It is set during children gathering (see
      OBMetaEdge>>nodesForParent:). So, how it works:

      If `OBTraitsBrowser openOnClass: ClassDescription` is executed,
      a Subtree collects OBFan(s). After that OBColumn(s) is/are
      adjusted (see OBSubtree>>selectInColumns:). There are some
      changes. Every column is responsible for adjusting of next
      column (see #nextColumnWithFan:selection:,
      #columnAfter:withFan:selection:). An OBNode's navigate instvar
      helps do decide which navigation to use (see
      OBFan>>columnAfter:selection:).

      There is OBTreeColumn instead of OBColumn which can hold more
      fans (OBFan).

 4. The present state and issues
    
    Generally it works except switches. There is a lot of garbage,
    which may breaks something, but after clarifying of some issues i
    am planning to write everything from scratch again (i mean tree
    navigation part).

    1. Switches

       Actually I do not know how to handle switches (e.g. buttons |
       instance | ? | class |). There are 3 basic situations:

       1. node has only default edges (no tree edges)

          There is no problem. It behaves just like now. Buttons are
          in column with the node as parent node.

       2. node has both default and tree edges

          I have no idea how to handle it. Ignore tree edges?
          Duplicate buttons?

       3. node has only tree edges

          It is quite clear i think. Buttons are displayed if parent
          node is selected in the parent node's column.

    2. OBColumn vs. OBTreeColumn (Tree navigation in core OmniBrowser
       package)

       If it is wanted to integrate tree navigation to the core,
       OBTreeColumn should be dissolved to OBColumn. And the same with
       a view presentation (a Morphic classes). Should i focus on it?
       Do we want to have a tree capable morph as default graphic
       representation?

Thanks for any comments.
Jura


On Feb 11, 2008 1:39 PM, Sebastian Sastre <[hidden email]> wrote:
Hi Jura,

       can you specify the repository you mention so I can take a look?

       thanks,

Sebastian Sastre


________________________________

       De: [hidden email]
[mailto:[hidden email]] En nombre de Juraj
Kubelka
       Enviado el: Viernes, 08 de Febrero de 2008 11:42
       Para: David Röthlisberger
       CC: The general-purpose Squeak developers list
       Asunto: Re: Class hierarchy topology


       Hi!

       OK. I will merge my changes back to OB repository and anyone can
play with it. But there are conceptual issues I haven't solved yet. I will
merge it by tomorrow and post some notes.

       Jura


       On Feb 8, 2008 2:17 PM, David Röthlisberger <[hidden email]> wrote:



               >       I'm not yet familiar to OmniBrowser but I read that
it's a framework
               > to make browsers. Do you think could be feasible to make a
variant of it so
               > it have a tree view instead of the idented one?


               Isn't Juraj Kubelka working on that? I think he has
implemented a tree view for
               OmniBrowser.
               He can certainly tell you more.

               David