[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmf] Re: Nested Rectangles and Layout

hello Artem,

Of course this is just a simple example that highlights my problem, not really useful by itself.

What I want to do, is to add next nested elements inside Box2 (but this time on user demand - not on creation). And for that Box2 needs to be a Node so that I can map a ChildReference in .gmfmap.

Your suggestion to use intermediate compartments is exactly what I'm doing now! And that works fine, using just Nodes was an alternative solution that I wanted to try. The problem with using Compartments is that by default they only support XYLayout and ListLayout with 1 column. I need other Layouts (preferably GridLayout).

Here's a picture:

http://img407.imageshack.us/img407/6127/scr65wj.gif

I know, not your typical UML diagram :)

Unfortunately I can't see your attachments (I'm using the Web interface to read this newsgroup and all I get is a column of text characters...). I appreciate your help though.


Artem Tikhomirov wrote:

Guess, I do not understand your usecase and reason you need explicitly defined child nodes if you merely use them as figures (iow, "All boxes should have assigned nodes" makes me puzzled). As you .gmfmap screenshot suggests, you expect to get Box1 with all nested nodes/figures using Box1Creation tool. If all the nodes/figures are right there at the creation time (moreover, they need GridLayoutData assigned), what's the purpose of Rect2Node?

If your usecase is about creating Box2 inside Box1 on demand, than you might need to tweak Box2's EditPart class, refreshBounds method. Alternatively, you may use intermediate comparments for each child node (layout constraints should be attached to compartment in this case).

I've just ran simple GMF sample similar to what you described (two nested boxes, layout), see attached screenshots. The only change I had to made was Rect2NodeEditPart#refreshBounds to enforce proper layout data (not XYLayout's Rectangle which is default for shape-kind children). However, I'm not sure this is what you are trying to achieve.


Artem


"exquisitus" <me@xxxxxxx> wrote in message news:24278037413b9fd3217ceadca93b38bd$1@xxxxxxxxxxxxxxxxxx
I tried to put Rect2 outside Rect1 but that couses an error when running
the generated code:

http://img250.imageshack.us/img250/1705/scr43qz.gif

And here's the .gmfmap:

http://img201.imageshack.us/img201/7378/scr54wy.gif

What I'm trying to do is to create a box that has more boxes inside
arranged in GridLayout and I wan't to use just one tool to create that box
with all boxes inside. All boxes should have assigned nodes.

Maybe I will file a bug later.



begin 666 untitled2.png
MB5!.1PT*&@H````-24A$4@```>8```#'" ,```#[R@#:```#`%!,5$4`````
M`%4``*H``/`) ``)%4`)*H`)/`20``254`2:H`2?`;0``;54`;:H`;?`
MD@``DE4`DJH`DO`M@``ME4`MJH`MO`VP``VU4`VZH`V_`_P``_U4`_ZH`
M__D```D`%4D`*HD`/D) `D)%4D)*HD)/D20`D254D2:HD2?D;0`D;54D
M;:HD;?DD@`DDE4DDJHDDODM@`DME4DMJHDMODVP`DVU4DVZHDV_D_P`D
M_U4D_ZHD__])``!)`%5)`*I)`/])) !))%5))*I))/])20!)255)2:I)2?])
M;0!);55);:I);?])D@!)DE5)DJI)DO])M@!)ME5)MJI)MO])VP!)VU5)VZI)
MV_])_P!)_U5)_ZI)__]M``!M`%5M`*IM`/]M) !M)%5M)*IM)/]M20!M255M
M2:IM2?]M;0!M;55M;:IM;?]MD@!MDE5MDJIMDO]MM@!MME5MMJIMMO]MVP!M
MVU5MVZIMV_]M_P!M_U5M_ZIM__^2``"2`%62`*J2`/^2) "2)%62)*J2)/^2
M20"225622:J22?^2;0"2;562;:J2;?^2D@"2DE62DJJ2DO^2M@"2ME62MJJ2
MMO^2VP"2VU62VZJ2V_^2_P"2_U62_ZJ2__^V``"V`%6V`*JV`/^V) "V)%6V
M)*JV)/^V20"V256V2:JV2?^V;0"V;56V;:JV;?^VD@"VDE6VDJJVDO^VM@"V
MME6VMJJVMO^VVP"VVU6VVZJVV_^V_P"V_U6V_ZJV___;``#;`%7;`*K;`/_;
M) #;)%7;)*K;)/_;20#;257;2:K;2?_;;0#;;57;;:K;;?_;D@#;DE7;DJK;
MDO_;M@#;ME7;MJK;MO_;VP#;VU7;VZK;V__;_P#;_U7;_ZK;____``#_`%7_
M`*K_`/__) #_)%7_)*K_)/__20#_257_2:K_2?__;0#_;57_;:K_;?__D@#_
MDE7_DJK_DO__M@#_ME7_MJK_MO__VP#_VU7_VZK_V____P#__U7__ZK____J
MFVXN````"7!(67,``!)T```2= '>9A]X```@`$E$051XG.U]W8X;R;%FW8P!
M[S/XUL9*P/%3>(!I`>H+O<4!EK5H"IYY"A*GJ1TV,'J)HP&<A<EZ#F=B,R^T
M+W$NQ@9<&]_W11;9W1P?6:+19)M9XD_]-E51$1D_7T1TY3+^!497^MX]F/=
M+;[Z[?-<;I^:@TYI=+_]U6^_^MU7S^_]5U^M:FEILM[+;5[3]>O'R&+WM;
ME).XQ4_^CL_NM[^SI__YO7[WVY=]C>6RQ!2*<?-+//@O__.#%GQ_)HMQ<T[Y
M7^3?UU=??ZW7;JNOEUJ#D=G&BY<?)HX_?WAJXAQM>?ER;?+*'N=_A7_Q:O+Q
M8K?QQ1468V=PLWU]]>+5?TX?IS_^<?GG/W^X>OGJI5Z3;7^IU]2VO7IIE]IM
M?[CO_IY?>NV=4NO3[S2_NO*!LZ^NL*Z_:>6)=B37/E7C.9K]*^9NV/AB9
M7UV_M.46F_[/,AF=7[ZV#:^GZU?3J]]/KU_]_M6_O;JVKZ]^?X77].H5CGQ
MOWC8-??QL'_[;U_[5[O67WOXLHM.>W_C4UZO[']Z]?*UO7_SOJ5+2_ S2%A
M;GKN[R5<O6A+1U?O_CZZ@]7T_],L20C[7=D:OKU50_?OS^)DX?;VW#:[M-
MD]%X>J7OU]-K.P;'X5O[KA>VV'';E_]C+_WVK_:+QQOA_Q^[V]RNL%'N@K
MOKUZ_=(>INME@2GQ_!?[ETJR?UJTI5Q]`Z)_?:6#C,P8_S']]:?X_2).?[U]
M]5J;[(;9^^^O*0M>^?K4WD$B'F5/VGK-1Z+U_O[YJO<6[]_M7:YW=#6W<GS
MAFG_@CIQ_[P_2&S]P5>O%B6-MM1GOMC4-)8::XGV?30R!R-V+K_%O?BF&/T'
M8V@G^ICO/FC<?/'^A_M9E_[K78"3?<^?*=_3O,Y#_;MG[7[F#[[CF8'X;=
M97<'3?L'-R+?H_,+ZB#SZA*/<4FP*9[SJ]:40.V<C-;V,H4KV#MGZZ#Z+_C
MYM5/Z^^#D?FOTZK?(D]8NX1[)?)?)B#S^O'UQMCUSW#WUT[OWKWR?SU3XS
MV__)'G2(,)@4S_95H56/)>98(X5VSL;*)65,S:9G&_W+4$K7]]=]O[S]Z>:/
M$-KUXVW_IL>VZW[J];;LW[A@GOKK"8=+B,(GSMO?<R,.OEY>M/ZGA]+6_Q8
M?MJZO;_IY-L`[^WP4W7.H4[_!B_UGSBTE^[8WKFKZZ7$+?'*&"X+$/>/B?
MX6?*E-T%BA9I;0M9&/1/=M (LG=OELOEFWX5Q<U3N;7[@VUXM_)WNTFVX*[
M;.M:<L;[,>6::ES;(=][7G,FXE[K]]<^[%O/GFFE=;^F&3;2;]&?>X,5-
MNNP;_SLX1I_7;][,)_*<'CMYVILWX.4_X.T%5NU7+^PVX/&F1I+E]GM^GY&4
M+)#=$=[=7'/*)L=(_)%**$(7(M_JIYOOX_>W:=ZN^26:[[W)*D3T^X=;O?U
MM&SD%1GL[0T.NO:-V/0:]6_MW.6.F<I:O?M%(W>GR<<,CTXM_=+\2^/7'S
M@$&U?/,UWGFAY=(DU@BA%I+?DN?W&8LX>2QP:6:H8.#BPDDZ@/HI!6/R;OG6
MEN7B8US<;'L8UUQ`S?R;;*W:?+/Y5O]PQ:[X_[)+=HSX<NDT2EMZ>U<A
MN=].TXY2^/Z_<;WEWB%MQ[Q!5WV[]VN6?EYO[U^_('VOOOD:V^S8-1[CQ*<^
MTL2,S^X3=#2]"W*YFH8-'=NT;INIQ-_9:#W2H@*9[=:M:HTQ_O13_;C ZK*]
M