From 6b44d761bb8435bd7ca6ad1891065fc223f27963 Mon Sep 17 00:00:00 2001 From: mpa Date: Thu, 8 Aug 2013 14:06:50 +0000 Subject: [PATCH] 0022171: EDF 2477 GUI: Redesign of the "split" action and addition of a "tile" action --- doc/salome/gui/images/arrange_views_dlg.png | Bin 0 -> 50168 bytes .../gui/images/create_sub-views_dlg.png | Bin 0 -> 39809 bytes doc/salome/gui/images/windowmenu.png | Bin 3547 -> 13097 bytes doc/salome/gui/input/occ_3d_viewer.doc | 22 +- doc/salome/gui/input/salome_desktop.doc | 24 + src/OCCViewer/OCCViewer_ViewFrame.cxx | 211 +++++- src/OCCViewer/OCCViewer_ViewFrame.h | 5 + src/OCCViewer/resources/OCCViewer_msg_en.ts | 2 +- src/OCCViewer/resources/OCCViewer_msg_fr.ts | 2 +- src/Qtx/CMakeLists.txt | 7 +- src/Qtx/Qtx.qrc | 34 + src/Qtx/QtxWorkstack.cxx | 11 +- src/Qtx/QtxWorkstackAction.cxx | 691 ++++++++++++++++++ src/Qtx/QtxWorkstackAction.h | 62 ++ src/Qtx/images/qtx_split2_1.png | Bin 0 -> 2456 bytes src/Qtx/images/qtx_split2_2.png | Bin 0 -> 2622 bytes src/Qtx/images/qtx_split3_1.png | Bin 0 -> 2703 bytes src/Qtx/images/qtx_split3_2.png | Bin 0 -> 2638 bytes src/Qtx/images/qtx_split3_3.png | Bin 0 -> 2717 bytes src/Qtx/images/qtx_split3_4.png | Bin 0 -> 2672 bytes src/Qtx/images/qtx_split3_5.png | Bin 0 -> 2678 bytes src/Qtx/images/qtx_split3_6.png | Bin 0 -> 2637 bytes src/Qtx/images/qtx_split4_1.png | Bin 0 -> 2658 bytes src/Qtx/images/qtx_split4_10.png | Bin 0 -> 2695 bytes src/Qtx/images/qtx_split4_11.png | Bin 0 -> 2680 bytes src/Qtx/images/qtx_split4_12.png | Bin 0 -> 2695 bytes src/Qtx/images/qtx_split4_13.png | Bin 0 -> 2655 bytes src/Qtx/images/qtx_split4_14.png | Bin 0 -> 2769 bytes src/Qtx/images/qtx_split4_15.png | Bin 0 -> 2777 bytes src/Qtx/images/qtx_split4_16.png | Bin 0 -> 2762 bytes src/Qtx/images/qtx_split4_17.png | Bin 0 -> 2741 bytes src/Qtx/images/qtx_split4_18.png | Bin 0 -> 2633 bytes src/Qtx/images/qtx_split4_19.png | Bin 0 -> 2655 bytes src/Qtx/images/qtx_split4_2.png | Bin 0 -> 2513 bytes src/Qtx/images/qtx_split4_20.png | Bin 0 -> 2732 bytes src/Qtx/images/qtx_split4_21.png | Bin 0 -> 2736 bytes src/Qtx/images/qtx_split4_3.png | Bin 0 -> 2771 bytes src/Qtx/images/qtx_split4_4.png | Bin 0 -> 2717 bytes src/Qtx/images/qtx_split4_5.png | Bin 0 -> 2758 bytes src/Qtx/images/qtx_split4_6.png | Bin 0 -> 2697 bytes src/Qtx/images/qtx_split4_7.png | Bin 0 -> 2545 bytes src/Qtx/images/qtx_split4_8.png | Bin 0 -> 2636 bytes src/Qtx/images/qtx_split4_9.png | Bin 0 -> 2617 bytes src/Qtx/resources/Qtx_msg_fr.ts | 51 ++ src/STD/STD_TabDesktop.cxx | 14 + src/STD/STD_TabDesktop.h | 1 + 46 files changed, 1089 insertions(+), 48 deletions(-) create mode 100644 doc/salome/gui/images/arrange_views_dlg.png create mode 100644 doc/salome/gui/images/create_sub-views_dlg.png create mode 100644 src/Qtx/Qtx.qrc create mode 100644 src/Qtx/images/qtx_split2_1.png create mode 100644 src/Qtx/images/qtx_split2_2.png create mode 100644 src/Qtx/images/qtx_split3_1.png create mode 100644 src/Qtx/images/qtx_split3_2.png create mode 100644 src/Qtx/images/qtx_split3_3.png create mode 100644 src/Qtx/images/qtx_split3_4.png create mode 100644 src/Qtx/images/qtx_split3_5.png create mode 100644 src/Qtx/images/qtx_split3_6.png create mode 100644 src/Qtx/images/qtx_split4_1.png create mode 100644 src/Qtx/images/qtx_split4_10.png create mode 100644 src/Qtx/images/qtx_split4_11.png create mode 100644 src/Qtx/images/qtx_split4_12.png create mode 100644 src/Qtx/images/qtx_split4_13.png create mode 100644 src/Qtx/images/qtx_split4_14.png create mode 100644 src/Qtx/images/qtx_split4_15.png create mode 100644 src/Qtx/images/qtx_split4_16.png create mode 100644 src/Qtx/images/qtx_split4_17.png create mode 100644 src/Qtx/images/qtx_split4_18.png create mode 100644 src/Qtx/images/qtx_split4_19.png create mode 100644 src/Qtx/images/qtx_split4_2.png create mode 100644 src/Qtx/images/qtx_split4_20.png create mode 100644 src/Qtx/images/qtx_split4_21.png create mode 100644 src/Qtx/images/qtx_split4_3.png create mode 100644 src/Qtx/images/qtx_split4_4.png create mode 100644 src/Qtx/images/qtx_split4_5.png create mode 100644 src/Qtx/images/qtx_split4_6.png create mode 100644 src/Qtx/images/qtx_split4_7.png create mode 100644 src/Qtx/images/qtx_split4_8.png create mode 100644 src/Qtx/images/qtx_split4_9.png diff --git a/doc/salome/gui/images/arrange_views_dlg.png b/doc/salome/gui/images/arrange_views_dlg.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5c2d930399483812f8f92f013c70809bd9f3dc GIT binary patch literal 50168 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
    18G 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/images/create_sub-views_dlg.png b/doc/salome/gui/images/create_sub-views_dlg.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c57447eeceda599df365a37cdb4d7ee91a0477 GIT binary patch literal 39809 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 P3h?R7C!cr= z2C3OChs~L_;|+5{%|F0%AXU`Ur`@=3u1lMk6cUI7%w^b=>~b%6;Z8P3sV!!luWDTy`C!ONdje0 z1JR5&HR6^J-r6xEM+eJQ@?}+Dk>;|Ivv$2p(x23-vLo^vdZ65qyTG=kb^l))(h(F>(esE}L8Ukn9YH9uH@n~$MHYJym zMle%bwD8uN{Pj2r**Q2ICoPoH{;K(!aPeJ9|5FRtAV^emI7lG^l`!;gqs$@p5vq#it&s7bhhb|VRBh6`b3#Q2L8u}<-z!` znk)};$TRFTO{q}T%Q5%bYU=Hzgq6xg>4su@fnT)e+8y2h!Q^mMS2ZCkr+7_deA!|% zfkWh)|6%3A%VdN#KW>Y!(t=`;s0&4(m2e?v`H@CO!7t=*`PA_4Ppypg2#WmFNzSE4 z)b_7lS*aLt29%NW#R$Yl9wz+qZJv<<(W{;vYwMA zY(x5WgD9xAMpvDGaoNG86g5`3l@;513kIWz5aVUHsmU-7rn3Essn2}5NhH88k6^+? z4VGb9>6Lq&BdN`_n<=pnM$# zD67U#`FT{B42pI^PmDs$*x1G;LkkFg|0zkMhrRJrg!2HcHW)D;}{44K9u9F48HO&Z-~frFB3Kx?yEj zwwcUTCjIkSzpB&}k??K)&EP3sM>keEL^j_8PsYQxJWLa>37I)WMl)Vgovv>QKFM2H zpzXVAx1%W3V;L#n%p^71|AD8sn)qfOQ;=!T9Ye{^5iFwBc$TeZJ`%0wr=dgKfU(rv41_8UUcQg`s%_+Yx7qF58g>3&vQJF@ z-%5O)J+CdCyf#zN4Wwvo$>RvZ9w&iR3+@RuZX(fT*EKaYne>H0O5PzAo5VgAf3&;* zE(AP=2Ry#hnd|z{d=5GCo;IO~7sp*zV_?n6c z!f|VNJ$k2PdbIN2HK|YWJ!C`pn3r$YY2B~yoGb`Q!}T!3s%FFsLP+Dkk8Qs7exUAp zn(}!9$Nsc9@71-%5#_Rq(L(OWAuOnZU2LF2zAy< z=q7`UKtUS9rWdN`UT@`x6z=u+`)B;$wEz&_@H@X$Xm6ZDN%-yd;Wh4|YQ*?I(nfMM zzG#X1`iQ-=Bp1zD-<9~%Pw4bs2*}d?dM!ZtKZUNj4-l5#Qw;cs2Xt`>x*&q^{1Alx zecu9|ZwVbFt3wL!-&_7Lp1A()xwuOdwlfRiX8-H`0I7#1y`Bz-&_m(qgm?Cv3I8MI z=DU=TV%i)5Pw2L@hOzsmN5FbQ+vPiLGXP8m_EU`AgiOD)RlTK09^b`&l5*Ds-TMtZ z#jBhJ9gjNR$zZVG-t7NB|383O5DQvqV34M{^c?O4oo0mlPaXNg$v+@R28sd2pjeS8 z{<_Kr1LmpVo*#>yD~V5@w}g0Dc4hmZbTDbkm!;%y@HMGf z{eC{5URmo-a(DOY+O<)=t9D(W+@Dm5#%B1Af55CXlvkP;*{oY+M+}5(OKrRt9b@db zhkx3bw@owoqPCW5JLD-aFrekY8AC%_I5J8=2)I;hjUMbv{i>}X6)*vHO37MkhEJ5@ z)>fb^Q)#=IsV7Ygwu-o;hAB2DBruM%A}k>YCM%~=91XyPJKLDj!lSh)dq&W9%JZWJ zN#3RgxjOVYK-ET$T{FDgmDy}bG|Yv-B5JjoMHZM97!Q%>zE_ohevbHjD^EbAVeAxa}(FnYo-+G*maUas}1))Kw1P!KYBLqi| z3Ksc}pFcKP%m4{LNg-^LXQi2Ijzybdj39|V8N9$-Y5Y$I3=Sd@OPX?08w@7NiiS|H zC~!ZBX)Ot&H5l@@#<%0(GQ*r}p5FN6u^sLdCpnt(`uwAgL~4wKOlJNoFFjj<_WLlvi>~dbO!F2%#`h`((QQaUhXm+7V)0)LmJi6o?4NG@>sf zspD{$j{VjG4?Rc(O1y|nTaPnhkwM1%-)1NGLA|E663aqvqYL%4Aq$5mFMR^IaUMwG zwh=|i-=J8oe2@kN26GHL4BucZm81-npyXd*(#ALn ziv2voY!ivb{sIVaxl+eW|CDw7%ZF#zo`LBNP-#%*Q~Dp23Dq~b8Vnn4b>}MRU8n<% z+O@}RsVH*0;IqM0%`|n=*3HWrI>?NUKR7{(pe@m6 zYN>E^Ec*Feq`7-W%9)ICO2?>ZtWayWspk)oZp~vm$bYy1Bgnc|2>GTxi91G#|Eb zT-tzSgiog~MZ(7Fb5__<^TBgk3lAW(h1EzY%$BPXAS+HQXDCe4khjqY38VJ15v?Yc z+DL6`MYI+2vJnL&LP!bS#}+v!kv>F?cn>rsCh`qSprpvvew%!?zqK|yTJsOB!!eA;@O#isYa5 z!nU+jS2FlYlTDsNL^Hs zD60c)ooH^lNF0L%{;MLtuKoCgcZSJ=g8rytM<0=c26`(eNqQ3DzT#+Ua>@cILnU3P z0p?=7vT&f{HFnZ%iqF`sX1B!0jYZ-SI#UQ-zd;aI~N{jX#f@p1lO* zvQRQ>vG!GseuL`61DYGEpr%KJi3=!5#b@mN@q8WXxZgi~N)Z~{;XwxYMs7N%<8q8l zHAbmzl_!tV+|iUYDRXh?;PM5~g0*x^uq|-Fm-Q}$%gtKZFv3Z5iwg5V1vMv&wQ@PW zthrLvZ`BPHr`5?hFO7;!NAFw>Lii1&uEAw-%z9a<1ye023LBccLLrvuMG*JwASt# zHIhCTd@g2U7+vHyCOl!vD;XZsM!?$teL#WEIf|8#F-6`W2t z$%@i`Q4wns50=A_OOUrd`JM-3T~>XPJH`m&6nYA+Gr>PhAYq!Rxz<;f_Cguk7tS>l z{t!j>Z>?F!;&8}+w}>m{*UKXSo|1fM%_KvyHiy*(4?XqvGGg5Xi%3kd~lVZH^C`F9GG zi{_>XY{UjA+2@j$)O}~6Y5#V9c8?ZOKDxk@xXgef(jqd3Z|E%j4W|rx?)RZdQOLnB zPtl=RmUUt(Y2H@O>gn&Ej=D>mYJM{ACKVOGL6QnN;^d8)uzhKmtvd+ge3?Be#!zR# z5YB6V;E|RXpK-9uO3~#~D-jtRr#b$+n`U59Ml7W`=tgZtrSvz#kX2QwK)`grLwWet zY}F@+8o&je&BLS{C>d`ds5)+~m~T-l>kGM-bYcslmS$DC_{~!Y$*NScP5f5CLAFnI zQbV%6oAW&_tL7UsXP!m`C456BGh*5pvRHDugp&OPb2gL$HZgc3)3(8oq-e>Xp}#d$ zc_JRkA^AkJO(U|jsPo{)WfGGnt@E*~Y#L1o7Mr^J8uQ~Su{Ug*#MSV7A-Umq*E0pX&WV{2GVw3nabkjj#?HMs*TWg`hj(r zQMX(9BopIW4M+wk?p~wiWiqNRyDI@jnpCM_(lN4mC%n|jM5BVdpai*o2WvZ0iWbpX(LZwU`>JT-k`T-r^dTo$W$u(#YS2SH1ArVH3 z*%eZ)eu>UmI(KwL;0};7EEG~AG$TCZ=dulF8hMcT1Xc8m1P{VvBd4PQ8%Vo) zjXJ>jx+;2E{x3!o6b*Jl5z^BHo zSk1V^ihoiTkauG9$;!&51qD)!-_*G`bl~P1TyobIjuH`-Uw$SSw-_~xW-zFL|4{wc z%&MJGc`J&fl?4`yYa@A{%mHs!xXqFO?x@Z7-f3E-8QafZmWYXliN$o7$BYFl4#xYd z(4yAQc#bias*(5E9=__QW0-r7+ONRmWVkj0<}t!=1*2&nZo{o4*Cfwz6cl5vip(gbdJ1nmOYTRm~KcDAtGe=Sq~fBEsPoo0W$wVvZ(j z{vZ^cdTdgZw)}8q@|@Fx+(@8l_2irQiIcQIk^EayHjOMc{$*J?h9?)i0fX`=9TA$U z&u*HV2xc~4174F|V#1w8i-Dmpv{IE}n@$)X?NKa6HfAA7;Dz|NpOLe3&VxE645fyHR zSKX89>|xVY<)epkgDHR6J)dMjIjH!EhVBEWsY8jlgZvIbFh!kSh|=L)%axM@OmXU| zFn3OAC=QZOB<*mhF2Yg8;k0-`C*i1{;f33IlTT+(40fp9&Xax zm;Xd@VyTTC8C_e4`5L9c{HAiVek2GwJxpDtnxSnTGlk`q3zWt2e5QEC1zcw`NhjV@ zqVZoOEg1PfyAGK!!cig(UXd~l3zzY7-9go0JaPW3u5WSF0@XM(HU0uRIZq0r-0O#J zZqs%2Tv&hfm0FA+1Wob56ebi1w|^w-C-cOMOXnNGhsbBjCF?u525%J$u|P8D`@zsP znG0it;-kY~SpF0AMRbwstDv%&=vV$p<50>q2NNz5k-=CnXksR3Y9p{*kDQq$j!;z{Mm~f&{`(ep(b@%Q}PcN6{NWT8(lS~TM$yh zG0uQ@J%00zA_sOyEN6bDOkJEI0;P;wU9pFg7+5&0<@oF1NZx%oLK;wOg=`$xfaF(Y zlR&tGAE21gF&C?4NTAdszsm;YsOo!>&J)=cK7H(9E+=YT5uXbNZ%#N6Wgx90DMKr| zfkK@z2W8)Cff$_;Ofeh6CT5QMI7uXc_CNqy(krK>MZ|e`FW?nAdu23!7O_?-Nonhe zL0c8rYjSk>1FTPlDK6LnQ@t(3nC+Yh6*qpON$X%o)v=}ObSIO!*%TJ(vvw?Fa8Not z3vq+JrI|*M8o_c7%DTWDu8K`yWa7pU=5L)^$K)7(w6d{pZOM1XZI#3%6zU^nY)9Nc zyGVpp-webla5!~J6dZRkU5dnS`J>MjSI(&?a%tEb7|_WlgSnc)lNyBK%lq2)lmUC7 z36PfK*4-L)OVHmTgqxtAAcw?J31Am81KExkq(;hdl5=AJqZ;I{01bTYKOJN3jN|hU zme8b)MqLRk)uq)ia%5}S?R-h97pAS4m02vcDG$PQRk}8oa3}HDG|->LAEK~zTi;YN z<65$?kzZvv{0?R_EvDi0Eqfi=e(uzc$%HwFWWYSTR{v#q3YwJJcAf@n?Lv8bXzXFZ z^}qz~y~2cR_uf2XuG?dCF|cV2K~VPqQgUA1yzd)i!%S(yZWS08MW8iO!{n@0Ea}c{ z0XRG+l_vRe@c|~zi26o?@&T%%nQXo(NPTP|Yve>M0`-4pP1rwN8_@aih*}-5X6p%o%9TLNq%+W zh-5I2ETCw+DzVE~Hdk!aC2<-4c{BAWPDJnwSqRf!ws?<$EMg<=NPaa<-;zbh>iO4cMe;s^fXL zE@Jw`aF(%5tK`J?oSo&wFa0(3M;VBPpCw}{#6NRAphYnRh;(urP>ZP7kcJ0uEN1f= zMlkacbs5LYoP{bbzzTn%Iou`2B07jRESe;Mg>bFQxHm2+8BDVHmnAc-c;+oA=T(uF zvwZt*zd{2!5Mzg-53{hnS=#ZftP+vj;9Ny}nCmLpO7VA6t-q*Jf~K`R3Y;BM&TDYj7AZrvTT2Brz-j(E4-gGrZaJdABwd} z>mF%0?t9(k?H)=?>v{^8?WsbA|Arijuv5uYE3eOl9lN2dyqun!SdwK^xhe`8lduzB zGt4Dr1y_czWVB)on%3AZFQS5xNHG`W#;%-_m1e z`q+)KdyoM+FJwwOhKBpp0?2^Vom(4(qPO*79reEnbD8%@1P)Qjj(s_@|0bnsj*feY zf0+LjNi!acRYy0?IsaWGdhUJ70X<>PTKIn7xl|>-zO3Ur3vSl3R$&RT!p6eL3f-TY zXee;TXcV=1aA9UV(U{KU3T2Jps+DO?$*dH&e<7o~W2^{BD?exEbh6bvmx3LUSc7mN zZS0c`O+9P^7f)%Ywx|7aq#ah!WYAc0aEK)dIaLc3TxmpkS97_sD#3#{Rz5TsF~7rK|z-*P|EL>F<=2ucE+$#N`bdn(XAV9p0~H#zN< z1)Ij8oQE515qT!4P2K(9v&J=;d{8$O)#$GZ--(ley#htnP(G>^g)Sw9^kTt^Q8A=e zttv{Ajnfm!*aJ7h7L3K><$*$$g?LwCGcoD2I~aDbOE`P2G&46Trm>`divqP%R9(JW ztd?qy3Hg?&MtQ+Aeu#64NrRwgy(~i<^=1@$=J%lrg0M(*`?}PDyXxQy32z3VS)!0i zJ3{6U@(IbUWkL@LuNSXM{9@Cv5avh7TD8ylJMI@4{b|?V-nibSd)`7W!<(S;uaVkZ zYm~F^&N^?58gTfWj<2e^x7$b6{fkZ+AlDhq;-XyWXY9TiR5q4k1ToNpg~taNGZ^VP ztbArZW)k>BA8BmOU_F#Ba^lspKd54out^%*9dA!n$-jy?Vxf_bK{P%?-qxegIts(F zBI3RH50ucdsX+BR$y#%ajwaY0OInO^j344!D@P=ASGCsv&DdWEwDH``z~w~PoajD$ zW9pO-G_|0^U~Y&V`$vf}UY$PLLR{(+~-rBg5F>Jb}ZE+=p z?}eYW>+r#*RzpW724=juJl3zZjo{A~&K)<1LiRsih&%&Da>4`pRK1B)jC9>^A6lA4 z#H})Ag6O(^mpZvzt(fC?geuNsqk2!Qt{-Yp1CWzeYQYxDDn#QFXy&`&I63~vez@Xj zPPG`ABrdrl3)|}yJ(m!+Nq$8|W6-t@stGvpZGz>If-8r1tS7q{Sv~s?NbiU2-p2%6 z5nviquCd0Hf2^5Ku9{pz^dGMB5^TJuu=w6`;SkS36-H%gFxM3r&3=Lom-N<34&51Q zVnNu3?n64t6hm`I|M|cCt*x+03VUnzQ7rSeoahXKV9`WsGAUmI37cvkS@L(FnlPVz z+_`ow^znqzX|m~as}KBlOeimF@Ww_5`2pq$W3gB?y7R_G93!9o1_fU;qN5qS)LEWx znY>x7Rf3fi_yRty&6aZx$%1SVImpS~Nw@}75w%@&kJ8PGbkHxgtI|*{?V#ZGqVUE5 z>eeLNyS;bz%Z>}O2qe&q{zMnq{LS3;+%iA%^{$SaR|5O%w4VD0juX|oN26LIxWCFb z3D&ios~b0CIu>n5wgj({DdTCY`Q??9ZflU3vDv}?jyK404OrY0E$FujGxQk>2x4K} z=JNqlq~LTdjc8Zn@yZb$aO0Fh*v9Rw&-Ah4f0Gp+$>lA>ZFiL+)5f zWS0R)ytIgWrtFqS>Y(ftX2X4m0Ut+vTRQd9UiE6Dcy|3-%mD{tz(-vS6R&e2RCMJ6 zlSe0@l9w!~(4?L3v6`XEZO&Z$v#;l>*75R*7wP3lql9g6wB)B^ah*cm?xgb8%Od}W zIljUY|B9zP7>Kt00Tj@$o^A9H*#;fE=B0&E4K{Qdt8r*E2gFbc(L%ZU-`-g$NAp4s z$Y~WcT8H17>uAszCVM%8PIGyXIVy12#D}9=9Td`0_as})Mri6or1ody6z`B*g<(9B&I(0Is zVKr%BP>GFc?~$Z@7{9~K(BP@;d{R6XIMe@xQoZ1I$L*u^!?U!Tu?3%rc|o%WN02ce zyUnF9Dwn<(D%LC{Y85zd`}U{HMVS>a(-#*R{O(CUpBf~fv{Nh$=<*O5NxtFVF4wWQ z-JEi_)wJTuHBZ3XTL0}?3BS)-(Z;Z}BXDOPuphdN3r;YJVlIn@TH+dQN1Wy`3?+9n zCCQ$PruOtJjt#aK5yVcA=8nv57<0AK_yoBT^B#;vJwiW8UHYju0j=jUTP+^>I*deR z&2gR~B7)Wx)0(}l*8)wfK#Es^@W&40aye&;At^2E$z*ld>=`zQoWih$Ud~gxrMO{S zhaIdA#!m3=)vps^67#rNrpj8=Q0;HG6CMcp#D5C}j55)n@~~YTl`;|3<_TPE(&_AN zNYTR&hkBz_H|Y)He#tC|7uZ=Gza_-~Yk;=2d6q<*s22>r#B5_1(am`Z{cT#@CGq#; z{S}v5H{FdX7E&lDC-N^{J#DRQv&LDm6nLEe^iIM=+w3U5w`Wl}{`J=PA7$Uf8ScTf z*t+(JHM3KT3Sf{zQCO!lk3-lGD=%qPj&Fw6aq?H1klc>k25DIyVX9#y++xxgJwcsj z$Z6QpOSe&HfA=G*qes@vPzz@;D#zWRR*fXmP5z+w{Y|v~^z<~@g##<2YsXPz#tj`h zQ|l>;QQ#Bd9&6?B;-P4Phx4rs{}Qf+@jwSMM!g?*)*yjbQfnj9OH|-q*&Ku_Ox-E( zP(~YP3WkjSpU4!U@tgn!=oc-C;tDh1qgd^0t11k?>B;SFd#XWB`@Yk(k*99dQ@#i=$G+f zhB0uaEAB>VlaCe*QO*=Q3~Ce*!CG+CkEK}ZI9LYO{KvQdDDSs9<-9;3-G)Geh9>jB zlGA_bT>+W*9g=3~gsBW@koaxVqG&&P}>AXko^oE#KC7 zlGxxyJtIZg8Idl;?MY>AGy&Jn>dLcRQ$65$2$c%M1(9k_+z|o&U9<(-C8T*0GbH?m z$u^R-;DHp|^dixFA5wKr(yL1N_D|}m`N%1%#4w968Z^RX51!*Hxr|IUDSW%i2^z9z z1r`5i=RxbbUB}aBk!QJ2@rbY2X@Q>^YST(?jk$6Yj!FSIh{2vTB*~~vxm&30S}JUH zZf(hrm83qRf7~WHWppZXDd$o1u9P)68;Mx@x>~4$k({?FVfr8&LZkn&)VKWXhI~C} zg+AaM&w7D2E&T6PyJC^BodFM)}#*9c*tSUs{W^@d0WI3Wd$=WC)E8p2{dN zaL7a=cJd%^GYfcP?a&`GsOZtZw2`FZJ+F_?D4P)VnY1dY*?GrKboRI@1;4L6N*u!o zN@2`X$_9)aEAmtoKBzyw?zhU6%!Y-3hlS$)uUKGZAY43PQjAnYQ=_)tQUM}7fGcb4%9ae#<{pj50zhSWUGg zP}U~X60a^{;{=Z|u;cZ+!7KnG9_Im-oFmnJ1eK2OSP}i4u@s_MokRF%Q~UhlW{ ztMz7C1ru)6+j8k4A-{7kLdB9DNa;;H2&O1h)yr^;=7lY7;sZa5hMpV>z5N4IDSkuiY=Hv+Ol5Tzxuwk(Bf(^&9QJNO=YnWCI zDkhtZ;dnIu6?Ex4vdZcTDi(V@UDJN)T;sjbb>U18;u&UZYI=mzy@P{@%W;(p#e3|k z`@${me!-k`J<+joZZmvfxc#!DX427A=Xal)AxlSn&j1T}R zzuw?pAyHkwZ0NtiR*|C7AwJVeUKHIX=!o?FoRBKJ{5P`|s`vsnl0Jg#tl=r0cw^S< zzuV%*J}1ZY$TeVlHS&g&T6hKW@85dZ=S?fx51Rv1=g)J~^(O)`Sl+`3BSo_@bMSSL z#VsW?H;Tnw13C`BpHUG-xoS0JEGoAw{PtbwPg65~uL zvv_shWSOOmjam#2vaL)>faS;C`WzS^ak62HVuts$zYLJ;hHLD{ctzg_p@@%N{}~B$ ztY*lu-qN}>%Qk{Ylj^ad6w*<{3D8RfkEqL)=h&AOmtTJnQ8=HZA- zNW0Q)&f?7yx~d2KA=?8Nsd|q>BD1~)XuZFuDmDneZZ4!sn!np1A=EHZtYB?Y zU^|la1xt{)64sW^)69uhYc!DGpd&DG$SaK|ZaasgZmTO2_Vbu$KMuqn+WdUb=9L*H z9U_5XWp_g6#vvH&V#Krft!s?Trg5AU4D!mcm*KBwUx%tu$Uy41LCRCV5zj*C%&e;7 z=;>^aLL^VE5>Lv>^*u)obpUYF2Z0arO|dsc|) zNtUBz+Jn%{f=DFaPkUSkz3}cXBUfMrAJ`WGB_34oYo~ahkLR4`yN-+Y{{V!{(MQYH zo9!3B!S-WV!pcDpRgY&Mc85TKRN=c~S-T?s_wwj9tGh#@`;PCL>tO0;b`(A6$edQy zW|6u2Iy5mV>TKFS+Xl83?)Qg4|1ua9sLt60IuxEeN1tvZ43DEm5Nfg;{Hr^0$M%oT z;v7PkgQ%G=tP$O2;AVm|R1`rrskas-oiRmN#Hs<6Tmcv-Lp z`4~em!M^0*kT?SO&(z4x87Cne0qSBzXd4vYIw4YcRuZ2dPtkJY)YMQ~lE_fn+iq0J|3knn1CkV!wkSSK_YlPGAtywZ&n6|1s{u~nx* zUeq(b)w<`<)VQ+CEkSq)iBd0(8?NJu`P*8#KCj9bzrKDB3dTWWrNhjjn0fmVx1xA; z&uII?XUei8oFx}!E{aP^cUA<#p1DEKo^7f${$DKF;imaY9dpMl#{hyUpBj$qx7M*kLU`H z^HB=ugtoV321fJ76#^{?MyV5^${I$7b)41ztm(Y5>^Zaq z)pp%*{;&Pd`I6VUUiS{Y?IFb|7JDFkO#kwP4R`)Nar_2|{=%J>5^Ec}K&Yl~t4ukv z^^;RxCL|^6@Q8>$>&j4nE@r(S%4(%a&d+Hs0~=E#XDy|VQ^wJNHnH-im8wnqV5gaq z_ai>vpCFiwk)ld0T2iBXT{$GO1*YRjvTOc!ge1_?o6|gYHdfXCd7>%@Hs~XHL~R?1 z!D0~|+h$FaPDgAxil8Q5BdPu#t}LNRr~edW9*>p1V%s0fj?N$U52;~6tuDCLLyKfY zpcpZ&C21%`sZQ(7PEx3N5X?Dwa+M!`ZGju8;6lR@4#_P`#m@;P8^j8yHeFNMHQ+W~ zXa3}7Vw2(SIU_-k`E~tq-Hn0H^4BZ;EE7`C?}B~u}B z9VxE7bxzTF7S`1r&N$^v6KU^#dFV%3_Tm~QGzf?7er!fBab#HI?!;ou8P88(IyQ_V zu&;3ZmNWff+O=cia18Hp_~DJF2D4@EFwL+_f{LQ69%ZsvhxFz)XrFO=(bV;deF?_l z^>no}5ORAXu^>?=;W8uPPNpqtM@Kk z5+|lAY>u6EBz<&w_`mO_E9n_LW0+Ra&Bld`RY^u^Pc2tH>UohoJS`Qr8*hUr9117 zySE}%D@R$I5WeVNu%4P~smSNgi(XrT(a%G{Rz+sKQP>>!&*V0W$l43G|3s8cAY%+N zg)u{j1a&{Vve0|ad;3%YMzT&A3JZ$11Kj$;KEl)+ht&oCwn4VPJehadhybOOF%i?f zF)>cG_K3qn9=ncWk4)G)4S6+S^(tuJdCS8_iiL_2ECsfKHlx!n+%6AK)Mh3aSuQt(Cv;* zdS-zIqM5BiFXNmRs)x~LHF6fHSel3hX&HGd8Y zB0l)4u{nNvHcDA=y($$J;8Zv-cg6481T0iO_4{ofOZ-km)!5w96+QBKj@dZ7d=eXe z1>t#1;XBW{35(GI^EzBMz3@DA-8?brgaKKQmlYiz0L3$sQe=W)IY4XWF;IndA ze?H3jr0RL588$tSc-^9XK>dsKwqnU=Y5U@P+jAtwf5hMQ`t&Cl?IAL!7V1yuF2{fF z{1nd@!Pg1XAEVRfP*2)}WGUJ=Z6DA%865i4PcWXqY{ThTMK#Y0$rRUZWd)zxqUq7R zl_AdB^3Y^VP3O2;_pQz)&x>JnaN+;`mzK4;&Gzf-u(E!r5q@R8L!QCQP!EEb(7w}scdq8mk+zGfg4a5SUGO70pFo9{(tf|h-XKFdhRJT zZ+h>XUlOp|Yru9sP*M9+%|GzfY-_J(!?jzR|JOo#7_{f~(01ApW&adywolmeC+OIA zd`AK9G~LtMhMN*W*LjSx^$_~b|FQD*n zSy@^1pW*aAb7(nEm#^!u%)G`xVA=Ky2tgv~uDiUi4dFk7vwaU@-w7Lz1Q=TdTTecJ zNPLYozAAJ=_|Ee9?}Yi4RfgZA_{g&FCrq;(QylT%kHx`T-_LD77vQoz=A$n<2<|tq zblhgy-U01lr?&C9=s50=z<;#GZ|UfGE#SW?i1A)G)VtfoihKL7=i|SGp6&gD^?~sz zhwW{@47&uM_a&cq*^g53m;^a4m|lX30hHW?p)SaC4eD=xU7_Y;7j%h*?gVFj@d1Dtcq>3O(*>%r^Z+)Q zYscEgpNFGA57OQH(tloCd|qR8uf=;_a(pm)!Mk@r_3l;l?)&xr5c&GpZ}vPbe!f+> zcJATjJnYGTC8H=##=FnPb#JujIf2GJZeEYXk$}i?9wdG}#8HmVN7tp}<RwBOb!KGv*X08jKlz-~F^2?Sd1 zjT1T3Z1={(XO7S2+U7^I zk4uTqLt_c=`4z=*%jbW#pA7)^@PZGB+uDE<&ZZ%TvK-m|a*GEv# zO}<{+n{^8R7Z_wLA;)13D4GM_z5yg34k8}c9RQN4?AUrcWG4Xb^TpKyFaWO8o|^y# zk^d8~H)HGOu%&13oc|M!-v_|nZC>FeG~HfTcfXvr^qijq`Y{EJ8Y%$59q_Y_^tnC# zxjT)7&+`-@|I}CWyjtV_-+`_7N6_@AtNf>{nzp?t;t{}9m8b81+U0jY$nn~E)=L?9 z1_*E;%fmbmFo068ZCyVceVjSwybZ{AKdf3F1?WAO0Ot?Ze2y=D9>;tf2LL0+ug>;) z4(@piI{Fmi6Xu(S`<#cP_gOpec?#$Ede`gz0Dzm`0K3x-5H}os=M|tLBitW{c>ja) z-KGxXemGqNX5OB~4cPW;WJc0!`6*y`J&&(Fu4`+X57^UgLmQVakK#U;1vTxb<>f+o z3Z8LLM~^X2&Eo6#)vmlw$20P8f91c(VE{@`{1nn2fYxpS3gtQYQ}>rjP1jx1SIL`q z_Y0qMfZAJ4&$XV<_BFrV65zkK`vUmyeBNiiAcJ4L$sPdC<913_(*5=MZd}s?U^{() zoQbaeAVy8k+5KbJmN#I_h=62~fSy(ZbR19>pqsKo5b?_85kZhVwgWEyv~+BJ>TQ1d z0e^kr{oZb_0qQ2u;f*xoK$Ds)YPw&_i^?boQB{&gc|10Zy{FAos70GjzVU+_vg(2|EvOS z_`-b}2=WE|+g~I|AHca__5vl9c?8dK1Z~@8Se^SVx(Euxhfmy3MB6< zVW5wg0bXhfc_=K> zXJ^`gA2ZGIe)vKutpX`P+s~t|Y|qWMmhSs1y)PQ@Nt7+ujGG>i{?#^`_%N?+wGr^jPC0UK*W(HJO@-;FQK;YGBvSxt~)_k`0r6boX~R7 zzVEAu{_yqQ@yvD&)IF2tgd5GdXL#nOTN22r1!F%x3aGnX28E7eQ_)4kz77Zzxu*$p#c9r zb(rr^iEs3Ms%tCf?K-CuP~6WQiq9+a7OwNJO4|RSGXZ{TGZNr!?f{VQiM-E?=hiDw z;hTNg^}2ES@dZW8aX@eBI=8m{a@q3%WBk*t@7MsdbMZUL$>sZ{=O>_RX#?(CTV3=q z&&T5Y9+N-~|Pfdrdjt9J$DiDAG`D)yI(ZUrL0fq79jb~cP{DPCraPCJxs@O7`8RUX47|_3F=h`QE(bJUQ*! zeVb(q1of`%d@L`3Y1{)$5&;<36#jiJ{P=1i67xD@f_5SbKB~RF9a%`;GJ9xvke!t^3Y&Rod@W-9;Nhd_uV7oP_w_yak2MbLTc)=r}KCCp(XL2spX8g zT3$b~0@)lsULr=n{}Yt}y=_ft)h}k#3GG@tK{K;b5n>`SYXBR4yd~cM5M^l1!ETybEfc755;mUNz}mS_M&9sEu|H zyAj8ov!K{zP;F|eIhH~}=L11!y))FMYR!{r%Dn<56mA>tRJ`&*0?D=CUMT_rvHsQs z{2rD201DEGvcL!8%jUld1u`S1@CpL53T;6EB7h@!4h~{QQtAzyEYknT)$1!IEv2&Y z?Y{rO9{4~2M~P>AgBCo;Ari^K_f~YC50;=rr@K{W3&cL^n3(R0mGhE#n@ZiW_$T$cL~75hn^Bv$mx+^4f>cI5otEAamA zuCyISGgtE&*caf(zNCnt@;71;I*f&GY!~LKgUkj%EuF-o!H<@&4Vg_Q6vQeLtCSY7 zk&%&q{5ZY1kSmxKA&yH)!OEE~nKjGH%VR==f`S?z9HnF3zUii#igSv#BOO zpV-~iK}7{4O6=8aO#J%#TI48pKYRt#P+y<%?SO@i%_d^y;dr)SsYZ{#+>7))RI%*X zi7RJXUP{Wr!G$U9H;@z(1SXQ@<>jf9Ry*cf0rIY>s3^p@Z^&Iq6>a#Pm;9?MD=Prm zJege;e^P1|p!6ad2MDN-0-)-2VvbnH=b<3cw%CZLIzO6M1ZFO z^YfiF(d+V1p}|DE1zhIq^YhB`^7kJ~U*K zOJg4lrK=CdQxfWNVT0;Ntbf_r)#l_7P{H9Y&=)DT@>C}@D0z6il&e&Phlf||^aP*i z12#G5xHz578xa;Z%9F@BX|fv1YQ?diRcUT%`=6;*4hx;=z4QHt-V-+$S942?ZP+?7 zGBn^f1;*kJ;;`}_X}7kTEY+Nx?yA;W9?sWH@AFi8PeB5ai$f%jq9URS6w7=zUrpf$ z_CFyp2pNUKiFatq6et11g55-(_{{(h53jAGgNKWYEChvwAGv`kEi=EmI>uxu`DlB& z**3m+T`Zf0*+JV3_%;(ijgSWaB`9eh8Q_qR5P-JFQ(TKQPo_I*rfgq;4X8pffT) zJ^cyL+rArOQ^!Qz5EoLSS`cJRnlPmS0DE@ZO)GPA>Rn1EK|lwv})7YBPp9p zmK7BlyK8U?l~y)dMepG{w<3#Wma;Lhq`u7>#Yyb%?D*+_57zhiM8U`Bv)}!@zi-5g z;D>zL=eg;f_xUz^;aJ&O@I6Xy_EY6;YoSaDYW{HNm|sXd2EWVW-a=6^J}F7%a`J9} zG@-P#)VAkc)ufe6pioTW7b!XfFK?HBKNyKH315ya_XgW`gfA97|uJ~SZtj3&^5C=e@jmkSBy8b2;oo+h+%D@9fk$4o?LK2j}PK z1Kppt)z4)5?6X6Fj!w#)Ilc#o#l_i`F-?XpB_knWes0ddkU9V8{v|Fw{S-Jxoc}V= zP*G9w@Vo&l1Z_7vHR=pRJv`b0Q8v~{|A;CEJml&>M6t_)nDSwjdFx`dGO`b#Z&DHy zm3gZb?+8Ve6qR*#y8(kM7>@pPc2y_zlf%ecOhSH&78J~H`((akaB#5eRbg>{Ua8{J zkCI9#K(PPM7T`OWA56ab#Kq+wUj?t@OXNF^XJBkpl&rhEySO-%(DBptUYF@J^=n1( z|5Mv}1~s{@dmJ}{kq%M?IdkXCx%+%LA8tNm-pS0HtgN-(|MPqP&ziOJ^Ou*GdwaEXga*75 z?HwI^7k6OX+>?$6;4!f7ASETWVe5ZiT>Mszr=+BWge2%oN)I+e8aXsLNXzvFi`2;w z?^L{?Bn*e^ zw=h+dD&I`)WnNW{k8YO5dv1@&z7K$Zy)w#@m<`0d`kn(}b6U**z|lVKt%fOjNjnG> zEr3JV{^d)qcUA7V@5se)T0Q#9CnyTioYK<%p!l<%L?KE_N{}|kT~vo;flY@R1l>$P zWI9AHHes6l27W9oENpGf&5UepZLu>lj;&at0#Kh@D0I}ce7r|Khmv2RqpNYAyh%^S zOwln@?=B-PO{0JitSu>tQWFSk1GLCF*R#5|#?^m=6D>}~ivCtPWs5)ci3P*ZzIjEg zc$|%tgoNY^vzezX&)R&Wt?A91H*E$o`WAOIG&I09Y0xv3MLmz@y=2ho)ehrya<8w7 zIe((E2vavj=gKt){%#=bft6d0dee$zblgBokFQ-KzA13Sx^gm!{e?wRMh1BIOJYCB zyyfxClS0^sNf7bToPdh^$=aWW_s8OGA|qd-ZJGJVU?bDdX<4$GyMo7Jz4sm<^t8r; zFGFYbp;3Jxz%|*@-0KFz?S|<%ozPrT;>)|I2Ou2$er}_{=%mu|++K45B1T zY8^khFIKytlai8jmvsLP%))G$DK03fy?T3&Za3(avh;FiHP31@?L}8LpMHHi6~!1s zLJI?&MT?)$9V&$1+>EY;8)Zg69;N@8Ui0Q6Ei94j**rxf^NL%)p|SBTN$$>I_l?7H zW)T~{oJZYbH`Xa25C|our?)pCFW8%}Jv|WvD=S!R`Q!#Tgp?)@L|msi%uyIeAT*hM zIIL*kI}0;2t;aUr1K{ic$=_~1*#afB_~fCnvAc3| zX1r1QZ^^io?r(l5EL59IM?89@oHHn!f`1SYfD!hC`~_lzgg7b&Jn*14e{G72iUNu1 z@4x?1QQqU^oxX=;`oPL{US0_asbsC&5f{KT z8J^{)fgA>$0=9bg>{)KXuXP+QQNXyyqK(vAE-a0INkxr|XQa8mzyH%{aOzzrNz^j@ z^&$fUgQTR!WIE3WCUWoqW3C^8tgX}kCoouIVq#)r>GTq2sLA31ey69U4-F4LDKUDa zukW#WEUHEAKac-y(&(kEsyg3*a+q&MJ?1bXDW=l(vib_!evXaqf5ae>Hdseb%P!*w zU{+L^O*8pEJZgrn-eIMb+?R>UmMvqiH8=jl<8v)tU8SimtE?2^=XVU9e+52#E$^>( z&k{|q{Mk@1OLt;qgdW3{)M^feLhBkDB*n!!(ZEWBHVPyp*Tblk1Mh)uOs05dV6j9Qba92UmOn4XLO7}Mk3qJXh@ar(cg?` zX%sj(Z8}*nd*L$QoNnFm+2f9kmdoZ;HHdv+J8)_LgN+5nF!c?BX_3(0eN~a6z^7Bw zQ`o5ZM4Kp0S_Mew&SBl*l1vx3dtUsXd~K%-d)<&%!r;+Sb^ksxOPztq|r8+4=P6iV z?sg*k8<{?*q^8(O-L?GH5i_01sj1f!MT#&5Dep}T z>cnd)K}}P$XO319b-V|}via=vcf|hwzIA_YnyjZE>Zjk; zt5@0B(!p$A8OR(T9hGon>*?ufw?rBmPA-4zBW%qoLb`B|{C*woJSj72@>m0q$WSiz z&hZP%Ady^Xe0)?&LLx6eA575I^>w

    WT`>+fcv~Jl+9iS`aSGrR$~~TF3Io3J_X` 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 Wnm#G!odN-$NL~59QmKOZpZ^1t5^KT$ literal 0 HcmV?d00001 diff --git a/doc/salome/gui/images/windowmenu.png b/doc/salome/gui/images/windowmenu.png index 6e47ee86a3927b04f5c146a9556eca3798b88e75..b1991900df1faf561a3451ff13b67f23b19bc86a 100755 GIT binary patch literal 13097 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 literal 3547 zcmaKvcT^Kf7RE(EP{aZ#ND)DbAX230(nOFFF<1h`NR`k+^9dyMqFCrH2!bF|42Eie z1ZlxS0!Sp%5|W4!1OkLm1%XgDZ}*+uef!StA2W0AoHKLI{pP#p{wDFdt(C}rsr|cl z?Ggc4U%ts(fAGeL&|cmQ*d}E1_DcYlFWH3^a7LJcM>}QTEi&ic7f3>%oGi0QtvF2ITv$LRMe!!P^aYuvv*dehzY>qaOe2Gw3sU>NNBiBwaC6Jt9EtCZJ4** z6*ii&ZkCVALZM0hd1dv49ddsj$x8|LDwaQ=&@z+Kdl_&^rMaE*Jr(4v~J7{joWp4OitDu6+=i1kme*c2ws|9 zH+|wRx3%!`&>4Yoo7m@cJ!U-=ay_q`GhqP;q8d3_ z-gD!V`wcItie3*p{!-wgElA%!pblRl(eGaiNo#7eb^cP>JKvBC^QDbFp4Vfpei0s} zYa;qy&5=D<#Ht2L5FY#})N-bFNJaPSIP|oU)$`TlFJrz`6@ zCJY;`X4{vuW^1b}0p9#4G#P@}ImW|dT>x$kOsd1uZzWmv4`TPHm zHoq%ZtS^a;ey9v)l{&>8LQC-}Sr75#tRQAZd|DOEKbIhL!5QV-An>yQ|(eS;YhSh zz;TkVnik@(&+|VYPcH*^1gKzt>gB@OW!Gr^4G2{`IZwl{JfjMX^#INyx~f<82|%EBFimMI$+P%^C?Beh(7AKWyk)Z#?m{p)P`&L)S;pNGH<9iJ&*HJEgt5*95L&48vQZ{aHIq5+Hq z+-sh)s2ZLDz4AMK;#GMDnI0^F5(yH z7-;ACxU`BV96ofs14thpezVrxcZGJipC`E3PjS4%~72UVqFvxYHcs84bG z8r!THI{y`W;!Q*dHY74n`P#|B$w}18+=YjRlj19VR!(rlP^ewZA~5Dgk_uaTF^Rh| z=dQ7i#~Wg*fnL$Lmfx(6i#hP87blL;5F$>|A40F%16{cNLxZ8@R!6@U8=A9H`%C;m zr|fyKkuvJrm}Zx~HwNgrk~fhz09jtC2&HKYx?h!B9Qke*>kVgsz%VVB<`6Um@!VZ7 z#Mr5EQQa%&N91HM5Ii#o4sBOWKdJU6%5aEi<2_Hr(6ua(YnIQA89{S6K`=g+7$ep)W%(8{W0z|pv+Bw?XR zc5xvY=WFN?06dPZF;j7Lbfi5>mN@8QJz$4lV@L!oPXgI|-sBfg#Z+v&uzu76My*rR z&B_~~X@C2B(L_(~Hm=Img>{JV#FG0{WC$HK&@NIu5AsF9BOZC(ioZ9#kkz{Kq_Ij+ zUDhS5oO`W}!S*e!Pc7b)J}UFwON1EA>g{gZ`HEDz_QE<#Q8TDaSpk-HVsn#@p*9De z(ekCZMX?G)$4M>T*6s&F5(H%aXmdwhWIvkaGC%lDl(`F@FC{PX3Ysg%0x2N+L@bZz#}p&y2g+Dc|~hKcu( zB@Q4eg)&Y|m0p^hXC8Qw*8KBn$At#x;_j3Hju6n_$pJ@$`6q^T76?HcMStKd(o-7m zGIPA!jVtZZnh+$1r3@N>lnrtSC25{pZJjYPJai{h!OmZ9+KfS^N~J7=CxcdJX;%b# zUGoGvRIn(NnJ`qQ(d#{%n1NN&4s4kp9tc!F+fAq6{!PB8rzdEvV_#D+E6pfo^DTxb zVh_G=tuVfke+w3nw34?-yGtG)jeqifXYO0m8RiZZ}48hdw}mp9V0B%iN1pc$03u|;@~zC;}Hg;1U% zQ3;T8abv)0Y2Ec==rL>2A9ub>v2Um*E=HN;N}mtx;?+P88dQGUSBkDrQ2l=RavK)2 zI+MS-FfVsIvc4Ut4SK6RU|?bXNRh}(;@fV3dzCcxQtc-|3ZHJWA~8-hs$Y&rJAX02 z8$9;j24}#zanG~tk&%&Hm-@Y>0am*>b$fsG#uvt)-v}R&o7zkMch|=(kk)9E-l<1P zR`9qBnrFZJJJB+9!!f@h%QQ_io+?i#6ACurCYA!af5rx}55f4rKG!G^_?vv4dT?NH zciq)2MaTsT_}k%Utgn;dKCPC7W$G|q1AZbU+%(VslILERE^Tx1;9e-Q=u9c%(EBN| zfql^3edjj@X%4NJXB;8f#r%UtOwxPoXG+c(e)4Y)s^047d-aE6ywrP2XKu1=C8ZM} zIcGQPpMr3oDUu8(}q+9OehI8_XZ!7#PH|Z z8&lv;RM24EvR_5Pm*t}7?`~0W&d{Tx%DwJlPUJ#-bmivI^~JZibdh}>8B0l2RMoc( zeLAWP_Z&9Fez=ny;pOD){M0J_M0e&XtAj3;8xya!`6dia#x)$__sh_IC09wQueuT0 z0Xkpnsutgw26I?(#|@JHvj%g!Mx=e(J9Dm0ATf?0IIi zt$*~t9pgS)Epo1zZwn$soSk4_5Q`+zq?Y~8nOyoz^QWwTiTDcMF~IUd{FEziuBp1 ztHTBO$f?fddKN{**3fgFtv;OLoEasFp(8T2Y@>fZsWV{A)mPw)FkPWwlBO9xz3H=f zP*rtR9pYtdjmh;*Sq7?lQd{cv0ZYf1Yba^L4&woO_Ex7uZM_X!%z_v*)av XI`VG%b5q`@Z5P18_HvDx+k?LYQ_%H9 diff --git a/doc/salome/gui/input/occ_3d_viewer.doc b/doc/salome/gui/input/occ_3d_viewer.doc index e27d346d3..4eb31fce6 100644 --- a/doc/salome/gui/input/occ_3d_viewer.doc +++ b/doc/salome/gui/input/occ_3d_viewer.doc @@ -208,8 +208,28 @@ on/off. \image html occ_view_minimized.png \image html occ_view_maximized.png -Minimize/Maximize - these buttons allow switching the current +Create sub-views/Maximize - these buttons allow switching the current view area to the minimized / maximized state. + +Create sub-views - user can select the layout and types of child sub-views: + +\image html create_sub-views_dlg.png + +- Sub-views Layout + + - Three radio-buttons to specify numbers of the views to arrange (2, 3 or 4). + + - Buttons (depending on the chosen number of views) with images to specify + view layout. + + - Buttons "Previous" and "Next" for possibility to change split schemas. + +- Sub-views Properties + + - Type of each sub-view: XZ, YZ, XY or XYZ. + +Maximize - the current view area will be converted to maximized state. +


    \image html occ_view_sync.png diff --git a/doc/salome/gui/input/salome_desktop.doc b/doc/salome/gui/input/salome_desktop.doc index 5ce734d80..03704ae0b 100644 --- a/doc/salome/gui/input/salome_desktop.doc +++ b/doc/salome/gui/input/salome_desktop.doc @@ -96,6 +96,30 @@ viewer.
  1. Close - closes the currently active viewer window.
  2. Close all - closes all viewer windows.
  3. Group all - arranges all created viewer windows on the same desktop
  4. +
  5. Arrange Views - choice of split scheme and list of used views. +\image html arrange_views_dlg.png + +- Views Layout + + - Three radio-buttons to specify numbers of the views to arrange (2, 3 or 4). + + - Buttons (depending on the chosen number of views) with images to specify + view layout. + + - Buttons "Previous" and "Next" for possibility to change split schemas. + +- Views List + + - The list of opened view windows - the user have to select corresponding + views to be arranged. + + - Two radio-buttons that specify an action to be applied to the remaining views. + + - "Close the remaining views" - all remaining views will be closed. + + - "Stack the remaining views" - all remaining views will be stacker to the + last tab area. +
  6. Split Vertically and Split Horizontally allows to split the representation area into two parts, in horizontal or vertical direction.
  7. diff --git a/src/OCCViewer/OCCViewer_ViewFrame.cxx b/src/OCCViewer/OCCViewer_ViewFrame.cxx index d9b3397bd..6e7667829 100644 --- a/src/OCCViewer/OCCViewer_ViewFrame.cxx +++ b/src/OCCViewer/OCCViewer_ViewFrame.cxx @@ -25,13 +25,18 @@ #include "OCCViewer_ViewModel.h" #include +#include +#include + +#include +#include #include #include #include OCCViewer_ViewFrame::OCCViewer_ViewFrame(SUIT_Desktop* theDesktop, OCCViewer_Viewer* theModel) - : OCCViewer_ViewWindow( theDesktop, theModel ), myPopupRequestedView(0) + : OCCViewer_ViewWindow( theDesktop, theModel ), myPopupRequestedView(0), mySplitMode(-1) { QFrame* centralFrame = new QFrame( this ); setCentralWidget( centralFrame ); @@ -45,7 +50,8 @@ OCCViewer_ViewFrame::OCCViewer_ViewFrame(SUIT_Desktop* theDesktop, OCCViewer_Vie myLayout->setMargin( 0 ); myLayout->setSpacing( 1 ); - myLayout->addWidget( view0, 1, 1 ); + myLayout->addWidget( view0, 0, 0 ); + myMaximizedView = view0; connectViewSignals(view0); } @@ -79,70 +85,176 @@ void OCCViewer_ViewFrame::setViewManager( SUIT_ViewManager* theMgr ) } } - //************************************************************************************** void OCCViewer_ViewFrame::onMaximizedView( OCCViewer_ViewWindow* theView, bool isMaximized) { + myMaximizedView = theView; if (isMaximized) { if (myViews.count() <= 1) return; - myLayout->setColumnStretch(0, 0); myLayout->setColumnStretch(1, 0); + myLayout->addWidget( theView, 0, 0 ); int i = 0; OCCViewer_ViewWindow* view = 0; - for ( i = BOTTOM_RIGHT; i <= TOP_RIGHT; i++) { + for ( i = BOTTOM_RIGHT; i <= TOP_RIGHT; i++ ) { view = myViews.at(i); view->setVisible( view == theView ); view->setMaximized( view == theView, false ); } + mySplitMode = -1; + myViewsMode.clear(); } else { - OCCViewer_Viewer* aModel = dynamic_cast(myManager->getViewModel()); - if (!aModel) return; + createSubViews(); - myLayout->setColumnStretch(0, 10); - myLayout->setColumnStretch(1, 10); - - int i = 0; - if (myViews.count() == 1) { - //QColor aColor = myViews.at( MAIN_VIEW )->backgroundColor(); - OCCViewer_ViewWindow* view = 0; - for ( i = BOTTOM_LEFT; i <= TOP_RIGHT; i++) { - view = aModel->createSubWindow(); - view->set2dMode( (Mode2dType) i ); - view->setParent( centralWidget() ); - view->setViewManager(myManager); - updateWindowTitle( view ); - myViews.append( view ); - aModel->initView(view); - view->setMaximized(false, false); - view->setDropDownButtons( dropDownButtons() ); - connectViewSignals(view); - view->setBackground(aModel->background(i)); - } - myLayout->addWidget( myViews.at(BOTTOM_LEFT), 1, 0 ); - myLayout->addWidget( myViews.at(TOP_LEFT), 0, 0 ); - myLayout->addWidget( myViews.at(TOP_RIGHT), 0, 1 ); + QtxSplitDlg CreateSubViewsDlg( this, NULL, CreateSubViews ); + if ( CreateSubViewsDlg.exec() ) { + mySplitMode = CreateSubViewsDlg.getSplitMode(); + myViewsMode = CreateSubViewsDlg.getViewsMode(); + splitSubViews(); } + else { + myMaximizedView->setMaximized(true); + } + } + myLayout->invalidate(); +} + +//************************************************************************************** +void OCCViewer_ViewFrame::createSubViews() +{ + OCCViewer_Viewer* aModel = dynamic_cast(myManager->getViewModel()); + if (!aModel) return; + int i = 0; + if (myViews.count() == 1) { + //QColor aColor = myViews.at( MAIN_VIEW )->backgroundColor(); OCCViewer_ViewWindow* view = 0; - for ( i = BOTTOM_RIGHT; i <= TOP_RIGHT; i++) { - view = myViews.at(i); + for ( i = BOTTOM_LEFT; i <= TOP_RIGHT; i++) { + view = aModel->createSubWindow(); + view->set2dMode( (Mode2dType) i ); + view->setParent( centralWidget() ); + view->setViewManager(myManager); + updateWindowTitle( view ); + myViews.append( view ); + aModel->initView(view); + view->setMaximized(false, false); + view->setDropDownButtons( dropDownButtons() ); + connectViewSignals(view); + view->setBackground(aModel->background(i)); + } + } +} + +void OCCViewer_ViewFrame::splitSubViews() +{ + if( mySplitMode == -1 ) + return; + + int aNbViews; + if ( mySplitMode >= 0 && mySplitMode < 2) + aNbViews = 2; + else if( mySplitMode >= 2 && mySplitMode < 8 ) + aNbViews = 3; + else if( mySplitMode >=8 && mySplitMode < 29 ) + aNbViews = 4; + + if( aNbViews != myViewsMode.count() ) + return; + + int SubViews3Map[6][3][4] = { + { {0,0,1,1}, {0,1,1,1}, {0,2,1,1} }, + { {0,0,1,1}, {1,0,1,1}, {2,0,1,1} }, + { {0,0,1,1}, {1,0,1,1}, {0,1,2,1} }, + { {0,0,2,1}, {0,1,1,1}, {1,1,1,1} }, + { {0,0,1,2}, {1,0,1,1}, {1,1,1,1} }, + { {0,0,1,1}, {0,1,1,1}, {1,0,1,2} } + }; + + int SubViews4Map[21][4][4] = { + { {0,0,1,1}, {0,1,1,1}, {0,2,1,1}, {0,3,1,1} }, + { {0,0,1,1}, {1,0,1,1}, {2,0,1,1}, {3,0,1,1} }, + { {0,0,1,1}, {0,1,1,1}, {1,0,1,1}, {1,1,1,1} }, + { {0,0,1,1}, {1,0,1,1}, {0,1,2,1}, {0,2,2,1} }, + { {0,0,2,1}, {0,1,1,1}, {1,1,1,1}, {0,2,2,1} }, + { {0,0,2,1}, {0,1,2,1}, {0,2,1,1}, {1,2,1,1} }, + { {0,0,1,1}, {0,1,1,1}, {1,0,1,2}, {2,0,1,2} }, + { {0,0,1,2}, {1,0,1,1}, {1,1,1,1}, {2,0,1,2} }, + { {0,0,1,2}, {1,0,1,2}, {2,0,1,1}, {2,1,1,1} }, + { {0,0,1,1}, {1,0,1,1}, {0,1,2,1}, {2,0,1,2} }, + { {0,0,2,1}, {0,1,1,1}, {1,1,1,1}, {2,0,1,2} }, + { {0,0,1,2}, {1,0,1,1}, {2,0,1,1}, {1,1,2,1} }, + { {0,0,1,2}, {1,0,2,1}, {1,1,1,1}, {2,1,1,1} }, + { {0,0,2,1}, {0,1,1,1}, {0,2,1,1}, {1,1,1,2} }, + { {0,0,2,1}, {0,1,1,2}, {1,1,1,1}, {1,2,1,1} }, + { {0,0,1,1}, {0,1,1,1}, {1,0,1,2}, {0,2,2,1} }, + { {0,0,1,2}, {1,0,1,1}, {1,1,1,1}, {0,2,2,1} }, + { {0,0,1,3}, {1,0,1,1}, {1,1,1,1}, {1,2,1,1} }, + { {0,0,1,1}, {0,1,1,1}, {0,2,1,1}, {1,0,1,3} }, + { {0,0,1,1}, {1,0,1,1}, {2,0,1,1}, {0,1,3,1} }, + { {0,0,3,1}, {0,1,1,1}, {1,1,1,1}, {2,1,1,1} }, + }; + + if( aNbViews == 2 ) { + if( mySplitMode == 0 ) { + myLayout->addWidget( myViews.at(myViewsMode[0]), 0,0,2,1 ); + myLayout->addWidget( myViews.at(myViewsMode[1]), 0,1,2,1 ); + } + else if( mySplitMode == 1 ) { + myLayout->addWidget( myViews.at(myViewsMode[0]), 0,0,1,2 ); + myLayout->addWidget( myViews.at(myViewsMode[1]), 1,0,1,2 ); + } + } + else if( aNbViews == 3 ) { + int aSplitMode = mySplitMode - 2; + for( int i = 0; i < 3; i++ ) { + myLayout->addWidget( myViews.at(myViewsMode[i]), + SubViews3Map[aSplitMode][i][0], + SubViews3Map[aSplitMode][i][1], + SubViews3Map[aSplitMode][i][2], + SubViews3Map[aSplitMode][i][3]); + } + } + else if( aNbViews == 4 ) { + int aSplitMode = mySplitMode - 8; + for( int i = 0; i < 4; i++ ) { + myLayout->addWidget( myViews.at(myViewsMode[i]), + SubViews4Map[aSplitMode][i][0], + SubViews4Map[aSplitMode][i][1], + SubViews4Map[aSplitMode][i][2], + SubViews4Map[aSplitMode][i][3]); + } + } + + OCCViewer_ViewWindow* view = 0; + for ( int i = 0; i< myViews.count(); i++ ) { + view = myViews.at(i); + bool isShowed = false; + for( int j = 0; j < myViewsMode.count(); j++ ) { + OCCViewer_ViewWindow* view2 = 0; + view2 = myViews.at( myViewsMode[j] ); + if( view == view2 ) + isShowed = true; + } + if( isShowed ) { view->show(); view->setMaximized( false, false ); ///////////////QApplication::processEvents(); // VSR: hangs up ? - if (view != theView) + if ( view != myMaximizedView ) view->onViewFitAll(); } + else + view->setVisible( false ); } - myLayout->invalidate(); } +//************************************************************************************** OCCViewer_ViewPort3d* OCCViewer_ViewFrame::getViewPort(int theView) { return getView(theView)? getView(theView)->getViewPort() : 0; } +//************************************************************************************** void OCCViewer_ViewFrame::updateEnabledDrawMode() { foreach (OCCViewer_ViewWindow* aView, myViews) { @@ -150,6 +262,7 @@ void OCCViewer_ViewFrame::updateEnabledDrawMode() } } +//************************************************************************************** void OCCViewer_ViewFrame::setCuttingPlane( bool on, const double x , const double y , const double z, const double dx, const double dy, const double dz) { @@ -325,6 +438,15 @@ void OCCViewer_ViewFrame::setDropDownButtons( bool on ) QString OCCViewer_ViewFrame::getVisualParameters() { QStringList params; + QStringList splitParams; + if( mySplitMode != -1 && myViewsMode.count() != 0 ) { + splitParams << QString::number( mySplitMode ); + foreach ( int aViewMode, myViewsMode ) + splitParams << QString::number( aViewMode ); + params.append( splitParams.join("*") ); + } + else + params.append( QString::number( mySplitMode ) ); int maximizedView = 999; for ( int i = BOTTOM_RIGHT; i <= TOP_RIGHT && i < myViews.count(); i++) { if ( getView(i)->isVisible() ) @@ -340,13 +462,24 @@ void OCCViewer_ViewFrame::setVisualParameters( const QString& parameters ) QStringList params = parameters.split( "|" ); if ( params.count() > 1 ) { int maximizedView = params[0].toInt(); - if ( myViews.count() < params.count()-1 ) - onMaximizedView( getView(MAIN_VIEW), false ); // secondary views are not created yet, but should be - for ( int i = 1; i < params.count(); i++ ) { - int idx = i-1; + if ( myViews.count() < params.count()-2 ) + createSubViews(); // secondary views are not created yet, but should be + + for ( int i = 2; i < params.count(); i++ ) { + int idx = i-2; getView( idx )->setVisualParameters( params[i] ); } - onMaximizedView( getView( maximizedView ), maximizedView != -1 ); // set proper sib-window maximized + + QStringList aSplitParams = params[1].split("*"); + if( aSplitParams.count() > 1 ) { + mySplitMode = aSplitParams[0].toInt(); + for( int i = 1; i < aSplitParams.count(); i++ ) + myViewsMode << aSplitParams[i].toInt(); + } + if( mySplitMode != -1 ) + splitSubViews(); + else + onMaximizedView( getView( maximizedView ), true ); // set proper sub-window maximized } else { // handle obsolete versions - no parameters for xy, yz, xz views diff --git a/src/OCCViewer/OCCViewer_ViewFrame.h b/src/OCCViewer/OCCViewer_ViewFrame.h index 8fe5e30cb..99cfdb064 100644 --- a/src/OCCViewer/OCCViewer_ViewFrame.h +++ b/src/OCCViewer/OCCViewer_ViewFrame.h @@ -129,9 +129,14 @@ private slots: private: void connectViewSignals( OCCViewer_ViewWindow* theView ); void updateWindowTitle( OCCViewer_ViewWindow* theView ); + void createSubViews(); + void splitSubViews(); QList myViews; QGridLayout* myLayout; + OCCViewer_ViewWindow* myMaximizedView; + int mySplitMode; + QList myViewsMode; OCCViewer_ViewWindow* myPopupRequestedView; }; diff --git a/src/OCCViewer/resources/OCCViewer_msg_en.ts b/src/OCCViewer/resources/OCCViewer_msg_en.ts index 029eda7dc..e505ec1ab 100644 --- a/src/OCCViewer/resources/OCCViewer_msg_en.ts +++ b/src/OCCViewer/resources/OCCViewer_msg_en.ts @@ -289,7 +289,7 @@ MNU_MINIMIZE_VIEW - Minimize + Create sub-views diff --git a/src/OCCViewer/resources/OCCViewer_msg_fr.ts b/src/OCCViewer/resources/OCCViewer_msg_fr.ts index c54f67989..74b9bfeb3 100755 --- a/src/OCCViewer/resources/OCCViewer_msg_fr.ts +++ b/src/OCCViewer/resources/OCCViewer_msg_fr.ts @@ -289,7 +289,7 @@ MNU_MINIMIZE_VIEW - Minimiser + Créer les sous-vues diff --git a/src/Qtx/CMakeLists.txt b/src/Qtx/CMakeLists.txt index 070d8c9d5..0caedd7b7 100755 --- a/src/Qtx/CMakeLists.txt +++ b/src/Qtx/CMakeLists.txt @@ -72,6 +72,9 @@ SET(GUI_HEADERS ) QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS}) +SET(RCCS Qtx.qrc) +QT4_ADD_RESOURCES(RCC_SRCS ${RCCS}) + SET(qtx_SOURCES Qtx.cxx QtxAction.cxx @@ -127,7 +130,7 @@ SET(GUITS_SOURCES ) ADD_DEFINITIONS(${QT_DEFINITIONS}) -ADD_LIBRARY(qtx ${qtx_SOURCES} ${GUI_HEADERS_MOC}) +ADD_LIBRARY(qtx ${qtx_SOURCES} ${GUI_HEADERS_MOC} ${RCC_SRCS}) TARGET_LINK_LIBRARIES(qtx ${QT_LIBRARIES} ${OPENGL_LIBRARIES}) INSTALL(TARGETS qtx EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) @@ -183,4 +186,4 @@ SET(COMMON_HEADERS_H QtxWebBrowser.h ) INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${SALOME_INSTALL_HEADERS}) -QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}") +QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}") \ No newline at end of file diff --git a/src/Qtx/Qtx.qrc b/src/Qtx/Qtx.qrc new file mode 100644 index 000000000..15aa9c467 --- /dev/null +++ b/src/Qtx/Qtx.qrc @@ -0,0 +1,34 @@ + + + images/qtx_split2_1.png + images/qtx_split2_2.png + images/qtx_split3_1.png + images/qtx_split3_2.png + images/qtx_split3_3.png + images/qtx_split3_4.png + images/qtx_split3_5.png + images/qtx_split3_6.png + images/qtx_split4_1.png + images/qtx_split4_2.png + images/qtx_split4_3.png + images/qtx_split4_4.png + images/qtx_split4_5.png + images/qtx_split4_6.png + images/qtx_split4_7.png + images/qtx_split4_8.png + images/qtx_split4_9.png + images/qtx_split4_10.png + images/qtx_split4_11.png + images/qtx_split4_12.png + images/qtx_split4_13.png + images/qtx_split4_14.png + images/qtx_split4_15.png + images/qtx_split4_16.png + images/qtx_split4_17.png + images/qtx_split4_18.png + images/qtx_split4_19.png + images/qtx_split4_20.png + images/qtx_split4_21.png + + + diff --git a/src/Qtx/QtxWorkstack.cxx b/src/Qtx/QtxWorkstack.cxx index bdc987b59..18354c847 100644 --- a/src/Qtx/QtxWorkstack.cxx +++ b/src/Qtx/QtxWorkstack.cxx @@ -2729,10 +2729,12 @@ void QtxWorkstack::onContextMenuRequested( QWidget* w, QPoint p ) if ( lst.count() > 1 ) { - if ( myActionsMap[SplitVertical]->isEnabled() ) - pm->addAction( myActionsMap[SplitVertical] ); - if ( myActionsMap[SplitHorizontal]->isEnabled() ) - pm->addAction( myActionsMap[SplitHorizontal] ); + if ( !myActionsMap[SplitVertical]->isEnabled() ) + myActionsMap[SplitVertical]->setEnabled(true); + pm->addAction( myActionsMap[SplitVertical] ); + if ( !myActionsMap[SplitHorizontal]->isEnabled() ) + myActionsMap[SplitHorizontal]->setEnabled(true); + pm->addAction( myActionsMap[SplitHorizontal] ); pm->addSeparator(); } @@ -3223,6 +3225,7 @@ bool QtxWorkstack::move( QWidget* wid, QWidget* wid_to, const bool before ) idx++; area_src->removeWidget( wid, true ); area_to->insertWidget( wid, idx ); + wid->showMaximized(); return true; } } diff --git a/src/Qtx/QtxWorkstackAction.cxx b/src/Qtx/QtxWorkstackAction.cxx index 4d9b05014..92205bc94 100644 --- a/src/Qtx/QtxWorkstackAction.cxx +++ b/src/Qtx/QtxWorkstackAction.cxx @@ -29,6 +29,82 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +const char* const prev_xpm[] = { +"16 16 12 1", +" c None", +". c #111111", +"+ c #ACACAC", +"@ c #FC6D6E", +"# c #FB6364", +"$ c #F25B5C", +"% c #EA5859", +"& c #C1494A", +"* c #B64545", +"= c #AB4040", +"- c #A03C3C", +"; c #99393A", +" . ", +" ..+ ", +" .@...... ", +" .@@@@@@@.+ ", +" .########.+ ", +" .$$$$$$$$$.+ ", +" .%%%%%%%%%%.+ ", +" .&&&&&&&&&&&.+ ", +" .**********.+ ", +" +.=========.+ ", +" +.--------.+ ", +" +.;;;;;;;.+ ", +" +.;......+ ", +" +..++++++ ", +" +.+ ", +" ++ "}; + +const char* const next_xpm[] = { +"16 16 12 1", +" c None", +". c #111111", +"+ c #FC6D6E", +"@ c #FB6364", +"# c #F25B5C", +"$ c #EA5859", +"% c #C1494A", +"& c #B64545", +"* c #ACACAC", +"= c #AB4040", +"- c #A03C3C", +"; c #99393A", +" . ", +" .. ", +" ......+. ", +" .+++++++. ", +" .@@@@@@@@. ", +" .#########. ", +" .$$$$$$$$$$. ", +" .%%%%%%%%%%%. ", +" .&&&&&&&&&&.**", +" .=========.** ", +" .--------.** ", +" .;;;;;;;.** ", +" ......;.** ", +" ****..** ", +" .** ", +" ** "}; /*! \class QtxWorkstackAction @@ -61,6 +137,8 @@ QtxWorkstackAction::QtxWorkstackAction( QtxWorkstack* ws, QObject* parent ) connect( this, SIGNAL( triggered( int ) ), this, SLOT( onTriggered( int ) ) ); setMenuActions( Standard ); + + myArrangeViewsAction = new QAction( tr( "Arrange Views" ), this ); } /*! @@ -79,6 +157,14 @@ QtxWorkstack* QtxWorkstackAction::workstack() const return myWorkstack; } +/*! + \brief Get arrange views action. +*/ +QAction* QtxWorkstackAction::getArrangeViewsAction() +{ + return myArrangeViewsAction; +} + /*! \brief Set actions to be visible in the menu. @@ -280,6 +366,8 @@ void QtxWorkstackAction::updateContent() bool count = workstack() ? workstack()->splitWindowList().count() > 1 : 0; action( SplitVertical )->setEnabled( count ); action( SplitHorizontal )->setEnabled( count ); + count = workstack() ? workstack()->windowList().count() > 1 : 0; + myArrangeViewsAction->setEnabled( count ); updateWindows(); } @@ -378,3 +466,606 @@ void QtxWorkstackAction::onTriggered( int id ) else activateItem( id - Windows - 1 ); } + +/*! + \class QtxSplitDlg + \brief Used for arranging views(menu item "Window->Arrange Views") + and for creating sub-views of current view(button "Create sub-views") +*/ + +/*! + \brief Constructor. + \param parent - parent object + \param workstack - Work Stack widget + \param mode - mode of current dialog +*/ +QtxSplitDlg::QtxSplitDlg( QWidget* parent, QtxWorkstack* workstack, QtxSplitDlgMode mode ) +: QDialog( parent ), + myWorkstack( workstack ), + myDlgMode( mode ), + myViewsNB(2), + mySplitMode(0), + myNBSelectedViews(0), + myIsCloseViews( false ) +{ + Q_INIT_RESOURCE(Qtx); + + setModal( true ); + setObjectName( "Qtx_Split" ); + + if( mode == ArrangeViews ) + setWindowTitle( tr( "Arrange views" ) ); + else if( mode == CreateSubViews ) + setWindowTitle( tr( "Create sub-views") ); + + QVBoxLayout* topLayout = new QVBoxLayout( this ); + topLayout->setMargin( 11 ); topLayout->setSpacing( 6 ); + + ///////////////////////////////////////////////////////////////////// + QGroupBox* aGroupViewsLayout = new QGroupBox(); + if( mode == ArrangeViews ) + aGroupViewsLayout->setTitle( tr("Views Layout") ); + else if( mode == CreateSubViews ) + aGroupViewsLayout->setTitle( tr("Sub-views Layout") ); + + QGridLayout* OptionsViewsLayout = new QGridLayout( aGroupViewsLayout ); + + // Radio Buttons for selecting the number of views + QVBoxLayout* RadioButtonsLayout = new QVBoxLayout(); + myButton2Views = new QRadioButton( "2", this ); + myButton3Views = new QRadioButton( "3", this ); + myButton4Views = new QRadioButton( "4", this ); + + myButton2Views->setChecked( true ); + + RadioButtonsLayout->addWidget( myButton2Views ); + RadioButtonsLayout->addWidget( myButton3Views ); + RadioButtonsLayout->addWidget( myButton4Views ); + + // Buttons for possibility of switching the variants of split + myButtonPrevious = new QPushButton( this ); + myButtonPrevious->setIcon( QIcon( prev_xpm ) ); + myButtonPrevious->setAutoDefault(true); + myButtonPrevious->setEnabled( false ); + + myButtonNext = new QPushButton( this ); + myButtonNext->setIcon( QIcon( next_xpm ) ); + myButtonNext->setAutoDefault(true); + myButtonNext->setEnabled( false ); + + // Split options + myStackedSplitLayout = new QStackedLayout(); + + QButtonGroup* SplitOptions = new QButtonGroup( this ); + SplitOptions->setExclusive( true ); + + // Arrange icons for 2 views according to next scheme + // x + // x + QGridLayout* aSplit2Layout = new QGridLayout(); + for( int i=1; i<=2; i++ ) { + QToolButton* aSplitBtn = createSplitButton( 2, i ); + aSplit2Layout->addWidget( aSplitBtn, i-1, 0 ); + SplitOptions->addButton( aSplitBtn, i-1 ); + } + QWidget* aSplit2Widget = new QWidget( this ); + aSplit2Widget->setLayout( aSplit2Layout ); + myStackedSplitLayout->addWidget( aSplit2Widget ); + + // Arrange icons for 3 views according to next scheme + // x x x + // x x x + QGridLayout* aSplit3Layout = new QGridLayout(); + bool anIconPosition = 0; + for( int i=1; i<=6; i++ ) { + QToolButton* aSplitBtn = createSplitButton( 3, i ); + aSplit3Layout->addWidget( aSplitBtn, anIconPosition, int((i-1)/2) ); + SplitOptions->addButton( aSplitBtn, i+1 ); + anIconPosition = !anIconPosition; + } + QWidget* aSplit3Widget = new QWidget( this ); + aSplit3Widget->setLayout( aSplit3Layout ); + myStackedSplitLayout->addWidget( aSplit3Widget ); + + // Arrange icons for 4 views according to next scheme + // x x x x x x x x x + // x x x x x x x x x + // x x x + QGridLayout* aSplit4Layout = new QGridLayout(); + int aPosition = 0; + for( int i=1; i<=21; i++ ) { + QToolButton* aSplitBtn = createSplitButton( 4, i ); + SplitOptions->addButton( aSplitBtn, i+7 ); + if( i <= 9 ) { + aSplit4Layout->addWidget( aSplitBtn, int((i-1)/3), aPosition ); + aPosition = ( aPosition == 2 ) ? 0: aPosition + 1; + } + else if( i > 9 && i <= 17 ) { + aSplit4Layout->addWidget( aSplitBtn, int( (i-10)/4), aPosition ); + aPosition = ( aPosition == 3 ) ? 0: aPosition + 1; + } + else if( i>17 ) { + aSplit4Layout->addWidget( aSplitBtn, int( (i-18)/2 ), aPosition ); + aPosition = ( aPosition == 1 ) ? 0: aPosition + 1; + } + if( i == 9 || i == 17 || i == 21 ) { //finish set icon in current stack widget + QWidget* aSplit4Widget = new QWidget( this ); + aSplit4Widget->setLayout( aSplit4Layout ); + myStackedSplitLayout->addWidget( aSplit4Widget ); + aSplit4Layout = new QGridLayout(); + } + } + + QHBoxLayout* ArrowLayout = new QHBoxLayout(); + ArrowLayout->addSpacing(130); + ArrowLayout->addWidget( myButtonPrevious ); + ArrowLayout->addWidget( myButtonNext ); + ArrowLayout->addSpacing(130); + + OptionsViewsLayout->addLayout( ArrowLayout, 0, 1, 1, 2); + OptionsViewsLayout->addLayout( RadioButtonsLayout, 1, 0 ); + OptionsViewsLayout->addLayout( myStackedSplitLayout, 1, 1, 1, 2 ); + + ///////////////////////////////////////////////////////////////////// + + QGroupBox* GroupProperties = new QGroupBox(); + + if( mode == ArrangeViews ) { + GroupProperties->setTitle( tr("Views List") ); + + QVBoxLayout* ViewsListLayout = new QVBoxLayout( GroupProperties ); + + QWidgetList aWidgetList = myWorkstack->windowList(); + myViewsList = new QListWidget( GroupProperties ); + myViewsList->setSelectionMode(QAbstractItemView::SingleSelection); + connect( myViewsList, SIGNAL( itemClicked(QListWidgetItem*) ), this, SLOT( onSynchronize() ) ); + + for( int i=0; i< aWidgetList.count(); i++ ) { + QWidget* aWidget = aWidgetList.at(i); + QListWidgetItem* anItem = new QListWidgetItem( aWidget->windowTitle(), myViewsList ); + anItem->setCheckState( Qt::Unchecked ); + anItem->setFlags( anItem->flags() & ~Qt::ItemIsSelectable ); + } + + QRadioButton* CloseViews = new QRadioButton( GroupProperties ); + CloseViews->setText( tr( "Close remaining views" ) ); + connect( CloseViews, SIGNAL( pressed() ), this, SLOT( onCloseViews() ) ); + + QRadioButton* StackViews = new QRadioButton( GroupProperties ); + StackViews->setText( tr( "Stack remaining views in the last area" ) ); + StackViews->setChecked( true ); + connect( StackViews, SIGNAL( pressed() ), this, SLOT( onStackViews() ) ); + + ViewsListLayout->addWidget( myViewsList ); + ViewsListLayout->addWidget( CloseViews ); + ViewsListLayout->addWidget( StackViews ); + } + else { + GroupProperties->setTitle( tr( "Sub-views Properties" ) ); + for( int i = 0; i < 4; i++ ) { + QLabel* SubView = new QLabel( tr( "Sub-view" ) + " " + QString::number(i+1), + GroupProperties); + myLabels << SubView; + + QComboBox* ComboBox = new QComboBox( GroupProperties ); + ComboBox->addItem("XYZ"); + ComboBox->addItem("XY"); + ComboBox->addItem("XZ"); + ComboBox->addItem("YZ"); + myComboBox.append( ComboBox ); + myMapComboBoxMode.insert( ComboBox, (ViewMode)i ); + ComboBox->setCurrentIndex(i); + connect( ComboBox, SIGNAL( currentIndexChanged (int) ), this, SLOT( onComboBoxChanged(int) ) ); + } + + QGridLayout* SubViewsPropLayout = new QGridLayout( GroupProperties ); + SubViewsPropLayout->addWidget( myLabels[0], 0, 0 ); + SubViewsPropLayout->addWidget( myComboBox[0], 0, 1 ); + SubViewsPropLayout->addWidget( myLabels[1], 0, 2 ); + SubViewsPropLayout->addWidget( myComboBox[1], 0, 3 ); + SubViewsPropLayout->addWidget( myLabels[2], 1, 0 ); + SubViewsPropLayout->addWidget( myComboBox[2], 1, 1 ); + SubViewsPropLayout->addWidget( myLabels[3], 1, 2 ); + SubViewsPropLayout->addWidget( myComboBox[3], 1, 3 ); + } + + ///////////////////////////////////////////////////////////////////// + + QGroupBox* GroupButtons = new QGroupBox(); + QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons); + + myButtonApply = new QPushButton(tr( "&Apply" ), GroupButtons); + myButtonApply->setAutoDefault(true); + myButtonApply->setDefault(true); + myButtonApply->setEnabled( false ); + QPushButton* buttonClose = new QPushButton(tr( "&Close" ), GroupButtons); + buttonClose->setAutoDefault(true); + + GroupButtonsLayout->addWidget( myButtonApply ); + GroupButtonsLayout->addSpacing(100); + GroupButtonsLayout->addWidget( buttonClose ); + + ///////////////////////////////////////////////////////////////////// + + topLayout->addWidget( aGroupViewsLayout ); + topLayout->insertStretch(1); + topLayout->addWidget( GroupProperties ); + topLayout->addWidget( GroupButtons ); + + + connect( myButton2Views, SIGNAL( pressed() ), this, SLOT( onChangeIcons() ) ); + connect( myButton3Views, SIGNAL( pressed() ), this, SLOT( onChangeIcons() ) ); + connect( myButton4Views, SIGNAL( pressed() ), this, SLOT( onChangeIcons() ) ); + connect( myButtonPrevious, SIGNAL( pressed() ), this, SLOT( onPreviousViews() ) ); + connect( myButtonNext, SIGNAL( pressed() ), this, SLOT( onNextViews() ) ); + connect( SplitOptions, SIGNAL( buttonClicked(int) ), SLOT( onSplitChanged(int))); + connect( buttonClose, SIGNAL( pressed() ), this, SLOT( reject() ) ); + connect( myButtonApply, SIGNAL( pressed() ), this, SLOT( onApply() ) ); + + initialize(); +} + +/*! + \brief Destructor +*/ +QtxSplitDlg::~QtxSplitDlg() +{ +} + +/*! + \brief Return current split mode +*/ +int QtxSplitDlg::getSplitMode() +{ + return mySplitMode; +} + +/*! + \brief Return selected view modes +*/ +QList QtxSplitDlg::getViewsMode() +{ + QList aList; + for ( int i = 0; i < myViewsNB; i++ ) { + int aMode = myMapComboBoxMode[myComboBox[i]]; + aList<setCheckable( true ); + aSplitBtn->setIcon( aSplitIcon ); + aSplitBtn->setIconSize( QSize( aSplitIcon.width(), aSplitIcon.height() ) ); + return aSplitBtn; +} + +/*! + \brief Initialisation of widgets +*/ +void QtxSplitDlg::initialize() +{ + if( myDlgMode == ArrangeViews ) { + int aViewsNumber = myWorkstack->windowList().count(); + if( aViewsNumber == 2 ) { + myButton3Views->setEnabled( false ); + myButton4Views->setEnabled( false ); + } + else if( aViewsNumber == 3 ) + myButton4Views->setEnabled( false ); + } + else if( myDlgMode == CreateSubViews ) { + for( int i = 0; i < 4; i++) { + if( i < myViewsNB ) + myMapModeIsBusy[(ViewMode)i] = true; + else + myMapModeIsBusy[ (ViewMode)i] = false; + } + onSynchronize(); + } +} + +/*! + \brief Verification if all items necessary for dialog were selected +*/ +void QtxSplitDlg::valid() +{ + bool isValid = false; + if( myViewsNB == 2 ) + isValid = ( mySplitMode >= 0 && mySplitMode < 2 )? true:false; + else if( myViewsNB == 3 ) + isValid = ( mySplitMode >= 2 && mySplitMode < 8 )? true:false; + else if( myViewsNB == 4) + isValid = ( mySplitMode >=8 && mySplitMode < 29 )?true:false; + + if( myDlgMode == ArrangeViews ) { + if( myNBSelectedViews != myViewsNB) + isValid = false; + } + myButtonApply->setEnabled( isValid ); +} + +/*! + \brief Called when number of views was changed + and it's necessary to set others split icons +*/ +void QtxSplitDlg::onChangeIcons() +{ + if( myButton2Views->isDown() ) { + myViewsNB = 2; + mySplitMode = 0; + myStackedSplitLayout->setCurrentIndex(0); + myButtonPrevious->setEnabled( false ); + myButtonNext->setEnabled( false ); + } + else if( myButton3Views->isDown() ) { + myViewsNB = 3; + mySplitMode = 2; + myStackedSplitLayout->setCurrentIndex(1); + myButtonPrevious->setEnabled( false ); + myButtonNext->setEnabled( false ); + } + else if( myButton4Views->isDown() ) { + myViewsNB = 4; + mySplitMode = 8; + myStackedSplitLayout->setCurrentIndex(2); + myButtonPrevious->setEnabled( false ); + myButtonNext->setEnabled( true ); + } + onSynchronize(); +} + +/*! + \brief Called when user selects an icon for split +*/ +void QtxSplitDlg::onSplitChanged( int theMode ) +{ + mySplitMode = theMode; + valid(); +} + +/*! + \brief Called when user selects item of Combo Box +*/ +void QtxSplitDlg::onComboBoxChanged( int theItem ) +{ + QMap aModeEnabledMap; + for( int i = 0; i < 4; i++ ) + aModeEnabledMap[(ViewMode)i] = false; + QComboBox* aSender = qobject_cast(sender()); + for ( int i=0;i<4;i++ ) + if( myComboBox[i] == aSender ) + myMapComboBoxMode[myComboBox[i]]=(ViewMode)theItem; + + for( int i = 0; i < 4; i++ ) { + if( myComboBox[i]->isVisible() ) { + ViewMode aViewMode = myMapComboBoxMode[myComboBox[i]]; + aModeEnabledMap[aViewMode] = true; + } + } + for( int i = 0; i < 4; i++ ) { + if( myComboBox[i] != aSender ) { + ViewMode aNewMode; + if( myMapComboBoxMode[myComboBox[i]] == (ViewMode)(theItem) ) { + for( int j = 0; j < 4; j++ ) + if( !aModeEnabledMap[(ViewMode)j] ) + aNewMode = (ViewMode)j; + myComboBox[i]->setCurrentIndex( (int)aNewMode ); + } + } + } +} + +/*! + \brief Called when user taps previous button +*/ +void QtxSplitDlg::onPreviousViews() +{ + int aCurrentIndex = myStackedSplitLayout->currentIndex(); + myStackedSplitLayout->setCurrentIndex( aCurrentIndex - 1 ); + if( myStackedSplitLayout->currentIndex() == 2 ) + myButtonPrevious->setEnabled( false ); + if( myStackedSplitLayout->currentIndex() < 4 ) + myButtonNext->setEnabled( true ); +} + +/*! + \brief Called when user taps next button +*/ +void QtxSplitDlg::onNextViews() +{ + int aCurrentIndex = myStackedSplitLayout->currentIndex(); + myStackedSplitLayout->setCurrentIndex( aCurrentIndex + 1 ); + if( myStackedSplitLayout->currentIndex() == 4 ) + myButtonNext->setEnabled( false ); + if( myStackedSplitLayout->currentIndex() > 2 ) + myButtonPrevious->setEnabled( true ); +} + +/*! + \brief Synchronize data and widgets +*/ +void QtxSplitDlg::onSynchronize( ) +{ + if( myDlgMode == ArrangeViews) { + int aCheckedNumber = 0; + for( int i=0; i < myViewsList->count(); i++ ) { + if( myViewsList->item(i)->checkState() == Qt::Checked ) + aCheckedNumber++; + if( aCheckedNumber == myViewsNB ) + for( int p = i+1; p < myViewsList->count(); p++ ) + myViewsList->item(p)->setCheckState( Qt::Unchecked ); + } + if( aCheckedNumber == myViewsNB ) { + for( int i=0; i < myViewsList->count(); i++ ) + if( myViewsList->item(i)->checkState() == Qt::Unchecked ) + myViewsList->item(i)->setFlags( myViewsList->item(i)->flags() & ~Qt::ItemIsEnabled ); + } + else if( aCheckedNumber < myViewsNB ) { + for( int i=0; i < myViewsList->count(); i++ ) + if( myViewsList->item(i)->checkState() == Qt::Unchecked ) + myViewsList->item(i)->setFlags( myViewsList->item(i)->flags() | Qt::ItemIsEnabled ); + } + myNBSelectedViews = aCheckedNumber; + } + else if( myDlgMode == CreateSubViews ) { + foreach( QComboBox* aBox, myComboBox ) + aBox->setVisible( true ); + foreach( QLabel* aLabel, myLabels ) + aLabel->setVisible( true ); + + for( int i = myViewsNB; i < 4; i++ ) { + myComboBox[i]->setVisible( false ); + myLabels[i]->setVisible( false ); + } + for( int i = 0; i < 4; i++ ) + myComboBox[i]->setCurrentIndex(i); + } + valid(); +} + +/*! + \brief Called when check box "Close remaining views" is active +*/ +void QtxSplitDlg::onCloseViews() +{ + myIsCloseViews = true; +} + +/*! + \brief Called when check box "Stack remaining views + in the last area" is active +*/ +void QtxSplitDlg::onStackViews() +{ + myIsCloseViews = false; +} + +/*! + \brief Apply dialog +*/ +void QtxSplitDlg::onApply() +{ + if( myDlgMode == ArrangeViews ) { + myWorkstack->stack(); + int Split3Map[6][6] = { + // View, Dir, View,Move, Dir + { 1, 1, 2, -1, 1 }, + { 1, 2, 2, -1, 2 }, + { 2, 1, 1, -1, 2 }, + { 1, 1, 2, 1, 2 }, + { 1, 2, 2, 1, 1 }, + { 2, 2, 1, -1, 1 }, + }; + + int Split4Map[21][9] = { + // View, Dir, View,Move, Dir, View,Move, Dir + { 1, 1, 2, -1, 1, 3, -1, 1 }, + { 1, 2, 2, -1, 2, 3, -1, 2 }, + { 1, 1, 2, -1, 2, 3, 1, 2 }, + { 2, 1, 3, -1, 1, 1, -1, 2 }, + { 1, 1, 3, -1, 1, 2, 1, 2 }, + { 1, 1, 2, -1, 1, 3, 2, 2 }, + { 2, 2, 3, -1, 2, 1, -1, 1 }, + { 1, 2, 3, -1, 2, 2, 1, 1 }, + { 1, 2, 2, -1, 2, 3, 2, 1 }, + { 3, 2, 2, -1, 1, 1, -1, 2 }, + { 3, 2, 1, -1, 1, 2, 1, 2 }, + { 1, 2, 3, 1, 1, 2, 1, 2 }, + { 1, 2, 2, 1, 1, 3, 2, 2 }, + { 1, 1, 3, 1, 2, 2, 1, 1 }, + { 1, 1, 2, 1, 2, 3, 2, 1 }, + { 3, 1, 2, -1, 2, 1, -1, 1 }, + { 3, 1, 1, -1, 2, 2, 1, 1 }, + { 1, 2, 2, 1, 1, 3, 1, 1 }, + { 3, 2, 1, -1, 1, 2, -1, 1 }, + { 3, 1, 1, -1, 2, 2, -1, 2 }, + { 1, 1, 2, 1, 2, 3, 1, 2 } + }; + + QWidgetList aWidgetList = myWorkstack->windowList(); + QWidgetList aListChecked; + QWidgetList aListUnchecked; + QtxWorkstack::SplitType aSplitType = QtxWorkstack::SplitMove; + + for( int i = 0; i < myViewsList->count(); i++ ) { + QString aName = myViewsList->item(i)->text(); + for( int j = 0; j< aWidgetList.count(); j++ ) { + QWidget* aWidget = aWidgetList.at(j); + if( aWidget->windowTitle() == aName ) { + if( myViewsList->item(i)->checkState() == Qt::Checked ) + aListChecked.append( aWidget ); + else if( myViewsList->item(i)->checkState() == Qt::Unchecked ) + aListUnchecked.append( aWidget ); + } + } + } + + if( myViewsNB == 2 ) + { + if( aListChecked.size() != 2 ) + return; + if( mySplitMode == 0) + myWorkstack->Split( aListChecked.at(1),Qt::Horizontal, aSplitType ); + else if( mySplitMode == 1 ) + myWorkstack->Split( aListChecked.at(1),Qt::Vertical, aSplitType ); + } + else if( myViewsNB == 3 ) { + if( aListChecked.size() != 3 ) + return; + mySplitMode = mySplitMode - 2; + myWorkstack->Split( aListChecked.at( Split3Map[mySplitMode][0] ), + Qt::Orientation( Split3Map[mySplitMode][1] ), + aSplitType ); + if( Split3Map[mySplitMode][3] >= 0 ) + myWorkstack->move( aListChecked.at( Split3Map[mySplitMode][2] ), + aListChecked.at( Split3Map[mySplitMode][3] ), + false ); + + myWorkstack->Split( aListChecked.at( Split3Map[mySplitMode][2] ), + Qt::Orientation( Split3Map[mySplitMode][4] ), + aSplitType ); + } + else if( myViewsNB == 4 ) { + if( aListChecked.size() != 4 ) + return; + mySplitMode = mySplitMode - 8; + myWorkstack->Split( aListChecked.at( Split4Map[mySplitMode][0] ), + Qt::Orientation( Split4Map[mySplitMode][1] ), + aSplitType ); + if( Split4Map[mySplitMode][3] >= 0 ) + myWorkstack->move( aListChecked.at( Split4Map[mySplitMode][2] ), + aListChecked.at( Split4Map[mySplitMode][3] ), + false ); + + myWorkstack->Split( aListChecked.at( Split4Map[mySplitMode][2] ), + Qt::Orientation( Split4Map[mySplitMode][4] ), + aSplitType ); + if( Split4Map[mySplitMode][6] >= 0 ) + myWorkstack->move( aListChecked.at( Split4Map[mySplitMode][5] ), + aListChecked.at( Split4Map[mySplitMode][6] ), + false ); + + myWorkstack->Split( aListChecked.at( Split4Map[mySplitMode][5] ), + Qt::Orientation( Split4Map[mySplitMode][7] ), + aSplitType ); + } + for( int i = 0; i < aListUnchecked.count(); i++ ) { + if( myIsCloseViews ) + aListUnchecked.at(i)->close(); + else + myWorkstack->move( aListUnchecked.at(i), + aListChecked.at( myViewsNB - 1 ), + false ); + } + } + accept(); +} diff --git a/src/Qtx/QtxWorkstackAction.h b/src/Qtx/QtxWorkstackAction.h index e5ec2d248..0d1c0abbd 100644 --- a/src/Qtx/QtxWorkstackAction.h +++ b/src/Qtx/QtxWorkstackAction.h @@ -27,8 +27,15 @@ #define QTXWORKSTACKACTION_H #include "QtxActionSet.h" +#include class QtxWorkstack; +class QRadioButton; +class QStackedLayout; +class QListWidget; +class QComboBox; +class QLabel; +class QToolButton; #ifdef WIN32 #pragma warning( disable:4251 ) @@ -50,6 +57,7 @@ public: virtual ~QtxWorkstackAction(); QtxWorkstack* workstack() const; + QAction* getArrangeViewsAction(); int menuActions() const; void setMenuActions( const int ); @@ -84,6 +92,60 @@ private: private: QtxWorkstack* myWorkstack; //!< parent workstack bool myWindowsFlag; //!< "show child windows items" flag + QAction* myArrangeViewsAction; +}; + +enum QtxSplitDlgMode{ ArrangeViews, CreateSubViews }; + +class QTX_EXPORT QtxSplitDlg : public QDialog +{ + Q_OBJECT + + enum ViewMode{ XYZ, XY, XZ, YZ }; + +public: + QtxSplitDlg( QWidget* = 0, QtxWorkstack* = NULL, QtxSplitDlgMode = ArrangeViews ); + ~QtxSplitDlg(); + int getSplitMode(); + QList getViewsMode(); + +private : + QToolButton* createSplitButton( int, int ); + void initialize(); + void valid(); + + QStackedLayout* myStackedSplitLayout; + QRadioButton* myButton2Views; + QRadioButton* myButton3Views; + QRadioButton* myButton4Views; + QPushButton* myButtonApply; + QPushButton* myButtonPrevious; + QPushButton* myButtonNext; + QList myLabels; + QList myComboBox; + QListWidget* myViewsList; + + QtxWorkstack* myWorkstack; + QtxSplitDlgMode myDlgMode; + + int myViewsNB; + int mySplitMode; + int myNBSelectedViews; + bool myIsCloseViews; + QMap myMapComboBoxMode; + QMap myMapModeIsBusy; + +private slots: + + void onChangeIcons(); + void onSplitChanged(int); + void onComboBoxChanged(int); + void onPreviousViews(); + void onNextViews(); + void onSynchronize(); + void onCloseViews(); + void onStackViews(); + void onApply(); }; #ifdef WIN32 diff --git a/src/Qtx/images/qtx_split2_1.png b/src/Qtx/images/qtx_split2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f36cb7273424280f4adad74efab09e0eaa70835a GIT binary patch literal 2456 zcmV;J31{|+P)%B@b00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q( z1uPsH* z2#_3DvgD9ET^~X9nR~sv+Wr5zGjq=AuCA)?^&fusJIS&TMv){Te*E-r|K?}E@W&;I zIF`(WR2?Z4PSMERk{`a|Loa@niU?d|fF5I^cJP0`&b0NWu1VR9jC!nO8 zV1fq%0X{$f=_h~phyVNKzyHS{fAZr4DT-x*Y$iq|TvB5o1WF{%m(jj@0FkaL4H=Q? zQWI(J{P-{kbN#s76v@HXqEW} zy4|e{aamZhFN?s%73A+N4$iX5a;0;C!9ic4{KeFvm0!q(Om9-=<-q1M za3_+X!0wLA0}^F5CqOigxi(*%np~z%50fm+TR`cBoZExnxJ5`N2h?p$%?`_Daa~vjEK-E>xr;o#TBSa`+Y@utSjL&}^MG zS2V-dRjHuPEDfC1T4ROuVh<7}H#l3IUGbDwDI@B6UL0VxI7cTyB8TW+Aq;vH;lMyh zVY~DrFLpUTyfGU$LnC~59en7tZ>sre87=ZXDm>=f8Fnv& zGQrKg5mP2&MX$uOTh;ke7GHR@gx{#<#433eghvR59G(Dp05d%w=4SoEach2Abd|TO z%!1${j+vYyfH`1}G{>|g!~`ap;eeYj{fTt->#P>+`&y~RRl-{8l9C`=wz$Cj0*NefXBpO$YKvDsY*f)%(pkVEbb1Ql}qka-cK5gtCTR(e`Odev4^ z?HcQ)Pp;C6)3W01ZVD~K1dR@}nVD7E`7#a1unHw}Z{$~bPJKv;)^?gEcBCkS7{!Oy zlu*~Fv6ypgy--Y!<8WX`+ry;U53?%Gl)scDLl+^+B(f(nfMFOi-rOA3u*4|30j`7Y zH6*w?&7>rk?ZOUpXQV)c&x_Bf#T`Lk46l>YS5NYL(_*WXc29RyL>eTal5T?O?kR;cVO0 z+c*Xs22Z9wkhCjseEiZ!vo+hGWLuQA`{4-nD9K)YJqc6s=~pppG7jw$C-*i#ye^x! zsjE`0MF^u~2w00BF)76}IY*M(am=jm$v2@^racPVQ>2vUm7tuT=G9#0(Xrodx)@F1 z6z?nn*F4|U{%n+9-K*=`)<1{Di1T(0Xr$&Rs;Fh$J+BV6tvYsX-R|oQ>KGp4#=Eak zlKIyEjE)V4Xb7{)!f}IyV6ET3w-VTHBAb~_+}KTjU}C&>Hw$6r>)pF`_82=ISZ5}= z4TnDTHYHK?v;|tORFbR$(tk>vVMd_J-eNE6N!o~JP1F5X=c$+5dxU;Xs$F6a-^r-%J{S&tO``7sNL~Bv<&1fHa&GAjy z<}+`{;^B_7E#*RPVJ2kr)eg;iHgFdhmJ+A^K=B4xvuhx`9op%QL+a$WWAvuuJ9qQ0 zsbh;&X3g=nZFt@UZcD#qdY41<&Fq{xpW1cI8Y~iTB_0|MM?1=*N8xJL;wl}-GWVfN zubY^ijcli{Nn^F1v4@%dxJ_lY>UKi&+I!v>58ZuR8d@v+^j9lWV>)3RIgSFbk)wRqT#>+T|Kv9m}_PDPVFB;7rFld6_q_Kkvh{ z(DreZd~2O|u0j8{kkcF6hiywaWO7{~7?T8>$*dnbDN;aBWg3TP-XYbxq;m}GZP~Vi zm2}r(3>UA|Wp!)kZs8H*m)10EVOD>tsClO!_RBw|*fSGV4HAMq#}|tCj0oosoAsBd>4Y zA{ESlXCkht1W!1XL(X|t6greVlarGcznYyhvNI0S4Fp5xi%m5jV5SYRla3lY z8`D}+&SWdASL(=rJLMf}Wuj}DT9RkhEERiX+l!r6lzGE5+97kPar`wAEfR(uJTV5?vn}uT>^>nCk_W0FG-v9F3-@eV?oT0!OsGZ?Wc=}{%^H`d9()%?9 zsp|MZx%Hd*=YRe6FaG`?Za(i1?@a3*3C;FOES2ZHcg0!x{y$C&yq3-}r~9SO^#1{M W!kDo3kAwUG0000Y>P)%B@b00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split3_1.png b/src/Qtx/images/qtx_split3_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a835d0dab337190a30ed8aa44029b1d802e575 GIT binary patch literal 2703 zcmV;A3UKv_P)%B@b00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q( z1ui(-{1W1AO87&{_4N~_YanM9Y538(SSuFNezf%Rc-rJZia?d&5s|? z-~RPq{{7!Q|NbBU@_zktFHs`73P^&|7kMI)G!~sIsi0w+j@}1U`2+(h#{1WpBBip4 znt)nVSJBi}DNR#p1TVRMT3+W#BAWGAf+ z^pvzx>S{tG#Uuy2LO$Y9%R+#WK$g5OlVyQwHHxSkh=_3MOLi=eN%WR7!+Z8yAFHESXl?TI(p4!Bm6_%S3KVDVY-dmLv%YZFgm98-*P9g{P=hC6)bT z+5by>4?*%Cf$qPm_XrDUsoN?7BK1N-Y9-;{?f_KcUQd$bf+`{a)IiCei>tJKf4>Zb zVZIvo%gN`@?e%6E{ zs7V23i_umJ3PC#$+bhtK4Yp*=UO+`a@jmr{z>BX@MPmcOi0oOX7CJ#EYI+ZmB4PV% zD@@fAkeX7IYCpc<%wDIGRP2RN1u#O1xYHh^HdEMV)9@B_QL{6%4YH)uMslchsz9fb zI&!Bas$!|qv17)^;5lgVbJ4jKTmYnPP&JL~<<5qwD&gQ4TOvJ1({7(p(Fq@p32kvk z3aUG$By{?geU>4SrEHfl>bVU(LxU^HOPKViRSb0Y%CG7y9h{zL0mh!I%9ScLCl@G& zHmP}`!=qHal0 zr7REbgddx#0wYB2CKwDMqHT7%)SQsQjybYSW!)vTC21wf*!5gqp>3G6FPW55ys(n@wp-~#D4)0r&J4D(EMv8SXq*jm?V5s(_oIQ%7vDsG`qf)7O+0){K zb!ltwN8JfadWfh^dzz)Dx5_g4BI36S0Mc9@ZnRvS<+~^q)f?Ec^A<#>%SjN|_LRcI zZ3korsJ91YDt1pJ=~R!8JL8^FEu|+dNt4Juc7vDqEr#EKk)$k`26UYtZeuc(et4>?81 z98aN|xGH+p9l1HhMXrR-!8*ropshtYLb06tkSiHL9;CocZBRHZgA13FWv9lH7DF19nvzOg!fI*iMzWKkOlgUfX*ujJOogIi4WP6h!lLW2 zq>@rt5uNlyf*!rMMX&D$!Rl?riA#CpD`L^Ge3Pw1#MP^-HWXnWG?HtAsY`R$E|D2Q zV%1GmG)rBkte|3%pyizp384dhO1XwHJx=XD@m?k_d24*SZ}j0^WTpux;1I&E`epd0`1Dg!0F|k zM$nbM4M7f5GrLzI;h{l8+rpi>Ekv&#zmi%s+lg}oRf=$WjD(HYv7P-|AGb$kVJuL3 z0>u+u`5j$}B+<^Q&=m|Sx69U=zuj;tBvHJj-HRzvD`Trn+cjqG+fw9{V$B*AY0IzC zxQd_3xammB)gX^{oqVylgHgLpv$lsILgc2&SF%o9w;*P^P|ZFKsGE`tT?g6sZG3605yVhonqCV=`n3y2Jfp(qa(_3tr)9)>1rFa z8r{iiY^ctxTHfi?=2?4}w%h*1n`hx%f|;dY>ZqrUUu`#v=+)<{y@uXO;ccjMdJ?kU zj$T|t#^);b?Ly$VywuFRB(lWfMLRRzE~Y1^K|GC|`m zrwn~G9Ay}I+PH19!PWMbaNNEz4LW3#Rv9s?0z}mwlN(;O^m+rYS;~2!)i`tl&)WQ>U6IPngXd&(ijq5s$?ZZb$M4*dhd$P+Q(gMm&4Ti zEe($DAg!zUCSlsFPt=M9hr(DjYoajz|+S*$pu92)-}M1s_0b0?K!B`YK!K2C-4MF#;39^UKgUrS>TOc z-Vg?F2(@l!Gv5umRP0Uj5*e8TjQyu`xPFR}OXF>(E&@y%j!!Z-ii>YZ?&@GpZR-vB z@#`PYD-R^(t9_rg)uU=YADe#Ci@F_(yWp(+_;u3x@cHps9o~G>l3_FRJSAky&N8%? z&#&9<=f`|LpSGXp^Nx~sG9%iV^g|z}sQpZqP?|p@v)zV@{vRSH-~KJf8~gwO002ov JPDHLkV1mP#Cy)RD literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split3_2.png b/src/Qtx/images/qtx_split3_2.png new file mode 100644 index 0000000000000000000000000000000000000000..67fb997c994e25d93ccd3acecbbd3e3e5add86bf GIT binary patch literal 2638 zcmV-U3bFNxP)%B@b00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q( z1uiSwErU$}013`XL_t(o!(ExZu58g!gsXZFI75~kV6YI52>b$m2EcE}JCKl(5EFt# zMnLQsSwaHiJ9~9~1l@bi5y{oLGy7+))z$UW9{hQbA3p&>&o%YN0tP!E>Qa2@9wm9OFTc@HJ3z&TcNfw#+%ra)TK>}%(Wr^%Z zrX!ga)kbZJ2qK{%6Dqo$qFM=sS}MA+)BAd6kx9^IsaEP@QOIg#pCOI7Nm zb9kXElcKa@oY$q#Gopc6Gi{M{)E{d$$83%JvS#RCJ7@=GZ!kWStPSJsC|ODT+=Gd8MZ-)x>zp zBO#0Dqu64KVG_wnriuBi#tIaQz#h0aksR0#*+1qi5VF)TNQ(@^3q}DY5zh1rvYfQ4 zl0-{mWQi%JJDt2v8be3LT=+r%bTBrFtaMygw$)lVERzjX=Dtkl1nk`d2sOre9>16r zIt-4Jt*(&{(ZF5qxla*FiMxS#IL`}B1j%yde8`fv-MUIiwMchuAqhS5+ji+L{i6Qn}gMlhn9poOd;n&Wh_NVO&EZW5Q>BhuH=Wum(e4Fx84dGU3uD>N* zw?Up>$gh9;N3Z|*?eCzaQeyif?g-g#xRgUxk(NCe|CB?HhLvS1YD>{Hz#d(`jK(PH z90OK5vK(hDoS~QWh*-Z7wPWZ~H9dqNW%n{H8-Py#`A>iHx(3CLY&mPo{Atx(sEn0y zm#M6?T@i{s93kg19dwW^v)*YFgYwTFQ8Q8E^0ko3q-K)PRjZcI(3rSW8&Fml?ef|r~>`(nK|Nc){(~C3K zd5*<u>)KQ)60HpQ7&3cBoRe<_lR{Pq^9*i~*UF?irx+M&SjW^;I?U&tFrN>$?8LMCFTb2KaMS6{}KQQP*Q8^)>mh zhI*nIri^>Td8T@6Yvqq|1&}XKZ#-%3IX0la@H7@RPMKJkIZmuW){NPLXB}GHO5lh*Va(5*Zh*eYn@zf_srFhm zvdk~3qcba?&)YjceEd_K@tM2uj67Y(po#Nq`-DJ+Xc^ zpq+3o&ws*lc$(hRCz%wVCknE2mT}bdPXDH&JGS^pu^+(ACLP-8nW!C|Yu@)fb4GC{ z-S3>ktJR!!b&A@LZ;HN>?g2C zu%fGo4yq9E#K@`WOw}H>*7@I0?hwk=^b=b=V*ymkK{d0DfcreZ03k!pwX&-0CZ5`)o<5Esy&$2`Euj{sb0d+_(%p}qxgCnm z4EdkY^Mjq<@e_?*efMSF33wO>cf6*R``qwg>`v3p{07*qoM6N<$f_CE!CIA2c literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split3_3.png b/src/Qtx/images/qtx_split3_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cca6c6630038743d44e09dc7e2992737a0291fc3 GIT binary patch literal 2717 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 XK`jK)4P)>j00000NkvXXu0mjf?7vrP literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split3_4.png b/src/Qtx/images/qtx_split3_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ab739c89616928e75738fd7e5c36cad2b7e65c20 GIT binary patch literal 2672 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 literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split3_6.png b/src/Qtx/images/qtx_split3_6.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1bbcf58bed4eccbf11aad811cbdae9a039c817 GIT binary patch literal 2637 zcmV-T3bOTyP)%B@b00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i*q( z1uZg^Yj{oo013@WL_t(o!$q0TjU-)i!^x<;$q&hhH9?TE92}(17;FQUwNpA|s&1O_2hKY);+O==(i0I_EJc$p<%>jb0MAiclr2 zy$q&BqEyaaMiDwX07T}bLvrG(`hEBY)r~a>&mq~$_H&T%H@L=X?o9zfD^OH-k`9w@ ziV9Gbq(f2p6+V4H%$S2jwOK-9?`T(5h1tfc1ot(%1q&?>X{Sy-Ijxn0+(V#Dr69NH zV>y{ooKHCwmP)1DQu|Y>@8uJPlVj0PPzVxjTH-UNzw@-%O{GBysYvQJt!XX6L6%aG z3f1-m0Z^=_h3cGCCPeXZ6&;#F%cfqa1^oNe@^3U%UFD7BZMc1HQE5dXl-}nbD50s9 zo#k>KQi`mY}$_Hy$X&`%#M87FA87avlMrri^dK-^dQPHY-VmBD1!T6wvtUN1&Y2T6{l)txk7C;PE%Vu+w5(c-3#wl2-$RGQ`*u* zTewuWCll&W^*NT62$%eUXF^Jmb--%aU)tVjj}}U^CDTRL$~onu?`B*O4hk)eQrt3< z63wF7?foj7DwBfRa;vekC`y89H;3tV`G!i3Xr9u$h47Kywh~qdICnfLYRUF66y;qT zsdi&veN}%IK^;}-^dh7VJiw_2n#1O&iV!{ARr?k@Rl6C3?E9+9d#K(w1vPu=soG42 zdAY!y`>OhxM}=1I*<2|S-KXh7kJ_sCDXOcMi}7hn5ltCP?<64f1(F!5DwVdUb4P`? zxmXufM=dGdBi{6&b3Oz0;S!BE8-l`VmAd{`$4|TeG4jptKoYWlnoMeu(Rni>^ zASwHdjd@pemUV3_dN=&G6H5gvxwVzzCpzVk`qhwD)28ZOHKO83ifT?bw_YSd%C-QU zDNzSnH1>f(t&FG)2Y#tDoLD+12u>O0yYRh@oYad)O<6q5B>DuX|robe%oN5xe+O1v~cg=^r?^HHlt7U>-+2c{cpei`u)GZ z{Qdhl>C=8yrQx_al^1}vLwgp@7u@7si=CWU6XINqtgM!f6m_Z${_p?&kJSr87T5wy z*c91D@};wqD$RX^Wmib}=PUl>m3fJ)Y zDzB+)xr!MSnPTk*SuEO1Q0oc_S=uU{?Pk;3ZH+IUH^cLh^n5;z{rM;w57??~U_Jx* zBg|}K9&07ln>{SSJZd#oq!~{4e*Q@DO|uk@$?=$jKct-@mE6rDTM6pVLKA2M3tJm& z*HCP!{gjxABagp4)l9hL5s&wX_n)h-bcZ>}CYvH%!t;h_(b|w`wVfHjU*!)aY|&#) zyYmzHH0c(ys#m;hsumDf&7q~{7JXSL6yw$KNk((bqck&$G@7^0w`akAm7t(n;lEu? z-@(~bj@fZlQtOAHX!LV9q~-5jke?XhtHs00iA$sR%)KP-?riU1ydp!0C5T2XZof~_ zyiY7RM!qsbkdY#+alx=>60-cZg%F%;yF~ITjh%|grdd0JCDI3lYas+>$KfvNO+eX| zhvPbbNNHDhWo7iXS8qu`tzPF?0&`h26VZOS5LKcI-%0*t8umB#qBkQ7R}M&I&T1%eQic*E7Ry% z?xkFTa_8NBArcIIV$zV3=DT_xE|GU!W8BgwCwP=pLxYA3qN+HxOV)IiNaT0D-6m@# zj%;_obJk51u70I9=OrXXTJ!G1IbVJDFFd{XUo-oUb-xUDbpWMv!xk4}Uo}+A?;h22 zj-15OT7W%wXI4LyY^sBN1=`QWB~IAXHnYSlvI1tOSKmd&W-cD!$$O vLs_;iyY$~6F6O)|voC?M6nR9Xp`iZ<(mLqMIa1>~00000NkvXXu0mjfCvGCR literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_1.png b/src/Qtx/images/qtx_split4_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c11725de8a9a4d16e30dd1a266c292311c84aa GIT binary patch literal 2658 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 QX#fBK07*qoM6N<$g3OXz^8f$< literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_10.png b/src/Qtx/images/qtx_split4_10.png new file mode 100644 index 0000000000000000000000000000000000000000..acd466ac8a71acdb29024f6d78468a2256b559f9 GIT binary patch literal 2695 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 BF^T{H literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_11.png b/src/Qtx/images/qtx_split4_11.png new file mode 100644 index 0000000000000000000000000000000000000000..6b35be32fb3576722ef15174660e4f516d9d7087 GIT binary patch literal 2680 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 BO1uC7 literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_13.png b/src/Qtx/images/qtx_split4_13.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b8d215f439dbe3d5793498a20a11449ca11bf2 GIT binary patch literal 2655 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 N002ovPDHLkV1l*)Je>dl literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_14.png b/src/Qtx/images/qtx_split4_14.png new file mode 100644 index 0000000000000000000000000000000000000000..2c66e4e17d6fa143968214fe786ad9ca24469b37 GIT binary patch literal 2769 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 literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_16.png b/src/Qtx/images/qtx_split4_16.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9647aeced32662974f85b73ab9cbcdc50a21f4 GIT binary patch literal 2762 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 Q9{>OV07*qoM6N<$g3A7Y{Qv*} literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_17.png b/src/Qtx/images/qtx_split4_17.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe663dd433317ff2b6739bc215cbd7281ffe05e GIT binary patch literal 2741 zcmV;m3QF~fP)%B@b00001b5ch_0Itp) z=>Px#32;bRa{vGi!vFvd!vV){sAK>D00(qQO+^RY2LcH&8P1^;b^rhhM@d9MR9M4B znLDm*T~dT2_N~4@!srGG38!6pE=V-Ej01@oVB<3zCV&HOPXG&(|J2He4eS{_R>RFZ_Os>V=cTOyT=AxJi&MMC>2D+pRyrBYkuxJvuDZ3^ly zfB9E`{HK5X<-h*T&rca7)kv^^EK^hvuJ)A#rKthvK!Aa$G^2{9GkwwavG#0oB}-K; zn-&Z89@RxI^XM%xvu8V%Q=zBovtRXKgd|n6Ma@RVxUEc8 zH+iJCK}yBY3OW%bO+%{}wow7ew(dz?DyhOI7`xO|ep<<`l!8PpQB<`z&uyKy5|i3Z zQ=?XDQqc#S)-r$*wjjl*whRTiAhod!De_PX0M4NA@2pW@TWLj>Xevu=!1Ot^R8@8> zr?E7#1Xa|^8}SP0k(9&&Q6-9tfJq$l+VDyJu5y%{dD|_54VrJxk)>wPGfhXes4|V@ zN#sN*39lAO=JWkfA$jvAdaK-;T1t7K5-EBV5J5hf+S5u(B{ALqRrRRCb%@@rM6n(V zz!H{v`(%H<)guA|tF*zIgrSdlH&F%CR#kz9qL;L7vT30RtHr*D!$nRiyD?9NM#Xz} zzbSQG$59hSb`u$KsN*=uDO5k&?LO&K@bZ5Brfd6W`#5?^T-Ti#H8yV&A$5ovSs_sb z@Jaz;Db$i^kf9F5s6v(8v~m+}G8@zeKV{OV&DKm5dLxXOtqOp|{*fXBPeHaef@=3? zzRSL;D;!0g2-Ivb7pW6ABqb#+BISitw^?~{RZtLWD+z8PWh`}MPZY8(kl|1ZlyntU zsIpp4Z!#hs>QM0$z!s6Vlx?@&dPC28L5gKE@Qh1TMdPFvnN~Ul46TZ28uXeiVJk(n z7DBicVwCMnP@o~scEU-tu0*CnssbKR6(KQ3<$w^?7{b{qkl1$J(ibYlavNa;}r;Cu2~tsS;}3M$Q0Lah-#iAf`|hO})~7+&uns}T>X>I6%`Af}A! zf_y?{HI*u6ok*#i<&X4O*y*fQ(rww&))J08H)^Xz!YGdvVTY_Zg{Y}2lYNmM!Nhdb zvig+SV{}@ksa}`{@b=s{ZqQ~uqbnvsqS>Kv zB*k{Yq%qWrV#0&cDT3T|Hu{9JIb8`oB0=%B+6hQ?Xr~XF=#koKq+Ak!=m@QUqH~pl zNJCkm5G`48T!vV*P(Ny>rL`@+>!sEbT}_cPl|x%M>mMrn;zkV7Fuh(+M4+vh6QsMBKx!_Gado7$$Zp=&r*^gk+p7MEmX!6H zy^poXj$}ZZc~jMPQ<>7Wa%qUAQ>k!_GSyzLAyw}kr1q%94QTU&LhaWd{`p^6G4^%F z3-i9HSHWlQppmVD+xq8ke*EsY|2z4**VBiouAf~yKKmW7eK9Ksg#=e=n zUU`iY^g+_5kgEoshBDg^ZFkT}RBZxZ|N5UrdZslV)s>`(1m9X!QlpasId~GBufO^I zU;o|T{>Oj+&!1!^#&r~nv{@b@VNyk32a!4a{N;Cl_=~^)4HnEIU0o)6s2J5@lq3?1 zqzICDuEZ1;`x}vDeXlC%OXwN;10VIdqN}zp-N9!IJEhxnN}O|2cQ!b(GD;pT!c}6}dibdBrPqc5ZI?|XHB@9O`{lMjV8l}m3q)4i zT9{UGlb}pJWR#plIT^`Jr8RxClc8=<_dc4a?SxDj&WG}g_b{03hY?5JpbsQRUXIKL zxJtA5arQTCO-oZ@HGOqcPn8eTwWVe!@xyFN&p2ds3ZqN{>@Z=MXqj@y?M|9p{2`s` zq)gBB_3E1VW)w85oS}8LrKZ4G8nSJ69b4<3XDLYP{?LkQN%JCiP^wmUvSNy|5nNOp zstm~xXC`%z8svpuTH+6HlL7Qj9Zs4lr)TqaiX^N|A^gD6bmbVKMN&b;(@B@)f>K}+ zd|DS87FY$7v3P06(`1L#X030OAj09sVMvE@(pkWooDqrCTmT0qZPb!M?Hs1z@NTx2 z-ai&JCa<6Mk5UcU0Jg*zN$;cy1J$Ur@mfbmd=KHJ>Js`?F9O7++DvN0MTmw>Q|UNN zqs*krX{I@K%0sHprYOVpyeP?pCLFyJ_CC{}yEoVn?l>~861=l-BHC0tyrgvJrD)Zu zLSbr1R+SaqO-5dKVAEZGs8QCk-?U2M(3aCcMj6uf9gFT_!&~M_bCp0O6OwdzH-u!) z&|i~ZLU;Wlh3oBaNfVer*CI*ooI+sFr8ZSKH3~&)9O7Pz)JrLDvpyTPn{?ceG(#C3 zowjea&9pP%Id>3kboCn0tn+QX4etpdC+EOdGM$$sSNb5S6Rb&t6B zNo`%=n?}9c!kuDXXl-PGq)w`7M_EyuHl*cCB{^4^JAz57wwxuXlD$uO6GmT&hGgDv zINzUcp;KP!bilYx7G2eblclgBZnPaViD0)nbKSR+yJcG7>aN&RV5W~Z6Gdva#`hj*ewn)8NtW=N*dX|NiLCKgIFVHZ73CkUNw>b2QL zo-pj&i*Bo|)WQ>Gmw+!dRT`Wez1LNnKAFkl)iEURwoN|q7$<>rZ?c+_vw(T{YBZ$t zKJecBL}-%c+3{fXQWyevv$;j6aumnOmFMilCW|yBV)tn3?zghu>AHHAS&AEtQyLO? zPC_FNka@3^tJCfvpB-CRy^d(+kfw(dG-T#{p=74Z|7SwnhNIcZqr2<5JC_fVqHwy` zCR=%TyV+f#cjE3HnN^0y!{ z(m8KDIYUp|s}py9xNLW~q#%-BO4&sac5}XwG%nfBNlT_S-R;mKeD^+WU(H*odYVR2 zchWyA$+;wTbOB^m6w%RLJ>6TXmD>kW2>s zno~OYt~VNe2IRF$^de**tH4Cc?#XnP6ENLpFd#df%%Z2I(|uNx?q=H-v3V(PN;OTI zQKo5gLSdR{2e4J2bUPC7zB)NHop+~jGRgc}rRQ|(^h~>5-Y%%@lcU|6UrFBw5xagI vPP#U$lu)Ti$?O9FJ}cqNMS@_Hu>t)b&oX?pV)dKk00000NkvXXu0mjfgnB5! literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_18.png b/src/Qtx/images/qtx_split4_18.png new file mode 100644 index 0000000000000000000000000000000000000000..2254773773e36baa8a92102a7c6c1d01635ffd0e GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_19.png b/src/Qtx/images/qtx_split4_19.png new file mode 100644 index 0000000000000000000000000000000000000000..86c7dba4d05b45832df4efe3956ee0b3e6d5c21a GIT binary patch literal 2655 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 N002ovPDHLkV1hEA6Nvx- literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_2.png b/src/Qtx/images/qtx_split4_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfbf006d0c0dbe7d92aecc7069aebc6dc200f16 GIT binary patch literal 2513 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 bvc>-a%dtcy@Z5cF00000NkvXXu0mjfJ>;Ll literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_20.png b/src/Qtx/images/qtx_split4_20.png new file mode 100644 index 0000000000000000000000000000000000000000..634fbd5c5ae4f0df1a92020b0b7232ca4ab42cd8 GIT binary patch literal 2732 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 X@s_0Upc|eD00000NkvXXu0mjfIPhCM literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_5.png b/src/Qtx/images/qtx_split4_5.png new file mode 100644 index 0000000000000000000000000000000000000000..1faa5e0a5e032ebb65c51b6fec5ffaf67c1018e4 GIT binary patch literal 2758 zcmV;%3OV(OP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RY2LcHq39I6C!2kdXSV=@dR9M4B znZ1f`-BN`|t=)kd7^rAuAO^-KkQ0~*-iROwUW}Jxq8JFK1_~x3C<=<=zj$`9IiAO$ zW`Bnbn}%NN?O8Re#@{=C^@o3Gh)~xXt0yaGx}trnV~!h_%LD6=ZvKqB7AfBh>#h>D4B_jV*{0${i78% z8R(q_!h>g?i8?h8B%>K26T<9(gmg^J=)Da_tCEhk z@0rO^$Rxrcw!;rcZx_c87^+l46FnD$>F3UNH1m*V=Pl`ln97Kv1#-0Tfyoet`@bel zIt`fAn(6JQdzM9y#Mv%P)ATX7q(+4(MH@q#!PfoN>;cbS-b~$=h&Fo*y_aF;?rIX* zAv$TB6a94GY~2g~7;I)t9J3rX^F^LLo}_FmT?Sj4PMa-KJS6z;IGzB>L`pnz&&D~A zG!8&5E=j=vkU3U^Lg|iJf@HGbz4r*a#Np72zLjuD?MI&kn-KiM!_#5X>M#r*j!h)z zDhck1}Mlta>PP( zS__4bnC;F=eF_=?{F%RhY(8Z)1^*>_J_OjU1?bmC#Q9$#i3hU+LE$SwjHTYIAQC+!^jz?D_t?_ReJ4&lSCVzU z1o;?prjx??N85c)Z&C`PD9fS?Z?%U3{G=kNLo+G(03Ox#M8T1 zm|y#qUp!|W6@k^Xu*gZ|r#dybk1fitEL&N!So@_;RCRL59PU!k0&<*C(}j zB%|m1=jYG<_~(9p#5u8rriT^D?G~cVsXFXjO+F-x2Jx!2HzO}D4x~&ty^?OamoneJ zZf@L@n-9UJiq+KSkw zv2DAyOz^|28?!Z#XwUU@G~>|3mD8~+{Z`I3OlAX?-3|BRt`Lm0vriLkbg;{M+*72u zybMw(N#5r36w?UX+sx`@x_UK-*u9eo@u=oLM#WZ?~22ccg=vf zP9$+W36pjMi|pUtjA=olv6+UeU^d@~$i#lx%+0p|9gnMdyp|$XVry!b$U0~aC-JO2 z3%XUX)m!$qt)Z;Kfx8Kq+60FubZIpx!%wg z3vY&PvV+Um{{v8`%9T z@XqpG2?s`Y!Fy%#Dwv#En4Yuo)101~^L9NS->J6i1@@XwzqW`9obD;2xo8nbhjUi_ zKw8NR{i4Vwn+@$qWpfi9OS78VNYAqEoI0z4hxPUOY%|>`t=2Pd4)pUY&Kuhtd_s@i zsXGZvI#=uO6EqVY#~|MvaUNx^3jPm9UPY7 zN2Jk=4|F}#EGDc_L)NOhAG?A%!&%)J&#$ZAJDKhO#;-{@wkOV-yPF`_)|F&yn0xbY z0nU9Oy@}gf298N(HR7fglbew)rjl}OXx|R%-1sMjgmZR}Yo-VMFdKDQ=6rp3ale@;SbME{b=I<10L~&db^GUjsO4v M07*qoM6N<$f}zS*KL7v# literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_6.png b/src/Qtx/images/qtx_split4_6.png new file mode 100644 index 0000000000000000000000000000000000000000..115f9feeb628b1631075e127e68775707e099ad8 GIT binary patch literal 2697 zcmV;43U>90P)%B@b00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RY2LcHqFM03rJOBU+8%ab#R9M4J znLVy%-Bz8)eCq@z;HC(qn-N+fa^w!U1;k`XG=L`Hz_$r*2Dt;LCU8I-EID=J@9a6A zhhXmWi7Kh2daKS}d#yF*_|M(Ao`lpAj)83 zOA_5lSTsr~>1=AneCd#wwGIuS8+LVovj`XRc zUz1?`IGqWZi5#AK*qF9Sx`au)lQ`tLP0oxd@2*p;CNZ>KHG(7=XL5(8nKWb)bad}f z<>&a`s~r~;p(I#Dt?yYSE(H&@+b<773?J{#n@I|B0^GZNcO10d{o#B98KF#M5)#5R z1p2;v_AW5~{*N!FBHkZknBb~`63316vyF_aS^)3vYzoDoxNR8l%Va*0pkexPU}q9S znm{-V$di;C?(vs-l4NEqb8k%2WY!oup)2n30Px9#Ad}Bw0cVzHW~@6J_$1v-9_m;o z+2F%6LXz!-ZB^2&SlzOIB?-q4<2XoW=yP}?;sP_qJXD<9=qCf|90Gzl zOABFosAI4sQ=1;6STv(+f>gzRHdtW5z=L8+BTt#Qp=PBE^L0evWIA;+H0qKoMevXT^F>EMkCsYD>m z^Q>{6v~k&BNayQEAS6jBnfNFPM+t3@=tmwJG&9G)laL{6bb3U5i^3}-WUKFp|Ge#8 zP2lD!r8mjC-QlI`(4njbtSi|x?KRGQ*c$~vMPUz0`Ua{_nZeC3m zPtOXsn*p&6g$Bk2_S1>c2LoY%aMEQ#=4ftn9I1tbN~aK(aC(ui zB)nV@ZyQ6Ile$I?rE^=DiZg`IT~u%;O-jO?>Lr=J%nErbnD`Wv#etb0V~7(KM!Q%m!_eq68}>!D)A&oNNzMcXLkD-` z=82TN?uzd1Be+RAh(+h2AwTB8UDFc5)Llqs>BhEdupcz#F==pL0f#5^^_miT_hHWAgdjCV)BBvEw#16%@OHUnMrC z-{x)>7lq^ZwldO^P*zADi|NAe`e1sJ8#~9K_Gg@(^9Elz2QW!e#{lx~nR6e9i@V{C zCMS4v0+-(LPEkErTK(Ok?+xnz|Nfr$VmvD25KEqIjt|yURygQ8WgQL$au%d!VwgP| zAdIPg^5q=q%Fli@h3DdiFw?V%rbEjR!k1IvMdN8Sc!IZMc-8jc=U@E!U;W*G`ujM( zhWy9TGsd}r{=^gG*Ei?2?I-SrWG;9ZNhZn2v36$s{MjGAJl|kALlryL$?TqwDQ2E& zHyOAElIrMO3UTN4UZh0iIhHItZuCF=zyI^c|MlPBq?C{u;-Hh*d_p^Odm}Gjl}fmg z=*dF5I)r(?ooTEe0O?Zh)Ye$I8y;W#%uAZbdQ z$r1+pdM@AJd2hzdnd33F$NV?;m)LIb0hCPP2rQ%xM~tf;AhJmOGE`@5bB_A^$O^WS zcMs1Sb-Q{2hdIEW>!~4DiZJ9A!-gNKxUA^BK`G;z^46IH6X=l6Gp|bC#D4eZ$~p

    TE_D*8n24F73ToW)R zXOK=X&e%>pLeAZ`fF~V+*Ff#}8z`$)`!0OMly&15H-*DZW?+zwGN!I!$u9p?+qtW8Ma0 z(;?00N7L1GHLKb0iOUXgC3TIz$MasGvVnEOvR@o16i@hg7A9tjuQB}a)E^f04UE6Y zm|bo93BO@w&w-t5niJ7WD|ur?XO!VKdcuP_Pb&*EVfIR?UJr3IYSBwlo0Vyv^zH<= z)gC=0RiIA8j2D3KZ@(Szoo26mddC8;*`f?xlQXHbSxclkXNa!ddQpqbUUTz0@;-!P z&vTW}*wPaR?Q5f6LWX^_P8ud(<%H*}%>l%D)9CLb*3)Fd+UT89gz zo2vrSvnKi2GXG9o8RiK`E~4;#4c-Zm+3&loG(YL+He-H}cI-NN@cE!LN3*WW$WaLpvFP);Ht*KjnSVIMg1|7x2rfMPfhJx%xybodTv#lRW_Y! zTCm;ddmsrHCu5pel?09)#uvs+I;dSaqK35U*{EBSu;I4v^&0v}7HHev? z%zNVI5kMUKn_6nGakyp5^^jX+*5Uw`eLG9HS0qw;LF>4HUVG@*)z`e`+R5--9w2gx zAw>PpgymkV>{}mSvS3*Pt)jg zzWBlnDa_=Gid(#Vh4yl&*mUw(-`0oDK+XBOGx^bU`b%h!67ODhe~SDoksBTmb83MALr*5qct4oQUj=00000NkvXXu0mjf DoDEf_ literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_7.png b/src/Qtx/images/qtx_split4_7.png new file mode 100644 index 0000000000000000000000000000000000000000..2ebabd1bf777f01af8e10baccd88d7c51b035eac GIT binary patch literal 2545 zcmV%B@b00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RY2LcHsG1aDjIh;$P>lr0RN5z1cX6abEr}vZ1W+0BZlCHq{nZbD z{O5oDH~;YKKl}TC`sY9S^-Gj*-~9dX%_^z@48qdhszHKEP;XVcq*7bSggQYjAy^SD zyzXwW?a!`Ugk|}FM2$-&;p%{5OKOWyI5JSTB~Vr9UDTe^(}0BD)vH2IFnYI-C1_R4 zVNnAL3bj;Gb^Az#Xj)oRbg0rukXBK672q+=mXiRBQ-S5QNc2W9K?on`p=m8BQrc7D z3ce$uB*JgPIcI73Mge#r)h<$vFsG7KYAHlA@K%JXsyZzXDJ4iJm1t?3wnkNGUQ{AW z3j(>@qYF}dWXs*YZ&4wUG)ZmXs6wqzSy7S(BAPDdguKgBw6dzYgGLy^ib&`lTr^VK z?hl#+R!^cdMp;cjiy)`!t5UUQ@RF-fTfHsscp~Lk2=`P<68_9e_YvnNw9|s7U*Ilchx~p37>!1QkG-llHeg*GZs?Oqxd zlVV=U3RW^DjW5WTRFtZTItbJ)@?yC^fkRmHYX}tKI-)`$^noI$>6@q^-Z`=ZZ7PUD z7X6wF$E7B;p=|(E=YlX4qB2ZGn5w+Kb9?x#w%lF_Q6X(GI+ZDfqhV2xIl(H@855Pb zmJcZ2~MOM@MllS}l#7{r|?nj+(sc6>TzOKRTrMrwD%>&y{Gb2&?~)`TA^HA|wTmVret!M(vR}SnpY!v3`x5u# zKlWi`ssqVm0<7-qIsgwr`ka z(1oeK>?`Fa&Ac@+siiA_5f#;Ab%h#V-iNScch?wXx6cBQ+sIHBe(0+oW3U~8r^-ty z^3%%ZgOx{^)x?{q&v|MzV(isb7OKO0&ZPdbA6L5x4`EhQbX#TzB~xLN%%M&P_&2Mg zS@4dq)@mgVMz4lS&y{(S)Jm$cFdkCgLhQ8~99ycQ_|3;5h*Dd8M~_9wil=2^X|*V0 zns@96CWjX(P!*BLChhZyba8VeVdpKEJbjSjrji_|4ZNBnp9=~4^zxn}(sl3v_0yRj zqoz;tQv5NCOdMZA`CvmkUpIrP!`poBm=MKMK(h=30FLKHs(cjjiul;@RmhfT)S=7iFerWI@!uM@U5(TM1XWE zTcQ*1bkMjD1{@laaPew)ep$NO*Pc}LCRMqCYO55Cx4|=pUu}0HWYjWaxj!V@PqR23 zch^Pe^*+N5#@Fp26TtRKsAC?ce`M3C^i3f!;2C9EJ%g=-c&p}-1wB>0R9J3W5%~d? z*7hXzWVM+-yy{dR(!Xj(`2>2++%HbY@cOUc{RiBM#iGWAxA}UhT+B~Dbk?0DM45{> zm%=s4W+!2oKP0@V^r~}f+^qJZDz!cL8*|xo&+|t-U1b-IysyV!CrQHi_dovk|DoLe zKfYf2+rL1T^jzWTQJOp{*9paCwZ00?_H?%^J?;%&%`W{y`$6y=^=#RdQFB=z8GqZg zeAAe8FMn1!YH}sv!0`epu>9-G1HAOBKQ-P&@+0WJ0PZ91GzuMj`DPWq4mPDFd`1C& ztUc7Cr1fJd->w;Ph;5;7S32%|Lt%fLdy_>rwEDIL47Pl}$>#V-&pLZsIE9DTL>R2$ zRCZ%|R@Mie>jps9QIMWKarLI(%%)gZml(e zLT*cJ;%QYSIO3tWeQ(Op4{x`;KH>0HO9dP89FDEf4fO69dC!pv8&>pWVY+um!;-cn z=ke3M@fM<;S<3dgeY+b*_>sazOznnkJIET~FNjmOxI%v$`$T8R}1BDyw>E?ae?ztLpY6*l*pHin+qN z-QdkX6RI|lg8C}VN=Oemm#Mg45L_(TE?(yV=g8I_W! zmGU#ImTsX{3pg|M+L-k0>jZkIGHdzkoPItWlQu{9zeW5nE$+QplRV0^00000NkvXX Hu0mjfVJGU| literal 0 HcmV?d00001 diff --git a/src/Qtx/images/qtx_split4_8.png b/src/Qtx/images/qtx_split4_8.png new file mode 100644 index 0000000000000000000000000000000000000000..22f600a314cdc911ff6258201d50a05bf71ca78e GIT binary patch literal 2636 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 bbXNI4pkIC-%H|U`00000NkvXXu0mjfDo88w literal 0 HcmV?d00001 diff --git a/src/Qtx/resources/Qtx_msg_fr.ts b/src/Qtx/resources/Qtx_msg_fr.ts index c98d41bee..48d7c6d87 100644 --- a/src/Qtx/resources/Qtx_msg_fr.ts +++ b/src/Qtx/resources/Qtx_msg_fr.ts @@ -264,6 +264,10 @@ Split horizontally Diviser horizontalement + + Arrange Views + Disposer les vues + QtxColorButton @@ -333,4 +337,51 @@ Modifier l'arrière plan + + QtxSplitDlg + + Arrange views + Disposer les vues + + + Create sub-views + Créer les sous-vues + + + Views Layout + Mise en page des vues + + + Sub-views Layout + Mise en page des sous-vues + + + Views List + Liste des vues + + + Close remaining views + Fermer les vues restantes + + + Stack remaining views in the last area + Empiler les vues restantes dans la dernière zone + + + Sub-views Properties + Propriétés des sous-vues + + + Sub-view + Sous-vue + + + &Apply + &Appliquer + + + &Close + &Fermer + + diff --git a/src/STD/STD_TabDesktop.cxx b/src/STD/STD_TabDesktop.cxx index 3690d8b1c..dea05fd50 100644 --- a/src/STD/STD_TabDesktop.cxx +++ b/src/STD/STD_TabDesktop.cxx @@ -213,15 +213,29 @@ void STD_TabDesktop::createActions() myWorkstackAction->setStatusTip( QtxWorkstackAction::SplitVertical, tr( "PRP_DESK_WINDOW_VSPLIT" ) ); myWorkstackAction->setAccel( QtxWorkstackAction::SplitVertical, Qt::ALT + Qt::SHIFT + Qt::Key_V ); + QAction* anArrangeViewsAction = myWorkstackAction->getArrangeViewsAction(); + if( anArrangeViewsAction ) + connect( anArrangeViewsAction, SIGNAL( triggered() ), this, SLOT( onArrangeViews() ) ); + QtxActionMenuMgr* mMgr = menuMgr(); if ( !mMgr ) return; int winMenuId = mMgr->insert( tr( "MEN_DESK_WINDOW" ), -1, 100 ); + mMgr->insert( anArrangeViewsAction, winMenuId, -1 ); mMgr->insert( myWorkstackAction, winMenuId, -1 ); mMgr->insert( QtxActionMenuMgr::separator(), winMenuId, -1 ); } +/*! + Emit Arrange Views menu activated. +*/ +void STD_TabDesktop::onArrangeViews() +{ + QtxSplitDlg ArrangeViewsDlg( this, workstack(), ArrangeViews ); + ArrangeViewsDlg.exec(); +} + /*! Convert STD_TabDesktop enumerations to QtxWorkstackAction */ diff --git a/src/STD/STD_TabDesktop.h b/src/STD/STD_TabDesktop.h index 5beff91b3..76707ceb6 100644 --- a/src/STD/STD_TabDesktop.h +++ b/src/STD/STD_TabDesktop.h @@ -57,6 +57,7 @@ public: private slots: void onWindowActivated( QWidget* ); + void onArrangeViews(); protected: void createActions(); -- 2.39.2