Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF » OK I'll start the ball rolling...
OK I'll start the ball rolling... [message #1881] Thu, 16 May 2002 17:14 Go to next message
Jeff Turnham is currently offline Jeff TurnhamFriend
Messages: 67
Registered: July 2009
Member
Hi,

Just wondering if anyone is working on what I guess would be called a "GraphLayout" that could be used to layout
components in an abstract graph. Typical example is in the CDT (C/C++ Development Tools) we have a model that stores
information about class inheritance. Ideally we would like to just walk our model creating the appropriate figures and
arcs, and be able to use a "GraphLayout" to do all the real work of presentation.

Thanks...

Jeff.
Re: OK I'll start the ball rolling... [message #1896 is a reply to message #1881] Thu, 16 May 2002 17:29 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: none.ibm.com

We would like to have such a feature in GEF.

I would *guess* that what you want is a used invoked action that positions
the nodes and bends the arcs, and the user could then move things around.
This type of feature would be implemented differently than if you wanted it
to be automatic ALL the time.

An automatic graph layout could be implemented as a draw2d LayoutManager and
a corresponding ConnectionRouter. The manual layout could be implemented as
an Action that generates new XY constraints for the existing XY Layout and
bendpoints for the existing BendpointRouter.

IBM has some open source code already for doing this. Perhaps someone wants
to port it to GEF?

"Jeff Turnham" <turnham@ca.ibm.com> wrote in message
news:ac0ovs$au$1@rogue.oti.com...
> Hi,
>
> Just wondering if anyone is working on what I guess would be called a
"GraphLayout" that could be used to layout
> components in an abstract graph. Typical example is in the CDT (C/C++
Development Tools) we have a model that stores
> information about class inheritance. Ideally we would like to just walk
our model creating the appropriate figures and
> arcs, and be able to use a "GraphLayout" to do all the real work of
presentation.
>
> Thanks...
>
> Jeff.
>
>
Re: OK I'll start the ball rolling... [message #1988 is a reply to message #1896] Thu, 16 May 2002 19:42 Go to previous messageGo to next message
Jeff Turnham is currently offline Jeff TurnhamFriend
Messages: 67
Registered: July 2009
Member
I'd be content with the Automatic layout as long as the support for Zooming, Navigating and Searching support was top
notch.

Jeff.
"Randy Hudson" <none@ibm.com> wrote in message news:ac0pmt$mr$1@rogue.oti.com...
> We would like to have such a feature in GEF.
>
> I would *guess* that what you want is a used invoked action that positions
> the nodes and bends the arcs, and the user could then move things around.
> This type of feature would be implemented differently than if you wanted it
> to be automatic ALL the time.
>
> An automatic graph layout could be implemented as a draw2d LayoutManager and
> a corresponding ConnectionRouter. The manual layout could be implemented as
> an Action that generates new XY constraints for the existing XY Layout and
> bendpoints for the existing BendpointRouter.
>
> IBM has some open source code already for doing this. Perhaps someone wants
> to port it to GEF?
>
> "Jeff Turnham" <turnham@ca.ibm.com> wrote in message
> news:ac0ovs$au$1@rogue.oti.com...
> > Hi,
> >
> > Just wondering if anyone is working on what I guess would be called a
> "GraphLayout" that could be used to layout
> > components in an abstract graph. Typical example is in the CDT (C/C++
> Development Tools) we have a model that stores
> > information about class inheritance. Ideally we would like to just walk
> our model creating the appropriate figures and
> > arcs, and be able to use a "GraphLayout" to do all the real work of
> presentation.
> >
> > Thanks...
> >
> > Jeff.
> >
> >
>
>
Re: OK I'll start the ball rolling... [message #2041 is a reply to message #1988] Thu, 16 May 2002 19:55 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: none.ibm.com

Are you sure? In multiple inheritance cases the algorithm won't really know
what the "primary" superclass is, and the subtype will get positioned pretty
much randomly.


"Jeff Turnham" <turnham@ca.ibm.com> wrote in message
news:ac11lp$4lf$1@rogue.oti.com...
> I'd be content with the Automatic layout as long as the support for
Zooming, Navigating and Searching support was top
> notch.
>
> Jeff.
> "Randy Hudson" <none@ibm.com> wrote in message
news:ac0pmt$mr$1@rogue.oti.com...
> > We would like to have such a feature in GEF.
> >
> > I would *guess* that what you want is a used invoked action that
positions
> > the nodes and bends the arcs, and the user could then move things
around.
> > This type of feature would be implemented differently than if you wanted
it
> > to be automatic ALL the time.
> >
> > An automatic graph layout could be implemented as a draw2d LayoutManager
and
> > a corresponding ConnectionRouter. The manual layout could be implemented
as
> > an Action that generates new XY constraints for the existing XY Layout
and
> > bendpoints for the existing BendpointRouter.
> >
> > IBM has some open source code already for doing this. Perhaps someone
wants
> > to port it to GEF?
> >
> > "Jeff Turnham" <turnham@ca.ibm.com> wrote in message
> > news:ac0ovs$au$1@rogue.oti.com...
> > > Hi,
> > >
> > > Just wondering if anyone is working on what I guess would be called a
> > "GraphLayout" that could be used to layout
> > > components in an abstract graph. Typical example is in the CDT (C/C++
> > Development Tools) we have a model that stores
> > > information about class inheritance. Ideally we would like to just
walk
> > our model creating the appropriate figures and
> > > arcs, and be able to use a "GraphLayout" to do all the real work of
> > presentation.
> > >
> > > Thanks...
> > >
> > > Jeff.
> > >
> > >
> >
> >
>
>
Re: OK I'll start the ball rolling... [message #2069 is a reply to message #2041] Thu, 16 May 2002 20:54 Go to previous messageGo to next message
Jeff Turnham is currently offline Jeff TurnhamFriend
Messages: 67
Registered: July 2009
Member
Hmm...well I don't want to get into a full-fledged design discussion since I'm really only asking this for interest's
sake,
but I'm not sure what you mean by "primary superclass". If you mean a class that doesn't derive from any others
wouldn't that be trivial for the algorithm to figure out (non-existence of "inherits from" arcs)? Maybe I'm missing
something as I have no experience implementing this type of thing. What I'm picturing is a view that can take either a
Project or a Class as input.

When a project is the input, the view shows all the classes with directional arcs representing inheritance. In this
case I don't really care about how what part of the graph I'm currently looking at as long as I have the ability zoom
in\out, move around, and search to find the particular class I care about. Once thing to note: this graph will almost
definitely be disconnected since it is not common for a non-trivial C++ project to only have a single class hierarchy
(not like languages like Java where everything derives from Object). When a class is the input to the view, I would
expect the node representing the class to be centered in the view and all classes that are not connected to this class
by inheritance to be "hidden".

I guess I'm not sure where the separation of work would be between GEF, draw2d and the provider of the figures and arcs,
but I haven't played with GEF at all, so don't feel the need to explain something I could learn from the docs and
experimentation.

Jeff.

"Randy Hudson" <none@ibm.com> wrote in message news:ac1279$4tu$1@rogue.oti.com...
> Are you sure? In multiple inheritance cases the algorithm won't really know
> what the "primary" superclass is, and the subtype will get positioned pretty
> much randomly.
>
>
> "Jeff Turnham" <turnham@ca.ibm.com> wrote in message
> news:ac11lp$4lf$1@rogue.oti.com...
> > I'd be content with the Automatic layout as long as the support for
> Zooming, Navigating and Searching support was top
> > notch.
> >
> > Jeff.
> > "Randy Hudson" <none@ibm.com> wrote in message
> news:ac0pmt$mr$1@rogue.oti.com...
> > > We would like to have such a feature in GEF.
> > >
> > > I would *guess* that what you want is a used invoked action that
> positions
> > > the nodes and bends the arcs, and the user could then move things
> around.
> > > This type of feature would be implemented differently than if you wanted
> it
> > > to be automatic ALL the time.
> > >
> > > An automatic graph layout could be implemented as a draw2d LayoutManager
> and
> > > a corresponding ConnectionRouter. The manual layout could be implemented
> as
> > > an Action that generates new XY constraints for the existing XY Layout
> and
> > > bendpoints for the existing BendpointRouter.
> > >
> > > IBM has some open source code already for doing this. Perhaps someone
> wants
> > > to port it to GEF?
> > >
> > > "Jeff Turnham" <turnham@ca.ibm.com> wrote in message
> > > news:ac0ovs$au$1@rogue.oti.com...
> > > > Hi,
> > > >
> > > > Just wondering if anyone is working on what I guess would be called a
> > > "GraphLayout" that could be used to layout
> > > > components in an abstract graph. Typical example is in the CDT (C/C++
> > > Development Tools) we have a model that stores
> > > > information about class inheritance. Ideally we would like to just
> walk
> > > our model creating the appropriate figures and
> > > > arcs, and be able to use a "GraphLayout" to do all the real work of
> > > presentation.
> > > >
> > > > Thanks...
> > > >
> > > > Jeff.
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Re: OK I'll start the ball rolling... [message #2084 is a reply to message #2069] Thu, 16 May 2002 22:28 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: none.ibm.com

Imagine you have:
MyButton
extends Button
implements Serializable {}

The user might want MyButton to be positioned under the node Button, but the
algorithm might place it under Serializable, which is really just a mix-in
class.

Single inheritance is probably very easy to do. I don't have any experience
either in implementing graph layout either.
Re: OK I'll start the ball rolling... [message #2096 is a reply to message #2084] Fri, 17 May 2002 00:20 Go to previous messageGo to next message
Jeff Turnham is currently offline Jeff TurnhamFriend
Messages: 67
Registered: July 2009
Member
Ahh OK I see what you mean...That's not really an issue for us in C++. In C++, MyButton would look like this:

class MyButton: public Button, public Serializable {};

Both of these Base Classes are the same "type" of inheritance. The difference between specialization, composition,
implementing intefaces, etc is not enforced (and easy to abuse) in C++. Perhaps distinguishing between public, private
and protected inheritance could be something that would make sense, but I assume that could be done with different types
of arcs.

Jeff.

"Randy Hudson" <none@ibm.com> wrote in message news:ac1b6f$8pd$1@rogue.oti.com...
> Imagine you have:
> MyButton
> extends Button
> implements Serializable {}
>
> The user might want MyButton to be positioned under the node Button, but the
> algorithm might place it under Serializable, which is really just a mix-in
> class.
>
> Single inheritance is probably very easy to do. I don't have any experience
> either in implementing graph layout either.
>
>
Re: OK I'll start the ball rolling... [message #2138 is a reply to message #1896] Fri, 17 May 2002 04:27 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: bob.objfac.com

> IBM has some open source code already for doing this. Perhaps someone
wants
> to port it to GEF?

What code is that?

Bob
Re: OK I'll start the ball rolling... [message #9580 is a reply to message #1896] Tue, 11 June 2002 18:59 Go to previous messageGo to next message
David J. Orme is currently offline David J. OrmeFriend
Messages: 291
Registered: July 2009
Senior Member
Randy Hudson wrote:
> IBM has some open source code already for doing this. Perhaps someone wants
> to port it to GEF?

I might be interested at some point in the near future; can you tell me
where to find this code?

--
Dave Orme
Advanced Systems Concepts
http://www.asc-iseries.com
Re: OK I'll start the ball rolling... [message #9599 is a reply to message #9580] Tue, 11 June 2002 19:04 Go to previous message
Eclipse UserFriend
Originally posted by: none.ibm.com

alphaworks.
Search for "GLF" and "GFC".

"David J. Orme" <daveo@asc-iseries.com> wrote in message
news:3D0648A6.2070107@asc-iseries.com...
> Randy Hudson wrote:
> > IBM has some open source code already for doing this. Perhaps someone
wants
> > to port it to GEF?
>
> I might be interested at some point in the near future; can you tell me
> where to find this code?
>
> --
> Dave Orme
> Advanced Systems Concepts
> http://www.asc-iseries.com
>
Previous Topic:Weird CreationTool behaviour
Next Topic:ManhattanConnectionRouter revisited
Goto Forum:
  


Current Time: Sat Sep 14 11:53:38 GMT 2024

Powered by FUDForum. Page generated in 0.06006 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top