Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gef-dev] Z Order API Change

Randy, I'm /*slap my forehead a few times*/ an idiot... you're right.

I am just using Draw2D, and for some reason I had it in my head that I should not touch the children collection outside of Figure class (like it was some immutable object). Please ignore my post, I'm just going to sit here for a few minutes and feel stupid and then I will fix this in my code. :)

Also, if you want to see a pretty neat screenshot that I did entirely with Draw2D, checkout the post I wrote yesterday for my summer of code project [1]. (Even with a few thousand nodes (nested) it is pretty snappy).

[1] http://irbull.blogspot.com/2007/07/node-goes-up-node-goes-down.html

thanks again Randy and Anthony,
Ian

Randy Hudson wrote:
I couldn't figure out whether Ian was using draw2d alone, or with GEF.  If
you just have a figure, it gives you its children by reference, so nothing
prevents you from moving the children forward or backwards in that list,
and manually invoking the repaint.

It gets more complicated if editparts are involved since the default
implementation always tries to maintain the same order between child
figures and child editparts (which are assumed to be in sync with an
ordered model as well).

-Randy



Anthony Hunter <anthonyh@xxxxxx. com> To Sent by: GEF development gef-dev-bounces@e <gef-dev@xxxxxxxxxxx> clipse.org cc Subject 07/13/2007 08:51 Re: [gef-dev] Z Order API Change AM Please respond to GEF development <gef-dev@eclipse. org>



Hi Ian,

Z-order is something a client would support in his diagram. Since all
diagrams need not support z-order, a breaking API change to the IFigure API
is not appropriate.

Why would you not be able to create your own interface to add to your
figure hierarchy, is something blocking this?

Cheers...
Anthony
--
Anthony Hunter mailto:anthonyh@xxxxxxxxxx
Software Development Manager: Eclipse Open Source Components
IBM Rational Software: Aurora / Modeling Tools
Phone: 613-591-7037



|------------>
| From:      |
|------------>

--------------------------------------------------------------------------------------------------------------------------------------------------|

  |Ian Bull <irbull@xxxxxxxxxx>
|

--------------------------------------------------------------------------------------------------------------------------------------------------|

|------------>
| To:        |
|------------>

--------------------------------------------------------------------------------------------------------------------------------------------------|

  |GEF development <gef-dev@xxxxxxxxxxx>
|

--------------------------------------------------------------------------------------------------------------------------------------------------|

|------------>
| Date:      |
|------------>

--------------------------------------------------------------------------------------------------------------------------------------------------|

  |12/07/2007 02:52 PM
|

--------------------------------------------------------------------------------------------------------------------------------------------------|

|------------>
| Subject:   |
|------------>

--------------------------------------------------------------------------------------------------------------------------------------------------|

  |[gef-dev] Z Order API Change
|

--------------------------------------------------------------------------------------------------------------------------------------------------|






This is more of a development question, rather than a usage question, so
I am posting it here.

I am wondering if the IFigure API can be changed to add a
changeZOrder(IFigure child, int position)?  I have a graph, and when I
select a node I would like it to appear on top. The usual method (remove
the node, then add it back) doesn't work in my case.  I have 25 nodes
(containers) each with 256 children ~= 6400 nodes. Removing a container
(and firing all the listeners, etc...) takes about 1 1/2 seconds, a
considerable lag for a selection.  I have experimented with simply
moving the container in the array of children (then calling invalidate /
repaint) and the performance is much better (since there is no need for
all the notifications)?

I will open a bug report, and even get a patch ready if this is
considered a good idea. However, I have a feeling that GEF doesn't
support this for a reason.

cheers,
Ian


_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/gef-dev


_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/gef-dev


_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/gef-dev




Back to the top