Skip to main content



      Home
Home » Eclipse Projects » GEF » Connections between nodes which are contained in containers
Connections between nodes which are contained in containers [message #58566] Tue, 28 January 2003 07:19 Go to next message
Eclipse UserFriend
This is a multi-part message in MIME format.

------=_NextPart_000_0011_01C2C6CF.F05E5880
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0012_01C2C6CF.F05E5880"


------=_NextPart_001_0012_01C2C6CF.F05E5880
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

I have problems with connections between nodes which are not contained =
in top level EditPart (are not contained direct in RootEditPart's =
child). As you can see in attached picture there are two problematic use =
ceses.

Use case 1 - nodes are not in the same container
1.. create Container
2.. create node 1 at the top level EditPart
3.. create node 2 in the Container created in step 1
4.. create connection from node 1 to node 2
5.. move/resize Container (method refresh is invoked)
Use case 2 - nodes are in the same container but not top level
1.. create Container
2.. create node 1 in the Container created in step 1
3.. create node 2 in the Container created in step 1
4.. create connection from node 1 to node 2
5.. move/resize Container (method refresh is invoked)
The picture shows both use cases in two states - before step number 5 =
and after step number 5.
For first use case step 5 cause that connection starts in node 1 and =
ends in the position 100,100 (I don't know why).
For second use case step 5 cause that connection is unvisible and =
another move/resize (method refresh invokation) throws following =
exception.
During the trace I discovered some problems with Connection Layer.

Any ideas?
Thans.

java.lang.IllegalArgumentException: IWAG0003E Figure is not a child of =
this parent
at org.eclipse.draw2d.Figure.remove(Figure.java:897)
at org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0)
at org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)
at =
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)
at =
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)
at =
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)
------=_NextPart_001_0012_01C2C6CF.F05E5880
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 6.00.2800.1126" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2>I have problems with connections =
between nodes=20
which are not contained in top level&nbsp;EditPart (are not contained=20
direct&nbsp;in&nbsp;RootEditPart's child). As you can see in attached =
picture=20
there are two problematic use ceses.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 1 - nodes are not in =
the same=20
container</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2>create =
<STRONG>Container</STRONG></FONT></LI>
<LI><FONT face=3DArial size=3D2>create node <STRONG>1 </STRONG>at the =
top level=20
EditPart</FONT></LI>
<LI><FONT face=3DArial size=3D2>create node <STRONG>2</STRONG> in the=20
<STRONG>Container</STRONG> created in step 1</FONT></LI>
<LI><FONT face=3DArial size=3D2>create connection from node =
<STRONG>1</STRONG> to=20
node <STRONG>2</STRONG></FONT></LI>
<LI><FONT face=3DArial size=3D2>move/resize <STRONG>Container</STRONG> =
(method=20
refresh is invoked)</FONT></LI></OL>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 2 - nodes are in the =
same=20
container but not top level</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create=20
<STRONG>Container</STRONG></FONT></FONT></LI>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node <STRONG>1=20
</STRONG>in the <STRONG>Container</STRONG> created in step=20
1</FONT></FONT></LI>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node=20
<STRONG>2</STRONG> in the <STRONG>Container</STRONG> created in step=20
1</FONT></FONT></LI>
<LI><FONT size=3D2><FONT face=3DArial>create connection from node=20
<STRONG>1</STRONG> to node <STRONG>2</STRONG></FONT></FONT></LI>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial =
size=3D2>move/resize=20
<STRONG>Container</STRONG>&nbsp;(method refresh is =
invoked)</FONT></LI></OL>
<DIV>The picture shows both use cases in two states -&nbsp;before step =
number 5=20
and after step number 5.</DIV>
<DIV>For first use case step 5 cause that connection starts in node 1 =
and ends=20
in the position 100,100 (I don't know why).</DIV>
<DIV>For second use case step 5 cause that connection is unvisible and =
another=20
move/resize (method&nbsp;refresh invokation) throws following =
exception.</DIV>
<DIV>During the trace I discovered some problems with Connection =
Layer.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Any ideas?</DIV>
<DIV>Thans.</DIV>
<DIV>&nbsp;</DIV>
<DIV>java.lang.IllegalArgumentException: IWAG0003E Figure is not a child =
of this=20
parent<BR>&nbsp;at =
org.eclipse.draw2d.Figure.remove(Figure.java:897)<BR>&nbsp;at=20
org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0) <BR>&nbsp;a=
t=20
org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53) <BR>&nb=
sp;at=20
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)<BR>&nbsp;at=20
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)</DIV></FONT></BODY></HTML>

------=_NextPart_001_0012_01C2C6CF.F05E5880--

------=_NextPart_000_0011_01C2C6CF.F05E5880
Content-Type: image/gif;
name="link_bug.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="link_bug.gif"

R0lGODdhlgEWAfcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8EAg AGAgAIAgAKAgAMAg
AOAgAABAACBAAEBAAGBAAIBAAKBAAMBAAOBAAABgACBgAEBgAGBgAIBgAKBg AMBgAOBgAACAACCA
AECAAGCAAICAAKCAAMCAAOCAAACgACCgAECgAGCgAICgAKCgAMCgAOCgAADA ACDAAEDAAGDAAIDA
AKDAAMDAAODAAADgACDgAEDgAGDgAIDgAKDgAMDgAODgAAAAQCAAQEAAQGAA QIAAQKAAQMAAQOAA
QAAgQCAgQEAgQGAgQIAgQKAgQMAgQOAgQABAQCBAQEBAQGBAQIBAQKBAQMBA QOBAQABgQCBgQEBg
QGBgQIBgQKBgQMBgQOBgQACAQCCAQECAQGCAQICAQKCAQMCAQOCAQACgQCCg QECgQGCgQICgQKCg
QMCgQOCgQADAQCDAQEDAQGDAQIDAQKDAQMDAQODAQADgQCDgQEDgQGDgQIDg QKDgQMDgQODgQAAA
gCAAgEAAgGAAgIAAgKAAgMAAgOAAgAAggCAggEAggGAggIAggKAggMAggOAg gABAgCBAgEBAgGBA
gIBAgKBAgMBAgOBAgABggCBggEBggGBggIBggKBggMBggOBggACAgCCAgECA gGCAgICAgKCAgMCA
gOCAgACggCCggECggGCggICggKCggMCggOCggADAgCDAgEDAgGDAgIDAgKDA gMDAgODAgADggCDg
gEDggGDggIDggKDggMDggODggAAAwCAAwEAAwGAAwIAAwKAAwMAAwOAAwAAg wCAgwEAgwGAgwIAg
wKAgwMAgwOAgwABAwCBAwEBAwGBAwIBAwKBAwMBAwOBAwABgwCBgwEBgwGBg wIBgwKBgwMBgwOBg
wACAwCCAwECAwGCAwICAwKCAwMCAwOCAwACgwCCgwECgwGCgwICgwKCgwMCg wOCgwADAwCDAwEDA
wGDAwIDAwKDAwP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAA AAAALAAAAACWARYB
AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmy pMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqPQoAgMCmMaEunUq1qkqp Ul02dWq1q9evGrFy
3cr1H1mDWwemfbrWbFu2WcHKnUsXoVi3bPHqzQt1rNO7d9XurUu48FfAbcnG jeu2b2LFaMs+VEy5
suXLmDNr3ozZ8EnOoEOLHp2ZYuDGfyUTXJxabVrGBWEzBECutu3buHPr3s27 t+/fvlV7DkkbuPHj
yJMDF+4QMV+/q1s71jt9cN6IxZVr386dN/PhHrN3/x9PPvn3hmfhlk0fff1a 9uyjSxRfvr593efB
b6R/v7/9/HPx59+A3QGoH0YCEqigeQcmuOCDvxl4oEUOQmghfg1eqGGEExK3 4Ye7SXgYiCTeJmKH
85Wo4oldVajigiyiONmLJMZYlYu9kWVeiDiSZ6OMs3GnI3IJNgXhj1P1iF9x RhrXZIlIApmQkrk1
+WSEVA4YpVJZ2nall1vVphg5Q4ZJJm1jimnmkMdtKSVa2n2pppU6lknnmWbi yWSeTmaonJx3Bsqk
mmcWWqigcb65X5z8IXrooI8aaqSjDOrXJaG4OTppdnWiuaeemyaqaEaXGmri p5R2Kqmnqv7pp3mN
ol4qK6GhUopppaNeVCqgs0Yaaai+gikqeKWuaqymnvoKLLC45lpRscgeO+uy yQZL5Kt/5mknpnTW
+qmet17rLIVCarvmt90meye4popLLI0guulssfAKiW29R45LLr4X/8rLFL/9 6vsswBb6axS9BLcp
sGkJP2hwUQg3zOHCKUpM4MNERWyxdxRXvHF/GA+l8cdVdowdySDfi/J4IQM5 8spiqgzzdi3L+DLM
NQN188o5d7gzyj379DPJQcs8s6uWHu2jyRAN/XHRPDkdHJsaQv3uh2luaLVO UmdK1i9gg501jDdu
vVDXp24VtthUK2g2TmiLufbcdMdNZtlRHUn33mLnm7TbAPAtuJz3vW2SbFfB GLjgexP+n9E+Ls74
4FIbXhLiKVUu+eSNVw55gZyH7rTlJGGO0uihcz765zSnLrp/pI9k+mewu646 7KzHafvkQ8cu0uyH
17774Lj//d/wvManTBXwl4OMPOM/+y7Tzps/33jheMNEvfXQY298edVzP/fN 0oPEfOmFi098feVr
f7z6fJOf/Uvkwx//49+z7Lraqcu/fPtmeZ/9xoe/q4Gvf4FrSv8KuJTzyU6A qlPgAtmXuzbtToK3
o+D/8sY+BP4Cg8nToAH1d8HwrW9pG3TfAUu4PxEO52UmhF4M7we++Wmlgyyc IApHCLr9zZCGO2wg
AGGYQx2yrILL8eHwYGjDlhBRibZjYv56GEH+ZbCGKaQfBGV4QQb/eqZ+AySg C7k0xC1SzoohxCIP
qRjGvo0xPIZz4O/MOED/rVFIbVybHX9nNjl6CId5/KAXDbO9QO5Rdlbzo/nS Z8hBFoZ8P7Qe9TJX
NEV+pJBtnOQUaYZG+EWvOaTpDHHKyMg6Ku+ORCqTKU95uEqSspTq6x0Sl8Sn SEaxeJdL5Cvp+DxZ
bnJqfDKRJ7WUy8/skpddxOULUxnMKtmSchdDJCU5CLtnxs9zv/RaM3NkzbA5 7o1IsWR4FFdCsmVz
Tt8MTgsd1kSW2K2b7zTa2DjZyXlGM4s3PNLX9Ni2e67RnuDrp9+SdMyCCZSd xgOo0kLUzpXYjWAA
vKFCF8pQfDqR2qL2ItZBMcoxi7qTo8MiDGVA2iwyUpOkfRLpWR4KsIhyRJwd YSm/XIrIt8gUXzQN
S0FRmiO5QCY2PFWYRx0a1JRa5acHuWm9ckqqnRa1ZJRE6n7ik9SnToyMUk2c VXtaun2Oj6rYAatd
tspViHmVn29pHlkrOsoSzkesU1orW4UCQtH1Ua4YMl836yahrDYHr1ANSl2j mEjAZsp8nlSIX2dk
WC/RNbEPbGzMwlPHyKR1IkqFF1PPVtk5SvZuMc0kai7LsM9udkqi/aNkQ7ZX H5J2X6v9SWv7p9rG
/2JstvtbpGmFFkix6Ta2YemtNy/5WdDuBLdRJO5ugwvF3I5zuccl7AWVC1xS uXa6z60u166b3Oza
dj8IHCzvqPvdqIW3tTXLLI0MBs8PzrZl6n3RaVezP/cu0buGZW8RnfvS4s5X LfulbUz9y9zm8ndR
0M0Jet+LX8A+bK/ihR5589sTCKN3wg4Gr4FFh2G8/hfAG1Zdh+X6YOH6tsEe rrCJPzjitZbYxOkl
sHlh3GKy3la4OYvvinjb2xzLWMOprfFWP0zfPPZMx1CibBiDhuQa6SzIQrZq ejtbWwo/2X6V/HFo
Y4m+BPNYfFBrcrza2svCelloyHWvWrV7yQXT7mHMsnVz8OAMx06y7bVVzvDB zupNuOY5xVH185rL
i1VBd5nNhNQy086m6ETTedFwejRdxIw1SKOn0Y/EtKWBKukAaXrTavn0pEUN akprbZY8JTLESO1T
Vlva1FVDNUpVnTFX1Y+o05uGdcDOOWRQK9bWXgmlsIdN7MX6Wj3FTrayNXPs Zjv72dCOtrSnTe1q
W/va2M62trfN7W57+9vgDre4x03ucpv73OhOt7rXze52u/vd8I63vOfdomXb +974zre+983vfvv7
3wAPuMAHTvCCG/zgCE84v+nN8IY7/OEQj7jEJy7u0zgRphSPt8Ud2pqMe1w+ 1HkMbETumqzAFeMf
Z7dz8GLx6UBn5bJBecrVjRiTS5UxKxX5ZWU+83SfJud2kUx1UGMdkPfc4zDv OGtYLp2XQ8c1R/+f
OXx0btmS+8XmODd01LfO9a57/etgD7vYx072spv97GhPu9oDrfC2C7zebo87 wD9a3KW2qO52Jyre
13v3vcuX7n5P8lEDv2O9E37Mgz884rWq+FMnvvGxNjzkC9b3yVNe8hbbaIh4 9PfHb0zz+OF84Rmf
+W8tR9cmqnzpwzU1icUO9c6k5Z7CZCdZmStdjkwK7L0me3Syava0YlPtD/nm 1fNeWdWaVq+YBU7d
Py1WwY8+maIfrXSG9HTPjz3yTaUqQbUq9+HM/vGpxX3aJ//3zFdj5sR/KumT 31vSF5b3bsR++b9f
+dI6Pvgj+/nlnz//9xd/zRd+4heA2wd/B/iCSZgXOdtET5xyLtwye+qCLhA4 f8sDMqDHTA+4Lhxo
fsbCLtaHNKTngNUzUXhHax5TLvWUgbj2W61jRISHgifDRml0eK9XLuVkg6oH KzkYg4CXSpK0e45H
f9kShD64gBEyTH4ng03zJ0q4dzdIJKt0gjuYhFi2hD+YRFcIhVWoTltIhf9I 6B2ZxIWeZ4VTCGwD
5iSNVHdMyFhaOIZsmIU50mNxWIZzuIYtGGVyQ4doqDNqyId5iGL4gWN1SIRm aGSFuH5vGEG31Iey
9Yd4iGhzdogyBGGJmCSQyIjrFIhp6IVVhF6OKDSLyDsRdkKEpoieyDv21YiS 6HyUeEagyIn99Ypc
xIqniIm02DiruIm3WHx36EG2aGWG+It2lUyteGipSIrBKIwXOIq1CIPMiH3O SDnLqGfDSIzKyIu9
OInJuGSX2ECZmI3QaI2o2I1nuI2umItPeIz8p45g9o1cYkGRiI7IaI6xBIbX iI1fKIsIFo73iI/N
6I/vCJDSKI+eJIQDFZCTAtlLWBiGYniFIShlXaiPktSQIziNS9R+7HgwTviP ZHiRp2eE2keOuMiD
ZXaEIOkkC9Z6gJaPbbKSOuiQC3k9KkliE2mQVxSTKamBJciC+vdUbfhXLMNn JgiPgxZQDQgrEmmH
Q5mUOlmOxpdqN2l5rFSQRBNUriSTVLl/nsUzCOkufASVW0lMWtkwEfl5xuSL Y0mW/ztZf0cTR2a2
lv4kljNzlhAFSvZWj3JpgVZJUXaJU9Okl3s5gO3IUX/Jd62kloNJmF05a1/p WF1Fl4t5RGWpNI9p
XHpVmZMJln2ZapDklJwJjntZlELVliB1mGCygqBZVgoJeYrxVavZUaZJUocJ TzQzlVCojaUpmUDZ
I6V4TSLYmjEIk6HJjR7mIL9JisWZjsMpkkbFmzbWKOsYHLhpW9PJmp2ZX5xy jrIpnGzInXOVnbaF
JuCZVy7pX+UZWNCZX3BInUxpWu2JnYoJn4jonudpnfUpn8aJnvOoniV5goAY nvOJn/15WO/JngFq
nutJYoSon8zJnwWaepo5ZNz1OpoOSoAAmqD+OaAIyojJ6U326Z0EWkW6aaCz aWNLZJvd+Z/0WYwf
CqIryqEelqIlCpn3OaMB1j0xup8jWow1Olk3yqA5aoobyqMd6qM/ipksulpD SqQmuqAuBoxJqqSi
maFIaqE7epQtSop2BkQCGo+5eaVY+qVayqQa+qRLaqafaE0uEoVWmp9kiqHf eaYSeqJRGqE2KqI9
mp5A/AqldxqfcfovS4ineSqearqPWSqnb3qdCmqohzqQV6Wnj8o9SuKmg4qo iSqogZdmdfOcjjqp
yEMlQXlpNsiogdqYm5pmfzmqQaJ4Lwqcu/mp/kWcsVqlrkqrniqjYTqmy6mo rjqlmYqqjfeaaIWa
hWqrrkmUPtmounqrsbkc1WmDyxqisrqZvaqp1hpE1Zqt0Hqg3HqtwvqtwZmm 4gquf1autQqm6Hp9
zbqup7pq7jqu7RqvaIqs9Bqp23qvfUqu+sqsRtqvRfqgAPuuLjiwBCsyBkut xiR3DLtwR9WwEJtv
azexFFuxFnuxGJuxGruxHNuxHvuxIBuyIjuyJBpbsiZ7siibsiq7sizbsi77 sjAbszI7s9gWEAA7

------=_NextPart_000_0011_01C2C6CF.F05E5880--
Re: Connections between nodes which are contained in containers [message #59712 is a reply to message #58566] Wed, 29 January 2003 12:27 Go to previous messageGo to next message
Eclipse UserFriend
This is a multi-part message in MIME format.

------=_NextPart_000_0012_01C2C7C4.13391260
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

Another day with this bug.
I start to think that in GEF it's impossible to have connections inside =
containers.
"Roman Bos=E1k" <bosakr@dev.disnet.cz> p=ED=B9e v diskusn=EDm =
p=F8=EDsp=ECvku news:b15rd0$m3t$1@rogue.oti.com...
I have problems with connections between nodes which are not contained =
in top level EditPart (are not contained direct in RootEditPart's =
child). As you can see in attached picture there are two problematic use =
ceses.

Use case 1 - nodes are not in the same container
1.. create Container=20
2.. create node 1 at the top level EditPart=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
Use case 2 - nodes are in the same container but not top level
1.. create Container=20
2.. create node 1 in the Container created in step 1=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
The picture shows both use cases in two states - before step number 5 =
and after step number 5.
For first use case step 5 cause that connection starts in node 1 and =
ends in the position 100,100 (I don't know why).
For second use case step 5 cause that connection is unvisible and =
another move/resize (method refresh invokation) throws following =
exception.
During the trace I discovered some problems with Connection Layer.

Any ideas?
Thans.

java.lang.IllegalArgumentException: IWAG0003E Figure is not a child of =
this parent
at org.eclipse.draw2d.Figure.remove(Figure.java:897)
at org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0)
at org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)
at =
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)
at =
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)
at =
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)
------=_NextPart_000_0012_01C2C7C4.13391260
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 6.00.2800.1126" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Another day with this bug.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>I start to think that in GEF it's =
impossible to=20
have connections inside containers.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Roman Bos=E1k" &lt;<A=20
href=3D"mailto:bosakr@dev.disnet.cz">bosakr@dev.disnet.cz</A>&gt; =
p=ED=B9e v=20
diskusn=EDm p=F8=EDsp=ECvku <A=20
=
href=3D"news:b15rd0$m3t$1@rogue.oti.com">news:b15rd0$m3t$1@rogue.oti.com<=
/A>...</DIV>
<DIV><FONT face=3DArial size=3D2>I have problems with connections =
between nodes=20
which are not contained in top level&nbsp;EditPart (are not contained=20
direct&nbsp;in&nbsp;RootEditPart's child). As you can see in attached =
picture=20
there are two problematic use ceses.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 1 - nodes are not in =
the same=20
container</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2>create =
<STRONG>Container</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>1 </STRONG>at =
the top level=20
EditPart</FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>2</STRONG> in =
the=20
<STRONG>Container</STRONG> created in step 1</FONT>=20
<LI><FONT face=3DArial size=3D2>create connection from node =
<STRONG>1</STRONG>=20
to node <STRONG>2</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>move/resize =
<STRONG>Container</STRONG> (method=20
refresh is invoked)</FONT></LI></OL>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 2 - nodes are in the =
same=20
container but not top level</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create=20
<STRONG>Container</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node <STRONG>1=20
</STRONG>in the <STRONG>Container</STRONG> created in step =
1</FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node=20
<STRONG>2</STRONG> in the <STRONG>Container</STRONG> created in step =

1</FONT></FONT>=20
<LI><FONT size=3D2><FONT face=3DArial>create connection from node=20
<STRONG>1</STRONG> to node <STRONG>2</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial =
size=3D2>move/resize=20
<STRONG>Container</STRONG>&nbsp;(method refresh is =
invoked)</FONT></LI></OL>
<DIV>The picture shows both use cases in two states -&nbsp;before step =
number=20
5 and after step number 5.</DIV>
<DIV>For first use case step 5 cause that connection starts in node 1 =
and ends=20
in the position 100,100 (I don't know why).</DIV>
<DIV>For second use case step 5 cause that connection is unvisible and =
another=20
move/resize (method&nbsp;refresh invokation) throws following =
exception.</DIV>
<DIV>During the trace I discovered some problems with Connection =
Layer.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Any ideas?</DIV>
<DIV>Thans.</DIV>
<DIV>&nbsp;</DIV>
<DIV>java.lang.IllegalArgumentException: IWAG0003E Figure is not a =
child of=20
this parent<BR>&nbsp;at=20
org.eclipse.draw2d.Figure.remove(Figure.java:897)<BR>&nbsp;at=20
=
org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0) <BR>&nbsp;a=
t=20
=
org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53) <BR>&nb=
sp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)</DIV></BLOCKQUOTE></FONT></BODY></HTML >

------=_NextPart_000_0012_01C2C7C4.13391260--
Re: Connections between nodes which are contained in containers [message #59735 is a reply to message #58566] Wed, 29 January 2003 13:02 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: none.us.ibm.com

This is a multi-part message in MIME format.

------=_NextPart_000_04F0_01C2C796.B5C53FA0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

Have you implemented your own ConnectionAnchors?

If so, a connectionAnchor's getLocation() and getReferencePoint() must =
return a Point that is in absolute coordinates.
Make sure you do a getOwner().translateToAbsolute(pt);
"Roman Bos=E1k" <bosakr@dev.disnet.cz> wrote in message =
news:b15rd0$m3t$1@rogue.oti.com...
I have problems with connections between nodes which are not contained =
in top level EditPart (are not contained direct in RootEditPart's =
child). As you can see in attached picture there are two problematic use =
ceses.

Use case 1 - nodes are not in the same container
1.. create Container=20
2.. create node 1 at the top level EditPart=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
Use case 2 - nodes are in the same container but not top level
1.. create Container=20
2.. create node 1 in the Container created in step 1=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
The picture shows both use cases in two states - before step number 5 =
and after step number 5.
For first use case step 5 cause that connection starts in node 1 and =
ends in the position 100,100 (I don't know why).
For second use case step 5 cause that connection is unvisible and =
another move/resize (method refresh invokation) throws following =
exception.
During the trace I discovered some problems with Connection Layer.

Any ideas?
Thans.

java.lang.IllegalArgumentException: IWAG0003E Figure is not a child of =
this parent
at org.eclipse.draw2d.Figure.remove(Figure.java:897)
at org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0)
at org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)
at =
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)
at =
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)
at =
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)

------=_NextPart_000_04F0_01C2C796.B5C53FA0
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Have you implemented your own=20
ConnectionAnchors?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>If so, a connectionAnchor's =
getLocation() and=20
getReferencePoint() must return a Point that is in absolute=20
coordinates.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Make sure you do a=20
getOwner().translateToAbsolute(pt);</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Roman Bos=E1k" &lt;<A=20
href=3D"mailto:bosakr@dev.disnet.cz">bosakr@dev.disnet.cz</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:b15rd0$m3t$1@rogue.oti.com">news:b15rd0$m3t$1@rogue.oti.com<=
/A>...</DIV>
<DIV><FONT face=3DArial size=3D2>I have problems with connections =
between nodes=20
which are not contained in top level&nbsp;EditPart (are not contained=20
direct&nbsp;in&nbsp;RootEditPart's child). As you can see in attached =
picture=20
there are two problematic use ceses.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 1 - nodes are not in =
the same=20
container</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2>create =
<STRONG>Container</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>1 </STRONG>at =
the top level=20
EditPart</FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>2</STRONG> in =
the=20
<STRONG>Container</STRONG> created in step 1</FONT>=20
<LI><FONT face=3DArial size=3D2>create connection from node =
<STRONG>1</STRONG>=20
to node <STRONG>2</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>move/resize =
<STRONG>Container</STRONG> (method=20
refresh is invoked)</FONT></LI></OL>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 2 - nodes are in the =
same=20
container but not top level</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create=20
<STRONG>Container</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node <STRONG>1=20
</STRONG>in the <STRONG>Container</STRONG> created in step =
1</FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node=20
<STRONG>2</STRONG> in the <STRONG>Container</STRONG> created in step =

1</FONT></FONT>=20
<LI><FONT size=3D2><FONT face=3DArial>create connection from node=20
<STRONG>1</STRONG> to node <STRONG>2</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial =
size=3D2>move/resize=20
<STRONG>Container</STRONG>&nbsp;(method refresh is =
invoked)</FONT></LI></OL>
<DIV>The picture shows both use cases in two states -&nbsp;before step =
number=20
5 and after step number 5.</DIV>
<DIV>For first use case step 5 cause that connection starts in node 1 =
and ends=20
in the position 100,100 (I don't know why).</DIV>
<DIV>For second use case step 5 cause that connection is unvisible and =
another=20
move/resize (method&nbsp;refresh invokation) throws following =
exception.</DIV>
<DIV>During the trace I discovered some problems with Connection =
Layer.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Any ideas?</DIV>
<DIV>Thans.</DIV>
<DIV>&nbsp;</DIV>
<DIV>java.lang.IllegalArgumentException: IWAG0003E Figure is not a =
child of=20
this parent<BR>&nbsp;at=20
org.eclipse.draw2d.Figure.remove(Figure.java:897)<BR>&nbsp;at=20
=
org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0) <BR>&nbsp;a=
t=20
=
org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53) <BR>&nb=
sp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)</DIV></BLOCKQUOTE></FONT></BODY></HTML >

------=_NextPart_000_04F0_01C2C796.B5C53FA0--
Re: Connections between nodes which are contained in containers [message #59804 is a reply to message #59712] Wed, 29 January 2003 13:58 Go to previous messageGo to next message
Eclipse UserFriend
Since in use case #1 the connection endpoint goes to (100,100), it seems like your
ConnectionEditPart lost its target. During AbstractConnectionEditPart.refreshTargetAnchor(), it
calls getTargetConnectionAnchor() which gets the anchor from the target EditPart (if it exists). If
there is no target, you get the default target anchor, which is at (100,100) -- the default source
anchor is at (10,10). Try debugging your app to see if this is what's happening. Maybe you could
print out the target edit part in setTarget(EditPart) and see if/when it becomes null.

Having connections inside containers works fine in the logic example, so it's not impossible. :)

Eric


Roman Bosák wrote:
> Another day with this bug.
> I start to think that in GEF it's impossible to have connections inside
> containers.
>
> "Roman Bosák" <bosakr@dev.disnet.cz <mailto:bosakr@dev.disnet.cz>>
> píše v diskusním příspěvku news:b15rd0$m3t$1@rogue.oti.com...
> I have problems with connections between nodes which are not
> contained in top level EditPart (are not contained
> direct in RootEditPart's child). As you can see in attached picture
> there are two problematic use ceses.
>
> *Use case 1 - nodes are not in the same container*
>
> 1. create *Container*
> 2. create node *1 *at the top level EditPart
> 3. create node *2* in the *Container* created in step 1
> 4. create connection from node *1* to node *2*
> 5. move/resize *Container* (method refresh is invoked)
>
> *Use case 2 - nodes are in the same container but not top level*
>
> 1. create *Container*
> 2. create node *1 *in the *Container* created in step 1
> 3. create node *2* in the *Container* created in step 1
> 4. create connection from node *1* to node *2*
> 5. move/resize *Container* (method refresh is invoked)
>
> The picture shows both use cases in two states - before step number
> 5 and after step number 5.
> For first use case step 5 cause that connection starts in node 1 and
> ends in the position 100,100 (I don't know why).
> For second use case step 5 cause that connection is unvisible and
> another move/resize (method refresh invokation) throws following
> exception.
> During the trace I discovered some problems with Connection Layer.
>
> Any ideas?
> Thans.
>
> java.lang.IllegalArgumentException: IWAG0003E Figure is not a child
> of this parent
> at org.eclipse.draw2d.Figure.remove(Figure.java:897)
> at org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0)
> at org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53)
> at
> org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(AbstractConnectionEditPart.java:89)
> at
> org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConnectionEditPart.java:95)
> at
> org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractConnectionEditPart.java:184)
> at
> org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractConnectionEditPart.java:215)
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraphicalEditPart.java:194)
> at
> org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:359)
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraphicalEditPart.java:195)
> at
> org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPart.java:773)
> at
> org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:726)
> at
> org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraphicalEditPart.java:407)
Re: Connections between nodes which are contained in containers [message #59853 is a reply to message #59735] Wed, 29 January 2003 14:39 Go to previous message
Eclipse UserFriend
Originally posted by: none.us.ibm.com

This is a multi-part message in MIME format.

------=_NextPart_000_0551_01C2C7A4.2D564E30
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

I didn't read your whole post. It looks like you have problems with the =
connection. Like Eric said, it has lost one of its ends somehow, and is =
"dangling".

Are you trying to put the connection figure on a different layer?
"Randy Hudson" <none@us.ibm.com> wrote in message =
news:b193vr$7ed$1@rogue.oti.com...
Have you implemented your own ConnectionAnchors?

If so, a connectionAnchor's getLocation() and getReferencePoint() must =
return a Point that is in absolute coordinates.
Make sure you do a getOwner().translateToAbsolute(pt);
"Roman Bos=E1k" <bosakr@dev.disnet.cz> wrote in message =
news:b15rd0$m3t$1@rogue.oti.com...
I have problems with connections between nodes which are not =
contained in top level EditPart (are not contained direct in =
RootEditPart's child). As you can see in attached picture there are two =
problematic use ceses.

Use case 1 - nodes are not in the same container
1.. create Container=20
2.. create node 1 at the top level EditPart=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
Use case 2 - nodes are in the same container but not top level
1.. create Container=20
2.. create node 1 in the Container created in step 1=20
3.. create node 2 in the Container created in step 1=20
4.. create connection from node 1 to node 2=20
5.. move/resize Container (method refresh is invoked)
The picture shows both use cases in two states - before step number =
5 and after step number 5.
For first use case step 5 cause that connection starts in node 1 and =
ends in the position 100,100 (I don't know why).
For second use case step 5 cause that connection is unvisible and =
another move/resize (method refresh invokation) throws following =
exception.
During the trace I discovered some problems with Connection Layer.

Any ideas?
Thans.

java.lang.IllegalArgumentException: IWAG0003E Figure is not a child =
of this parent
at org.eclipse.draw2d.Figure.remove(Figure.java:897)
at org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0)
at =
org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)
at =
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)
at =
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)
at =
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)
at =
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)
at =
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)

------=_NextPart_000_0551_01C2C7A4.2D564E30
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>I didn't read your whole post.&nbsp; It =
looks like=20
you have problems with the connection.&nbsp; Like Eric said, it has lost =
one of=20
its ends somehow, and is "dangling".</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you trying to put the connection =
figure on a=20
different layer?</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Randy Hudson" &lt;<A=20
href=3D"mailto:none@us.ibm.com">none@us.ibm.com</A>&gt; wrote in =
message <A=20
=
href=3D"news:b193vr$7ed$1@rogue.oti.com">news:b193vr$7ed$1@rogue.oti.com<=
/A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Have you implemented your own=20
ConnectionAnchors?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>If so, a connectionAnchor's =
getLocation() and=20
getReferencePoint() must return a Point that is in absolute=20
coordinates.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Make sure you do a=20
getOwner().translateToAbsolute(pt);</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Roman Bos=E1k" &lt;<A=20
href=3D"mailto:bosakr@dev.disnet.cz">bosakr@dev.disnet.cz</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:b15rd0$m3t$1@rogue.oti.com">news:b15rd0$m3t$1@rogue.oti.com<=
/A>...</DIV>
<DIV><FONT face=3DArial size=3D2>I have problems with connections =
between nodes=20
which are not contained in top level&nbsp;EditPart (are not =
contained=20
direct&nbsp;in&nbsp;RootEditPart's child). As you can see in =
attached=20
picture there are two problematic use ceses.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 1 - nodes are not =
in the same=20
container</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2>create =
<STRONG>Container</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>1 </STRONG>at =
the top=20
level EditPart</FONT>=20
<LI><FONT face=3DArial size=3D2>create node <STRONG>2</STRONG> in =
the=20
<STRONG>Container</STRONG> created in step 1</FONT>=20
<LI><FONT face=3DArial size=3D2>create connection from node =
<STRONG>1</STRONG>=20
to node <STRONG>2</STRONG></FONT>=20
<LI><FONT face=3DArial size=3D2>move/resize =
<STRONG>Container</STRONG> (method=20
refresh is invoked)</FONT></LI></OL>
<DIV><FONT face=3DArial size=3D2><STRONG>Use case 2 - nodes are in =
the same=20
container but not top level</STRONG></FONT></DIV>
<OL>
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =

<STRONG>Container</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node <STRONG>1=20
</STRONG>in the <STRONG>Container</STRONG> created in step =
1</FONT></FONT>=20

<LI><FONT face=3DArial size=3D2><FONT face=3DArial size=3D2>create =
node=20
<STRONG>2</STRONG> in the <STRONG>Container</STRONG> created in =
step=20
1</FONT></FONT>=20
<LI><FONT size=3D2><FONT face=3DArial>create connection from node=20
<STRONG>1</STRONG> to node <STRONG>2</STRONG></FONT></FONT>=20
<LI><FONT face=3DArial size=3D2><FONT face=3DArial =
size=3D2>move/resize=20
<STRONG>Container</STRONG>&nbsp;(method refresh is =
invoked)</FONT></LI></OL>
<DIV>The picture shows both use cases in two states -&nbsp;before =
step=20
number 5 and after step number 5.</DIV>
<DIV>For first use case step 5 cause that connection starts in node =
1 and=20
ends in the position 100,100 (I don't know why).</DIV>
<DIV>For second use case step 5 cause that connection is unvisible =
and=20
another move/resize (method&nbsp;refresh invokation) throws =
following=20
exception.</DIV>
<DIV>During the trace I discovered some problems with Connection=20
Layer.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Any ideas?</DIV>
<DIV>Thans.</DIV>
<DIV>&nbsp;</DIV>
<DIV>java.lang.IllegalArgumentException: IWAG0003E Figure is not a =
child of=20
this parent<BR>&nbsp;at=20
org.eclipse.draw2d.Figure.remove(Figure.java:897)<BR>&nbsp;at=20
=
org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:4 0) <BR>&nbsp;a=
t=20
=
org.eclipse.draw2d.ConnectionLayer.remove(ConnectionLayer.ja va:53) <BR>&nb=
sp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(Abs=
tractConnectionEditPart.java:89)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.dispose (AbstractConn=
ectionEditPart.java:95)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractCo=
nnectionEditPart.java:184)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(AbstractCo=
nnectionEditPart.java:215)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:194)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.dispose(AbstractE ditPart.java:=
359)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.dispose( AbstractGraph=
icalEditPart.java:195)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(A bstractEditPa=
rt.java:773)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractE ditPart.java:=
726)<BR>&nbsp;at=20
=
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh( AbstractGraph=
icalEditPart.java:407)</DIV></BLOCKQUOTE></BLOCKQUOTE></FONT ></BODY></HTM=
L>

------=_NextPart_000_0551_01C2C7A4.2D564E30--
Previous Topic:ContextMenu activation pixel
Next Topic:Header Control
Goto Forum:
  


Current Time: Sat Jun 07 13:42:46 EDT 2025

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

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

Back to the top