From 9a2cb4ec8b5123c6828aed417a69f57df3794f2a Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Tue, 6 Aug 2024 16:29:41 +0200 Subject: [PATCH] Introducing the measuring process (click on the new icon in the top right-hand bar) --- data/image/xyz icon.png | Bin 0 -> 2286 bytes data/stamp/balance icon.png | Bin 0 -> 3065 bytes data/stamp/camera icon.png | Bin 0 -> 2386 bytes data/stamp/diameter icon.png | Bin 0 -> 2936 bytes data/stamp/measure balance science icon.png | Bin 0 -> 2602 bytes data/stamp/measure caliper icon.png | Bin 0 -> 2336 bytes data/stamp/measure centimeter icon.png | Bin 0 -> 4399 bytes data/stamp/measure compass icon.png | Bin 0 -> 2996 bytes data/stamp/measure pressure icon.png | Bin 0 -> 2276 bytes data/stamp/measure size (height) icon.png | Bin 0 -> 1391 bytes data/stamp/measure size icon.png | Bin 0 -> 1246 bytes data/stamp/measure sizes icon.png | Bin 0 -> 1946 bytes data/stamp/measure temperature icon.png | Bin 0 -> 2622 bytes data/stamp/measure time icon.png | Bin 0 -> 4475 bytes data/stamp/measure tool scale icon.png | Bin 0 -> 3852 bytes data/stamp/mesure diameter icon.png | Bin 0 -> 3545 bytes include/signal.h | 2 +- include/widget.h | 36 ++++++---- src/signal.c | 10 +++ src/widget/measure/dispatch.c | 74 ++++++++++++++++++++ src/widget/state/middle.c | 14 ++-- src/widget/synth/dispatch.c | 4 +- src/widget/topbar/dispatch.c | 2 +- src/widget/topbar/right.c | 5 ++ 24 files changed, 125 insertions(+), 22 deletions(-) create mode 100644 data/image/xyz icon.png create mode 100644 data/stamp/balance icon.png create mode 100644 data/stamp/camera icon.png create mode 100644 data/stamp/diameter icon.png create mode 100644 data/stamp/measure balance science icon.png create mode 100644 data/stamp/measure caliper icon.png create mode 100644 data/stamp/measure centimeter icon.png create mode 100644 data/stamp/measure compass icon.png create mode 100644 data/stamp/measure pressure icon.png create mode 100644 data/stamp/measure size (height) icon.png create mode 100644 data/stamp/measure size icon.png create mode 100644 data/stamp/measure sizes icon.png create mode 100644 data/stamp/measure temperature icon.png create mode 100644 data/stamp/measure time icon.png create mode 100644 data/stamp/measure tool scale icon.png create mode 100644 data/stamp/mesure diameter icon.png create mode 100644 src/widget/measure/dispatch.c diff --git a/data/image/xyz icon.png b/data/image/xyz icon.png new file mode 100644 index 0000000000000000000000000000000000000000..83739ebc21e8357cd79997b970d7512d291c264a GIT binary patch literal 2286 zcma)8dpHve7avN9a$A$!Udla}Bz$a`&25aaiA2bykoC>n+T>a>BCq>Bd*8$+bDbiW zxt2>xMlQXnB}L;UvzX@H_wV=5_nqfC=lA^nI_G)LIlpr<-H{Gb5{eQ406@yg5#}Ml z2!RKQi3;Myrn7?rI1~+aLW>EEC>ER{;3x5LZ@ecq6dxCe3ju^hVQ++-jlPNt35kln zhQ)7)^g;jtv1BKhEjqq}T}g09&nhSP9_>Of)!ik255>3Tw;@AnYsKgJo+dMRn*blx z(~3r#$})~b_>jZ=cAnRbKa3SOg&60Zr2ci4oI%q?wuQ^L1F5mK4HrTwvG0ULD@?6I zi@JXe;A~?V>`v}FxctYjGsT3YmA`pA6@>Nf-Y(rI>xP)qP-)=$F-KvCQCTq^gxa6_ zDGyo>LH`%gza`3zx6&p-@p$}e(ri9ZF?< zMW$0I4c=b;gati!OyP(Mp+e-|vHYzU8jz9C6BP`G2rrTD0EhpZ^`S%ITyO^66^#mL z$zxV)C$G)Y@=PrTXib=inFnQM&S7C%91cebf|pL7GwhK!CilTKBGgdbC$FU^SgB~b z63Y-VF~qeu4i<^EMKyN!gg<2o=U)!vKpf8cx4Fx47PC)klZ5-W7sHyp^)L6{mLkjq zUp6RqtKeXtusr;fN#v$LmZi)Y2^TeLocib(y_w~v8cwE1>do#%yOcubx`5vLCn}Iy ztzpX_KqKGqEw|ral81lX-6v}DgJq>H$ZF#&4Lz9|nVGg2Oz4+oRA&O!&7;+<kGq>C>; zb17&-R{~%3AJi8ha1@6BU?z#N(ips_X!pwJc)1uHl`i*aMAswEr$!n$8c!w(3xyj& zmEF)NwFn~@IYa4we#W3G-wSg*x^z-)d9U%x=G}I;S&ZWAiQsi^aUSv5-BG~)4(9-x zs)7P}z}D7QqJ5!?slr{f*&X%fuGsa@G?2kIk5E2gZyPA%;522QBl!x z{l{M={%+YZ#XyS8&48r#SmKpV7Qss8_U_sTg&FItW&gc~nJSMcuqt~^SFga6Su%|l z)RX*I3mOeHU^3s#&pZ1Px@vy;wzQ?^#%*YtaeaC>q4yhGpb1Ey<}K56nqhnQiz`bR z_4!%{wD_8zYRl%e4_GBr*yrvVf{rQBtR<<8cTYdw=rP-~tboKwJmm`8?zvU}W@#dl zJ7Ti5$^UeCY(SGvrDlEeRQ}W2M7($mSZb>9*sb!jbqCfH?VT(bNltaIJ$ue%x(bZ& z^)3Ivn($70Gcz+RNLv2{oCP)!xoBtiVvnmP$n|q*t+zkCUC>@v++)|}H12^|ANeAP zm-u#|!4o4`jAh_L^Q9-|l}KDm>rK=1FfXZL?nurua|i*b0~16sn3MTs&M&us5MEig zsD|DGGGQo|tsHg_TwXgo{E&5+R72a>_oG+jLgpE4-wr^0G`o}MPfFuQ7`>{bvbl>h zKYL+`eA*hC{hk#ac?ES`qbKfpL!>2!z`e;X%l|$uNja`EvmX96rG{3|Umg@!+R+DW3c*w~puBu`*zE?e>d|<0^L8|k8)R%6LYzl>V z_;&n{fVw8ON z$L4DM@D|$#O5B#1|Ak2#XY-x**qy{JNqSsy9bkDPVA84zFosU{#lrC zH&a+7#I<^L$=g*5+vqnk`9=QP0$dJ=l;n8}mb6Bj6f1O;dqVE5l0_SxE(-#UR8hip z!U6qWX4?If4Lu%Mp_``DD?wKOL@;Xff0jB>1xFx`ZfGjsD4;ymisbb!KE1`H)%y_R>?)KrOD z{|xI(gbF9@wi0tdr~(zL6+1`K~)2+R} zx_S005E8HkQ{o z8o}vseqN4rt%8s_iaXrmvNJ!Y#qj&3aK^{bR&Hn~WB@wiCdwZW7>W$>hlKm0{QX12 zZz0h?x!O$t0HL(Ymgdfp&({m09Dsqx9~LE#b-u__dWXvgbR|#CkZriph;zK$K)pUx zWRGftvPYf2|2Yqj$F8s@O~by=-*+gR2K66vn=2L~Q+I>zjxVV;}1g@m2eE%;0R zE2lvvsbz|1tDO^-b8sKX*N*;gr&?GhogT_<-a(~OZ_5}P8%ql}td?F|yBiVV~mBi*=>6%Mo_qpZPGRBF_6$)xNnBA?I3vMOe6swd^B(sebU>ZUZ>8oV*l zq9VxS0E1a$y$geq4vQjdJq5_FDpzmJRJfFMB=n&4#9CWhC8_b?4>L3Cq`wRE;(>N_ zGyeDwNRJSUI6hpNfSxwaFJVPmn3uW!>gIT|h%E9}apSHE!)>l3Z#38TYx1K%Y*A6+ zTkkJaJrs={{3l6Bc4H>zKAU~W9+&R7;G1S+V^6yG_LZu-OL(|$<0K&_a^9@n_pKn$ zhtK|#%9Aye&!4Z@*`@hWnQL_<(uXgRId2q#Pn^)n>{=B6^XJb=YHmCn-%QvZG9 z(HOH^^UllLrFRQKS(|z)WJRu#O7Sv!WpKdSmfTk#qKu7=&A!hu`r&BBvnxr3Kp??0 zdvRXTsFGXpIu2k#B(J#`_llNw2BogPz9wp1Iqmnf+9#<#e3}!->;}d;+)|$R3CzT$ z>OEenxLUCItK=ep+}pz##AScmx(C>xw5ZIsG;6f*>_!2EO0W>aMq-GE_fRIa83UTTFl z!w%Pe>)onuvWktO6%5gFGv2s!S5Mlvof^p-@#^g4kMF4eR~_4gvXVRq zUYJ<)jdCZPKT}ZfRAY8IOU;P@JeCUPUwb{ zN?S=+Lc4r3I~&ySQ&#vln3Iq^tcAQ78Q`MtWB-GaozrBc`XF{c=zKI20m#vewwRt9 zAMajD8)q;Whtd=36CCfH?F)f_{2l0{I+;SH1Fc(*kFQ?Q?%SS+I5oMdx2_ zz_Tre5OV!G)T<9vl9zY92mXC=6P+xoFh(318XW*N2<>lnFZV*=disTB%z1Nw@@#~H zqvM#_L9eNXk+m>p?#N4^XTfPFPiGq>QY#+(n2;T!XOK!blik1nldqT)(%kL$c3!et zaASiU6+2WIDPC1rmXwsFV{9V-K*^eI*In)Vgt!p2Q1yH7?u4r|;PK;UHa0fj9)x&f zpl@%@O=uHdscO1dTO0k*cx3)-YwMJr-bjF92%%TXrYTvrj0N$St!QjKRu%JUYfBUi z3DIP;*?`wX)!bNml0Z+-4Ve371VRH~_fc2+47zf}Z1|bZ)A@NZKz&R5Bpm$tIBKL* z`%&c_NOpMhJA-SFZ(cW8I!#iGH$Ap*`y3LpbMKmi=jm}@3o&lVioh>dDq34w`UeLN zg)#%x2l+^lTnEmPmn?kI;Wh^wsYns?O(uhW*My@O8)uTktHedDdiE;obDUtYJRQTO zCoL`_LG)lAMPsF>H@hEl^;(zIot-6oWSap&%S!x*O}djAUq;eDd85R|#ceI%iayUL zH+N|VVXIU14$h~?eJa8He*UzS{dJx$3MF@W83<@Qpf_V##|)B!LPG=knCpPj((*+b zO~oK>ct8&U6DqAEW)wejD~G-S^Cu=l!TO7D=l0KNK#UBHqkSVUsN==RqU9otm6Lk&aYoE zgAgLes~7Z1^`95Mej?<}9qvhuUPh`w%`RW@`1eR{{n6X`v5vtIQ*kBwyTsx;UQ0%y2=fe9NLY9{TB+ZxljJ~G5 zLBqtj3uEa~xh!32;mD{c#&#fkAq&q{;$~_`q}0N{+CH?Mn;2#Fe5t zBH1zUrBdUj;Ov`!vFwK@s^r@pr;o2EFKqu2dNNuk$=`|>&6d#@7ZaQRRaZ9JDaIZ5 z@h-^H((?RT(Ev8sQ&y|Jsq3b~ddW`ZKCFl>gKVwMJ8>~tI5MNoEM4wg#;R8{;ex^7 z0>bcy4s&bEKVk$MrdR<0~C+2ZPBX0yhk32X>ISW0l&XKC+)fV^P9xVf zCIT*l{(bo}v$Fp(rahA`CYb&divOfg>*0L19oD$w6G=9dUilOKSsf1&OxGa3!S09T zGkFnm!d6)KYp$_vkqpJ{ncp&DvxR!oYFPrU-tVPUpl2}C@34Kmx(1AtyV~|G&3kfq zDZ%t`I;CYhw4IeuV5QC+s-Z=4;BNbmp+!u0saBz4R%)h_HELt?K-&1;*<$;qpG;0D zP;&XzB~@)UQDPinZo4%!tsj3A8W^bZl+J=kX?lK(7?wynb5vTopCO^r0}8We^1b3( zXNn7$d3eYWTiKV|S-c4)bLS>94PY>$N-(OXSaw_g>dsetky!MHrX% z$xU2OIIbvWQFlnKjRQEI{{N_qVS*YBeTN5Ud)2g+r%g;??q6xVPa@f8e)MSyQHH1M z2X_5fzCLy5x9hwQn?O@FA@{r_5vOI=&o-?Kl=AsHkedr{B&_L5N^KMwM`I5ySZ}S~ zg(6$JZtd*7AUv3b3Ja&1g)e)F6V3W=%qEJ#ajE*T7}etE#5ExhVYpS9i5#DeEKjBuoWS_vyV5>=-Wd~$jdu?cJQ@(t!X+BOpBhR)n?ij z0RR;GsQku|*sBOZUa*kAB1jN(0NJR<8Bio}SpFG_aNA^f> zuXtHM>{Q^h9{*$VdoFCoa6*)~c1+iX=Y$D9zmp>CU*k6B2!EdGKDB+p)T#bZXIsTI zDRaod(o(}aW`fzh{taZ)c#6{FjMZm2;;#Q78z|n$Lm=Z5+8F$_OQTQN~ba$}{BB~v4 zTjbFeyG|NOx0Z}?_NzmTUc7h#{Jc+%-&{HIDKi6JznwLt590!!N@wlEB5pWC{|YcX zFHXIhBIphb;fdy|@txGwQU(izp&HWOjSX(OSg>1)`Dm$iZf zw(Ko`|2?J+_#^6IV^&PyaW>n%zVpjIDI7rVdv|36cc{PY%A=XKcG&0dtIt&-N39Ol zEsnJuO!Rc5WvM+n)DQ;-5fiorg87&?B~xbv-$*h?3~e#%gS3k)$;u)=nECJDnI5u9 z=F!4nT~=U51U+0vxk==lnStK|!6Ka($JneUrl;wZSS0*#o0|zWB3eh^k&>y@gDEy@Y+K zC|RfADZkiFLqo$4Dd+Haze$P*+Wg7b&5;Ju-lVbXFb>{9(WlelrEoc_0peELf z6H1f0m9tn<4aMNv=8B+XrTP|41#}l2RN=wSr#}YA5?U3E_V5LQv3F(92isSB*8g+O z>VQYRIp*fSWhwvAK^bb{3ag}$3o%OeRMn>w{?yB>GB*908eMt&5 z?$Z9hR+CwsD7DZs3MKOW)RNLmtw)3mh=M{SLSG;6e{5>6W=xp<jjXYJa( zEsGZG5w5PTB@z0$`)uvp3tzmrP}1&OwbqpldmRrJ3}+ebu}7>w{Ix&j)WwVi=icYsbME%s=kxhIPrR9lJ_keq0ssI9(m)plS}fRYS((A{ z!8x`y&@lRGBQ03LMqqW01Lyqsn^t&pFIRk^qpu6_kEfT1i?kos*Tu!t59ftnXJ|$M z02>6Ut7Q?Cy_Vx)Y(9FatGT4Wj0n*Q=8nRdF|%^Y(UhM{X~7%?=nAj&q{egg_8mmV z^KA$nw&CUzU1YNll?9X#+|jQ!EiV7SZ^J2(1+Nsu(~{rRTk%yFcmDY!YfOcHMSTtF zS@CV|4%G>1R&U;}TgndUU!P>C8h2;3wl#o%VM^J#EzkZ)q$DKQO z1_lR-80y_toMJ&kgCHPxZ%8CMCPqj|h;F#VR9{bzxw5j7o1cFrW9y&*9y^E3qfjWN zWU>wxD_nht(!Lj)0RR4beSCaeTwGl9_U+R{!^1bFbFBo1JwMvzot&JggdMAJUP7=_ z&^J~mYim_RL`8+*@Y7(+RPnhCwBQum9OPz4$e5tbd8YdM`iD6$a&nS~hERl^5ezFQ z=k9Al>Ic`VL96p<@>40^L~kn!x^mq8^URE?#-DxR&d$!$z+7BnV&Pl2QIv;=^vS_e z?!_bjfB@93TO1VYs)tTk>;<)N-@dJse6*{Q~_pitt_w)LW-q5<%EUC<727cb7<{!-}PRA2|6FwntQ zXh}xjwy}9J>Y#u9rCPAIB&H0%-Ehlqs1d2;Y7?#FK+q_HZcHR2-X3c2=ZZ=DTRP*{j0k33RkJ=&aYWq2;{0-?)`KPxum)qL_@nJ*Rb zk4l5-`tov1Boo`l?wU zrG|HzBd^8$k{Tcq>E2jX(0k1^#TXWAgYXE10WeWfCJqh`RxYl8cR4x=8DANW3u`hw z!&gQxEh!m=CNp8##Z0m_(dcKUVNMxd<=^{W#A3T15#bM?J>zwssvp5>P!}J=+gz(| z`}tLQo7&&K`>Br)o@#GxowWfR_Q*EZ?tHu7>+RoZO+goxl<1TU3n?k_2qe?ivIh*n zBl~lDT@^qKZyX=^fuYPRE@slw(lR+&4c|i-1ell6tNSjn;;&!e!>Zty%~~RWh?ErW z^J+odz{cvh!g=)vpNn&;XWqK7v$GTAF32BU_xo;)_xI1Qt>sfvQW8Ggpm!>Vu(A2f zwJ~*cb%EDA9`A1!JnfemWZB4Px)HJ~1%kSTuf5E!K~F7LpBpF-+4Gd6ZH(H7tJ<2; zJ!R1Fo&^AyhQ=iliR9V8#KQ=HZU`#}!U5K)XJZE(w;kD~Gfhg`qgc2AV1}@rJmDA2 z?6_ys+yn)@*QeF1Yibf-;!^Qb7ItusGJbx;kx{sf#Z%Q=zo# zd&7BV;^mI*%*L5=tt)}_OpE{{3k!Dm)h&l4kngQ-rkGSUmg&*a*nt7Fl3b=Uajjuj z(oPu`54qW6QVGE&7ox}AX?ru_j}sCg0Ffaw&dl06zOqt&?u#9SJ0ceyo7v|I<>8sz zTI_L1$|sZAatT}AUE1Cddf?B&(k1YF+Fh%JKu`Vs{aH_)+Wb0^BjUv$r3GkOT3Y`5 z^WAA;g_V_O0Plk>7x17~_iG_*>uA&!BQS)ao1N#h!x|bJ3C3b4gw2Vj&<1XOPfr>C zWWB+kMwOoTaf$m|J+c+pF3vf>Bc9d1&kERHm&BAIucc2pD*iv9fWfc}azw(=&@fsu z9)4}LC9l)DP(5f<^6J&oZ$F6$D!f5U0!vj{O(IS~TU9f5@uJ=Jq^2eW6bhaFLa_lN z3JNZ}k5`J$*1u}~+7Kvv-_4BZ)5JRu?E^nw-_n|z zQBp2-=gI@+#WyQ96f~5VcmCs3NgzVmYZ@jY@zG5q9FeiS^Pq!9qX)LOw#+b?r42^J zSpR4>xm32N7J{Fw^)Vxll$Mr8ph)Q>!w`c?Dt;BD96dwbZKrclnB$^r_c zB16CT8GQd&+eMt07ZnqAo(pD6qEfj)I21G+2zOH`?;XTUU+U`WGQNKOTF)QR50j9T z1htz8CWk~cqCupO7#I)$vU6^>HLBc7>S9j60&8MtWP2AJZ|g8D}X2wrnfS)gFL(~Q7$V_ENSpTUzpP!y>p&iRPHF%(nk9AZY>{>zt>^80r-o-&H8& zHHkEb*m>~1mw#^Y1Wb0_Kf9=M?92>(S!sGna0mxSu}zJq58M3i+646CMH4_=T|IQn z*h90uoaJzT6Pu8f1f8zgbw0-!9u@R^`N;;&&B6k@g1_GU`H4L(sWsHw*H<3&Ip0De zfAnXC_nh`*bNGy#hUO$(n>=z^S^1pTbR!W(>Nwb5dXk>L@OH0sfyxX24e`X`V8tjT zAg-pC4FbHY@umd^!)9lW!-<1xcTjwDj0@?QWZ^SfW+(jAQ1s2fSYvS2#Et=qxV*BG ze<^HVi|>uFu(0}cvk1%~=#GzRF2aB8i@3D3M@NleC*$Dcr18Cbq_(Z>>S{$QEiU2% zF$Cqq97SyUbLbYUgzU+XE&1{V-K~jJ6p)aS39yoU>p4~L$i|^}RyI(MK&oXsCo_=5 zuW+6>L)yAB`tyAykp8(^U`c=?k64(Q!B+Fy`3kM8TnCGdG6;_{B>9|dTlET`fbh~u z6Eh8{y^qCWNkv7`ugT<<#~Ob&#;ApbQJ=C^b->8H%FN7kdoU51?T&_vguuAb$$xvo>LFf z)6;`~o75{HE3%3f)`=m7`NaE*0=A7or!!>iw2h28c@*h5gyq-@@?XJuvC z_Qjk+IJKud80vSB(<~gE9W2xjIyqFj+eA2()*b!p7nn8jP$X^vfrORe5@E1FcAymqq(%gy@$cRREUG0P?1ZZke`2j00004b3#c}2nYxW zdZgXgFbngSdJ^%m-yh%hsRCt{2 zTx(PlXBvJIVuI0=s6~Wm-3n?IdXClB?g|RxIqL-@sE`DETidheRMBqL-72d+uG>>r zt(W~%#h$aPz1W^6go}oFEf+6qce~yN+|^a8hyub9q#(Dz{s{RpLo&lK%!G+2&#!sE znR(`&C*Qo^_r32-Wc7_rT?jyM$OqbiXB7cqMM6MWkq{78Bm{&N2?{bLGVbF-2%=Ys3D`y^za; zurhrWR4Ubg`^N-9g%!JJeZGGmKHjp0*lX6V8&Ln)AXq5y#p8PSr@O@dsl0qZ{p$^a z2rKm%=xb2{0fd#h2x9PYLBE9c2NA^NV*_tt{Y?a4iVE-)*55?%wWt73Vf{%2G5ENk zUoqAnL>MSO-U|e-7in#6#jTq+(b3UCJJ-?a#c6pE>myfNTT9!%a`|$<_y9nmP+-Eu zi5{!C{{BcZKCc)#91hN+&W@Xj8)aqmi+XvS`WnN8k9^?=4H*Yc=Rm0Js(X?KeO^sd%kPiW%m@Jsp)4Nwc9;7%-?<2tABo3^J;Hz!{NMK zkK>*;H^X+s#>%x&zX&Ro3QDCCi3{}rm_^99<)gW|$)o+q;XJgqwlezXw>7WAf&$dn z*8_0&z!@>IWPg^$vo}!@7axynC1to)QiizrcvcapTr*-~Ne{2Dug9sACm8+n+nSff zY$k296B4j8J)PLaMMbEtu4d(XE+hocg@mw*P+MDz;-VsAr>|Ot_}R0GZ84jlt(sS3 zVOZ(DL*t0AR3M4gDfLR4Nsc7cU{lTP$YId`!rqJQYiprXV;t7)i-VP^*VP zCX=D1r3Lx6Bb@p8Ku}?O6TxD3$34AXk0C>b0sxFAcW=6M@gi>By2Xjl8_LV?;Nry# z#5S5t006am2o~z~q}`fjc{XZZRaI3uclIo?sgGt%Y%E5P8AI&sEDP@#Xfd0~dEq)8 z85|uB2U1c~$#MTUcMjE6Reia|KEY=-FPB&V5E2rCggJBEPRQj*O*IhPVm70*vy+vN z306udF`3dJm&=KN2?=u$8X8J`wpz3LaF>09&uU)O*ts+%6@vy1qU~Sy`Wxi@^71>l zeCZ-9pEq2-bcuu!05GL3qxl!4P#`IJF|nzki7O;k^SXKSCazw<p2K+@oUBUwqNSKVzEv+9lVoqpY-)Gr#0&URji$F>YK0UVU}CS3ZN$ zebYJF);=XvIy*a&mzzUugVE&GzvCvM{C@L)E?9=JuVmy5C0Dv>Cxilq((Ld@SX0g!Yxi?6%=Jn%`|HAFt|08y) zksb!9PKSksV@6C2v3pzMQeo*nRwk1nCUz!ty3vgOnU*ah+m-k44F@)xt=Ehf0JOBUz;3gVn@%+tSpAEP9FM8frV*RE%%-A0%U<5X za=A!HM+YsFWu%D4ejIP8tE)r7_os+$Fd8}eH*(}i#Kp%G+Z7Ik z%6f@bnrUus!uWCHNU}LBEDT}c;h@HTrh&G-y&a_`CB)wT=}xRzneK6%!{NYJUw(mg zYd#=tQPI&Jiw`DLJ$#6&?qzLoa4^dLdkY$khV1W8Enw63e@H?WDbX#fHrv zZ6fhmtsa5}iHVG(_1yXMF<7kz;4FD>{%8}YYgFF9k3GA05j#<@hpK!2ECfWYd9D5Z zhh&7Vsi}b>WeH=k5OBuHZCgLVH;29^ZL3zV#?YZd8K*!aMvTBp%E0#ZS6^bs_HC>& z_d#VP(oCu3hgK?;Sid2I@pwKEwdNHO5rOp?8N|MJ^(tb2^%_3kpGivKu5-?uK8-~S z7huQsZKQp2R21I-U`?;{%5{JE5R)cNBKEeepCCz}h_h$T&<4?lh6e24w->WwXQ1S| zd-ky5j~nsA3*!V*pxaL&=dnzWYx;`!@a;E;XvYQx1!3&iUm$pJFz#1WkXY=3ZuDr_ zj~&PJ&yV%s^M>;BJ4l>Ak7T%9&}cLmJ!TAAp0=Q(;+{vM`t>*7#Ao|5IVV@RLNH<3 zRxDjzUD&gG7q^2*oJb6OfCzs1Hefn!iU%eU&^^53E_F)Rt)zyW( z+#F=?-HQts{*BJgPMUC9trm%TJ=Sl?5d86{qTj;uSzEWYwc*;et9VdZiRPwegzI#e z92JGo&`?3&P^qb@L1{?|9zJ{kwOS3GPKPN|UhdcE&-JD2ehDk3cm93JM}5M>20p z`4);y8O^+(=|}S2??3q7bMF0|&pG#=d+)jT+;b^*S1$?)fCK;lfRHuH(t(2k9QEM? za%{H=G=~E`1aoUAK8{55-6C_iY^aq>s3YDdG|Vdm3-ArZ2Vm6+-XU0QAi)nGy3XBY z3;^&oSX-Jog%_?CM%YPQgA8;rwT4Y?Mk*b&j<_mCl?tXLY6o!=#{|i>Wn(jnvGYNx z1vB7+D>|nL;c(}S8#zzlAZcC_7tmY~o%Nq!-zX{bEAb`YBAIss&|9Zrt5;8ejEGwCAdKI>yhB4}dtY$fHz-McG`P zK+BlA*uu~<0KuI-rsf@pse3>T=6^$pGC0K(%%9N3^?`&~_k^VV$Qe!oRH>QFapkpe zi-d!<{E~L~hCUY>jo4^JXCcGGK5o!w70Us2ilcitC0`z4v$6x_jH2h)3o|TaL^I)5c<{=XAiE zz!s)waQ*w=*_K(wQg7+H3b4|RnZ0s^7oEq0m<3mj9dXz#)`5_?OdUV+f)9U_tBj}? zyTw1IP?7x0D=WQ5T75=K$Y((08_N~uV#yN$LowN%+ev+D)m`cW8Y7{+p0d!!@ z7@3~**C}o7O%~0fv~(H7@tu++GeSMnws#R z?DC8j*x%AHJtf}e;nSp~q)G*<_ugpqxO5g83gI?dm4uy{en`p9^+}Jp84&<0KG@st z2vAOg4lJS7z6Vi-a%}jy`!$+-SZ_1sK0=))$uFCl=?^nCR0ILd{!`>VM$7|gyx9$~ zK#GX|0~>iSWU1IW-_f0d$9CzR5!-O%{h*fF7;dvYG!ajh6W4TaTRb;ft%)~fq}}l7 z=%p!U=S&-FB*nSW|Fj$dgrSFYU;O6zUSda>$o@Xqcw2x+p^W#eqCoxKZFt9_GepzF z9HTHCpu_1zuZ2KA^DiE z@Q=AQ;Y)1a@ad)Hr4N%VQ{*!%#MS>tVtt-4m(c0&ql0bR>>tCB2KCk{#+umsQ$wn%6~<05wl3x`^ZZ=8E{)9Gx)T`K-%#et@z7X0E8ly| zJZj*){Xj~wKqj_^&RQ8(gOFiYR5Eh|4ai9RQOxkw-FwC3>FYvlaOmvc|&hTQYFCYaF+(z3FN z?}ee=D;q)GdA9|)Lm$GiO~k|5$2+GqKQvi}1!K0h;a3B^0Eo@Lzjgeb)Y||K_&Pv&adiTZ6;$|$~{Dm(bnC1_JHxZdX)Wf%+N7;opZEZ!KT`B0Fu60f&`xvQb7<>jMa8=@P zi_OzxpMMn*3Jh$XPfS7#fTd&P#LdlzTZDD@uj^=UE6bC(kVHLjCjyi@8k0+V*3BvG zwMoQ3%yt`w2d<*d!p}uUs<&?_nYAA^o`LjFMU~YY+v|PXb7WgIx7xm%y6Upm8_5XE zk?8MZt_h>8Qb1zkQB#A1MVDtinw}Aa`@uqh+muSK@MVLU&#XZSqq(!fVO07!e5xzCdWpy4a>N zwY0JE-!)$Hd6m~T69`Mne*4X*RSyh4MY-=j>6(eRqRxE-F7$AhZ<-k%b^}IR56YO?{1)Cd#nA zAI|3eq{HIrD`^N}`C!0C-&kpD$ii9Y+UpC?k3?^OE9o|yXT{zRV+>n_g|$qAtxp0M zRj#bT8o`{)aFCLmnVHGn*8Kx&t*$;1VGvT!>X~T`W&-gy#S^*otsTu>y5r1mU2lkn zT(sdn+Fw@kpKg%FI;$a($c*CRxOlq49EnRG1+&jnQ&)f2dT$kk@n&snP_4y)erMD_ z45Z#z7LPF-W}#_HkkXjY>q^Ge=9_7jP!OP5fW<7*lOyu4Z>qJJ#Y zU^1l2yT{$K8V5|&$rd-_Yp2nA)+UHFhL7BY4-g9{`-q^Y4FN=`fT1Byvk{yua zJavc?y&L@6vFU^KUp(M5a#7_2*{Y5&x?ZTLB&Kp!5ud?$!)!+Oo}yjYXsr?31hR#m zPbRjm*~UjE>;NYS3zoaQ-mg?<0JMRuWA#R<-{s(`=6TuzUjL|&tV>1zJ0TuN?5M@6 T@ba@cFAl)k>Z)a}xo7;pF{@ip literal 0 HcmV?d00001 diff --git a/data/stamp/measure centimeter icon.png b/data/stamp/measure centimeter icon.png new file mode 100644 index 0000000000000000000000000000000000000000..09ded99d684b190be9fc89fd0eef5ae433cc99a4 GIT binary patch literal 4399 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 literal 0 HcmV?d00001 diff --git a/data/stamp/measure size icon.png b/data/stamp/measure size icon.png new file mode 100644 index 0000000000000000000000000000000000000000..26eb37106f173bf2a9e2762fbb22517af685391e GIT binary patch literal 1246 zcmV<41R?v0P)ZgXgFbngSdJ^%m&a7jc#RCt{2 zoJ(&TRTzdJk0(;3D4S-L6{T@kq~zix{R0SESRhz(5eOmF#+L?)3ZkkiD9sI!P(xXP z*n?Uk1Z+SoX_Ejyq9`4E6WemE6k~f>gmG+VJoeagX3ogx-8k`BufOlfnKR=zpB%{- zOD0NPOAESyut@=PDFw`>6fl=kz+6gqI#{Vxh(sbpqtTw%*&Nv`N#wdJOt+T zY11khV1Y-#yoOb))tY{n1r~S!Or{Ol55K;EiEa)+(|Rva#5U1$HGaVAN22!Bo`Csr z+B7}}U0rxrfE{b0++yK-;hPa0vEt!Z%%}tow@=RhUWab0CfZww&p}%tsQ}d ztvNq#Z5)AxsX0-%Hm&Mv4+}$ce))9-7Ut$e_(_rJ@9*z-?brC)fz0$b@803+`&ZcA z-R2J6bc1CSz95KG1~fNGX`rbH_7eo@$*kVva`J< zygoYxn(5EYFEAUQ10bKvvGVbarj=%zCbe3PY&OgK+A8^64uB`8rijnY3$M>kfoA%; zuCtg-)u9y%1=jyxMV3z?pJ#n_ncUtUa0n~C^bSKqL&EE`Q^c$JuzrfER4RP=#Rh-< z`3C^Q!^0dL8~`vfGD4|T0$_S(hGcpvFj(LbFfWR!R4UxwxK)SNs+rk1$@C?3-Eq1> zSbdhH$@FzyCy`1sGaEm4Ocq!mS*9O}M7Wqp@WkX~{kh3AXQY7zeVmda@3^bg3O{Ua zqG=k>zwn|ou%Jg^L4Q2)+pkew{pohLx46A=%Q5=sC4-mIFOf|bH+22Et}J25r}9G=#8r*T(%nCyFuC_lT4O~(}$M018=@cCz- z0uESj#s)q*yEhFgiNQ2iLCKLK9t|-3pT`(>IL62*-j2P%IW% zTe*p0G)F%JpXpn$tO%!3`CP6E+Q4V}nM^aR$4;KCAA9`NDZt9hKH~2O4+cBa&twc% zmycjgO;2;~{B!l==gvRNYaRYug^~IV*n3}nV5)i`O16z_UkXa z@#b5{F5_0FZ<;32sLsVif^WY5il?4_hKY%o@cQiJDX?COiN#J6i=969yxqqgT_57Y zV$#?8TBYXnT}sXAyOcDUepvjZ%JkKoejk4QO3mp9SYM;moW4t`IenK>bNUW`c2aZt zUHCOh&FOdWYn7VQckr{5RGGePes+>3(+`WE6q$aQ`~uJP!{+B0AO_W(HOpcB+^?UP z^?5cF>_stQ@bf&=hyGTk?0)JS>Rd_zb14PPr4%riQovm5KU@cf^{bu1M*si-07*qo IM6N<$g1fU`asU7T literal 0 HcmV?d00001 diff --git a/data/stamp/measure sizes icon.png b/data/stamp/measure sizes icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e86e2b06aefe631eed0eea18c29ff1dafdda67d6 GIT binary patch literal 1946 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 S**0DP1W@MIW>qF0@&5tqjspq+ literal 0 HcmV?d00001 diff --git a/data/stamp/measure time icon.png b/data/stamp/measure time icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ea731a76a980726bc678d94232d94438e9f034 GIT binary patch literal 4475 zcmai2cQhRD_a@Oxh#EZ+y+)57HCer8bqP^c4VI{@L<@qAPIRkV(N{!YB^D9H>IAFz z2tMj}^8fFg-<&gZ&zza_yyf2eJommI4D_B;k};Fv;o(t&UZ@)Z)*84iNQi*vEYuGScZ1(nmOl2dIvl|TiP=bs8A zgjT^W-i>l4*;g79LTl2>2qb~23OJ&&Kv2bWEUiFbQ_FxJ%3Th8F5$s^=Y*5c)6<)n znj%gIM@G1nZ+l;$Z+(@M?*}??Lyys3c16XQzn9ZH_CFvKPIk`D!OW)+@r#QtBld-iSUao9I{tbd%L>jGD#nR1|3KorAqnQ4)nmt@GdT^rOo?^`K*1+I- zCCRg_ET(z#HZ?sxX>EppKNo)mKc##c92|V8tjyu->)Y7a_(WW~)UcR`i@Rg(XK{>~ zWlKqPbhPSfiix-91TM?K(UFI7^wQ_|m244bFJvA~U^yo}J=@$rh+@CExY*p;F;-K1 zU)|yf($;>gsF)iW>Cf5I`yno2dFGE(qvsO)2JHP?Z*NsoUEPWoFA56uL{$f8T-P5!G{WoIvq8SBPy3UWFXtIcIWnFoANkbGP3M)Bl@~g}Dvp{wGqN)##%ju7_j*f00%-r0ZRna@Pm-x*7XEoD%>*$~D-lv_tEK zkZUDeckYP%ez(q5QBe^r;h})+ea`UVXg_yu_$X83_U3LTP7GWWoOZ{WizejBCu-CS zF1zSUllq3J>LnBtB_*YoDi&$uII^9VnUf>oJF8P&UBjJN^R!^DMRjJaA@7~}f!Wt! z!scdo^d%5p=cg<(U!i-WpIh_jk5dpyaB?WBJQwr%vE?gQIgL#1n1eTF) zDu@b@NRC>J-&!m#Gx16z;!{@6H|Ev<0$Xs={K(#WW?cG+nofa(A>!Tc6kC$)Kg^fn zY8gCXrh;HvO|X6j2e_uUtE->~=DFk;N8BiIXLF|E zR=hVvz;|cLenEeyk4pbL2!#5`+T0=s+*<*=Y?6COxy}R_pCY>;~d+bV@u)J9Q6yC#q>+VC(JvrZV$a^Z~8takO z=Sg&@YZm-!ZBcvRx4%t_A+H|tA5;dSvgs0%@PzuEOMToCO7q|fIB)k9PLeu zl^_t`YtViYheR)@YS0rnR#rArifLnS-{WH~hZyeWv_U z<0DEe{#P6JFpD-V5g1;#N;uRDN*B8S3JZ^nB=|%_i#Qg%BAk_fnw*~A4+H_80T^6n z9V8Es(hIgAFMfiH0n(_Y&Vi^u8&3mw2_AK;%%enRewocvk?}AQ5);0*vl|Ks4ITZg z1X5Qgkd|&HAWC0Cr~VoM);3<@;}r4UBkpW&dYXob>5(< z?ekR4ocH0N7}ADxdG;3ucab(#A>%xj%qW@{pM;&7(tJpr42K({^)0>=1|CIv`)K%! ze*R%{#w6)BT|QU`2$}!z(OL{5KHzrWI_ioH-?}Z3$y7>8Gl|L4MM%nZswd>a&2R5S z7+WjJ^x#2qM#l5Nz_0!}NTkTt7KHl(B#>2@kvg`h*!FXB%n?2KlRIxBbon8(3}kqH zM2Y@bkbsVcHDMy7T|2kXvfQRU@aVAnuDFB*BJc?<2|;;9RZ4EI@M39I)j!zbE)~s9 zZtfGn0RW-byY-QInU-<|h+6b#8S}=?)29;iapR-_eiD{JGBY!8Zg0a=Q@Q3+4xewV zuf-bBle{6iC$1`*m;CJEt1UZE9-RwzTG|QmA5utg5>tbM+0#(=nVA{-ubh+=6atd> zJ_*x(g2NL#I$&8a1c;B0Gx(O>x}9pG&e+&EE?DFM`!aoPyp)j#`fAB$W#tAvI2aqI z%}9!Z)(sX1=;@oQ> zLqkIqUEPlwI^{~XxhkU~|acVo0&RGXSgCw=Mm zrtRb`Kc5*cL@DKrg2ThKZhnJSFmo+7tXlus{&jrWt{=i_0ePWswLT^$p z{<0Jm6-A^qNr|XgdF^BMSM>CNVSRUG#9{N;lCrW@X-A>$?d_H8I^_z%$jsyu$~KQ%jZcg#YDN6os7o|?Nd3yeUHAN&WE<;A@~q9zZ@!&Y>p&@_WP2^U z<;%+Q?|k$6!5qN3W2Nr$l1+`VNtf}rSJyJDygGJ`b69cwuk_44;NIwX05q|uzd3DQ z%a4p>)*ah%x5YEWpL%7N9yz(V#9X=f7LDkbiAqz~iYu*8J%wkxTj*bc8Q=dS_Ljh`1Cd0- z%zS5Xir-w)wZEWSB!P7=+8(>_4e`1Dk%urI7~Q<~DLWRB%_63;dBH_)pzq3bu8D)3&$W9M1Js<3Wlo&7!7Ba>NI@03*Z=YP`t}t>bA&Qpr zVpIAwk|Q05-M>=~z^6h%;W^;1=>u@*L>SpMF~z6Z zPD#^QIU_bUHXfLAl!G?IBOs6XP?v`%7K0}cWB;S8R(06%9dN_TKSLxgDQjEl zZkcG1L}02bT--bWR*z<6g{FL`9gx7-ivW{nI9U4K_7SKu*N1aN0T5nO{aQlpHHVk? zpJiufH-2&XurWVl*3ww0@;>5sI1on0Kn^QxjP{R>C9ext)7`O3P3hgw?Qom_l894A zmcHX~I=b=cy!hP~LN4!jfN&hiHVV}bFq)McSB7=QWo%dlOM8~JFT}{0s;ft?$~sB& zl=Aow|1B~s)}%kKdJ$|0zYpjGt7*6Z28`@Rqt(AH9SrjWf||W2fBI^n-XZEr3FBJ= zuC?k93g;CB*CJe7*jM(lva)s;w=hTfNn;IQ&km+D;ZjFkMB>3sdmGS6WCXo_m-XZ* z$SNkOWLDW8hc}SO?l_mOyF1;K!SE6%DsZ`rg)dT2pfMBg0Y&r57b8D6fNSaLtt{V! zoaf4FOq4R5czgFOcHgHpo)Fg#=Y+>@ZoY_kA3<`ycLxI5qVQo$+=(>=xbVYj(B-Kx zCS8b=Q-L*q#1i5N;WzBa$H|SWw)@|FmThneF_fN0-FrA6^F`ty+8jDkJYR z(?lBZq37o#ESg;HU%lc>C<=*o{l$| z(vMcRtM7>Ju}8#X#yAg1lP7Bp3=Qv}=PLCfmPEvdeF*>(qrn<*|GgB#!eQ0pG=W!} z_j&bMH+uf_k#wF;UTn{;bDzjwAE`kTuGU}G*Vp@>FXO*Em|yvJD;qg;;N{2O6$>vG z6PHexRWj%D$w6)&9q#VB!8%`#<;5&fZQwABW){)|gVPVxdb1xqcu-JS0kUurfIuKX zu?A13{;@==?>vtpm9DXvXw$a^S|t<54MF$d@$zvnmR@T%(xwxps{@q;fj)c-NKtih z5jd!?2ii&%us$Ojn~HyiI?h7FBs; j9QOa6GW=hM5V!dH(U2GxHS06r^aKy2p{I^ieHHOP8K>Kh literal 0 HcmV?d00001 diff --git a/data/stamp/measure tool scale icon.png b/data/stamp/measure tool scale icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b23c9aaa1710c08a8b7adc87c980b3928d2cc206 GIT binary patch literal 3852 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 Vu(xUaUHUl70M#>rl<7D`{tpDfi(vo& literal 0 HcmV?d00001 diff --git a/data/stamp/mesure diameter icon.png b/data/stamp/mesure diameter icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d13982f8f8430d988e35149d5bcad784cf326c2 GIT binary patch literal 3545 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 literal 0 HcmV?d00001 diff --git a/include/signal.h b/include/signal.h index 6a2c9b8..1ab4fd8 100644 --- a/include/signal.h +++ b/include/signal.h @@ -121,7 +121,7 @@ void on_axis_value_change (GtkAdjustment *adjustment, gpointer data); void on_clicked_home (GtkWidget *btt_reset, gpointer data); void on_clicked_search (GtkWidget *btt_menu, gpointer list_box); - +void on_clicked_measure (GtkWidget *btt_measure, gpointer data); /******************************************************************************/ diff --git a/include/widget.h b/include/widget.h index d65dd7d..b836d95 100644 --- a/include/widget.h +++ b/include/widget.h @@ -41,17 +41,6 @@ #define H_TEXT_WINDOW H_MY_SCREEN -// called in widget / dispatch.c / on_windows_activation() -// defined in widget / topbar / dispatch.c -// - widget / topbar / dialog.c -// - widget / topbar / polytext.c -// after gtk_application_window_new (app) x 3 - -void widget_design_main_window (GtkWindow *main_window); -void widget_design_dialog_window (GtkWindow *main_window, GtkWindow *dialog_window); -void widget_design_text_window (GtkWindow *main_window, GtkWindow *text_window); - - // called in signal.c / switch_state_rules_data() / gtk_window_set_child() // defined in widget / dispatch.c @@ -60,6 +49,17 @@ void *widget_get_dialog_window(); void *widget_get_text_window(); +// called in widget / dispatch.c / on_windows_activation() +// defined in widget / topbar / dispatch.c +// - widget / topbar / dialog.c +// - widget / topbar / polytext.c +// (after gtk_application_window_new (app) x 3) + +void widget_design_main_window (GtkWindow *main_window); +void widget_design_dialog_window (GtkWindow *main_window, GtkWindow *dialog_window); +void widget_design_text_window (GtkWindow *main_window, GtkWindow *text_window); + + /******************************************************************************/ /* W I D G E T S */ /******************************************************************************/ @@ -98,12 +98,14 @@ void window_design_header_bar_right (GtkWidget *header_bar); // defined in widget / synth / dispatch.c // - widget / state / dispatch.c // - widget / rules / dispatch.c -// - widget / data / dispatch.c +// - widget / data / dispatch.c +// - widget / measure / dispatch.c void *widget_get_synth_page(); // in : widget / synth / dispatch.c void *widget_get_state_page(); // in : widget / state / dispatch.c void *widget_get_rules_page(); // in : widget / rules / dispatch.c -void *widget_get_data_page(); // in : widget / data / dispatch.c +void *widget_get_data_page(); // in : widget / data / dispatch.c +void *widget_get_measure_page();// in : widget / measure / dispatch.c /******************************************************************************/ @@ -243,3 +245,11 @@ void widget_let_us_create_a_complex_useless_and_expensive_tree (struct TreeNode_ /* M E N U */ /******************************************************************************/ + +/******************************************************************************/ +/* M E A S U R E S */ +/******************************************************************************/ +// called by : signal.c +// defined in : widget / measure / dispatch.c + +void *widget_measure_new (); diff --git a/src/signal.c b/src/signal.c index efac802..5df0780 100644 --- a/src/signal.c +++ b/src/signal.c @@ -359,3 +359,13 @@ void on_situations_box_do_reset (GtkWidget *btt_reset, GtkScrollbar *reset_scrol } + +/******************************************************************************/ +/* M E A S U R E S */ +/******************************************************************************/ + +void on_clicked_measure (GtkWidget *btt_measure, gpointer data) +{ + gtk_window_set_child (GTK_WINDOW (widget_get_main_window ()), + GTK_WIDGET (widget_get_measure_page())); +} diff --git a/src/widget/measure/dispatch.c b/src/widget/measure/dispatch.c new file mode 100644 index 0000000..355127a --- /dev/null +++ b/src/widget/measure/dispatch.c @@ -0,0 +1,74 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * +* * +* Gem-graph client * +* * +* Windows && Headers * +* * +* Copyright © 2021 Libre en Communs * +* Copyright © 2021 Adrien Bourmault * +* Copyright © 2021 Jean Sirmai * +* * +* This file is part of Gem-graph. * +* * +* This program is free software: you can redistribute it and/or modify it * +* under the terms of the GNU Affero General Public License * +* as published by the Free Software Foundation, * +* either version 3 of the License, * +* or (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; * +* without even the implied warranty of MERCHANTABILITY * +* or FITNESS FOR A PARTICULAR PURPOSE. * +* See the GNU Affero General Public License for more details. * +* * +* You should have received a copy of the GNU Affero General Public License * +* along with this program. If not, see . * +* * +* * * * * * * * * * * * * * * * * * * * * * * * * * */ + + +#include "../../../include/base.h" +#include "../../../include/signal.h" +#include "../../../include/widget.h" + + +/******************************************************************************/ +/* M E A S U R E S */ +/******************************************************************************/ + +#define PARTITION_MEASURE 500 + +void *widget_measure_new () +{ + printf("on_clicked_measure() >> dispatch.c / widget_measure_new()\n"); + GtkBox *results_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)); + gtk_box_append (results_box, GTK_WIDGET (gtk_picture_new_for_filename + ("/home/jean/Gem-Graph/gem-graph-client/data/stamp/measure caliper icon.png"))); + return results_box; +} + +void *widget_measure_II () +{ + printf("on_clicked_measure() >> dispatch.c / widget_measure_II()\n"); + GtkBox *measure_II_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)); + gtk_box_append (measure_II_box, GTK_WIDGET (gtk_picture_new_for_filename + ("/home/jean/Gem-Graph/gem-graph-client/data/stamp/measure pressure icon.png"))); + return measure_II_box; +} + +void *widget_get_measure_page() +{ + printf("dispatch.c / widget_measure_new() >> dispatch.c / widget_get_measure_page()\n"); + GtkWidget *anything = gtk_paned_new (GTK_ORIENTATION_VERTICAL); + gtk_paned_set_start_child (GTK_PANED (anything), + GTK_WIDGET (widget_measure_new())); + gtk_paned_set_end_child (GTK_PANED (anything), + GTK_WIDGET (widget_measure_II())); + gtk_paned_set_position (GTK_PANED (anything), PARTITION_MEASURE); + gtk_paned_set_shrink_start_child (GTK_PANED (anything), FALSE); + gtk_paned_set_shrink_end_child (GTK_PANED (anything), FALSE); + gtk_widget_set_size_request (anything, 0, H_MY_SCREEN); // OK (required)) + + return anything; +} diff --git a/src/widget/state/middle.c b/src/widget/state/middle.c index bd96a8c..5682b9b 100644 --- a/src/widget/state/middle.c +++ b/src/widget/state/middle.c @@ -45,7 +45,7 @@ void widget_state_XYZ_reset_all() gtk_adjustment_set_value (Z_adjust, 0); } -static GtkBox *rec_XYZ_box() +static void *get_XYZ_box() { GtkBox *XYZ_labels_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)); // spacing = 2 GtkBox *XYZ_scrollbar_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2)); @@ -77,13 +77,12 @@ static GtkBox *rec_XYZ_box() return XYZ_labels_box; } -static GtkBox *rec_ZOOM_box() +static void *get_ZOOM_box() { GtkBox *ZOOM_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0)); GtkWidget *ZOOM_Label = GTK_WIDGET (gtk_label_new (\ "\n TOOLS\n ---\n zoom\n ---\n space\n struct.\n\ ---\n arrows\n struct.\n ---\n orient\n state\n in space\n")); -// gtk_widget_set_size_request (GTK_WIDGET (ZOOM_box), 10, 80); gtk_box_append (ZOOM_box, ZOOM_Label); return ZOOM_box; } @@ -100,9 +99,9 @@ void *widget_get_space_view() // TODO replace this image by >> ui_setup_glarea (0, GTK_WIDGET (~)); GtkBox *camera = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)); - gtk_box_append (camera, GTK_WIDGET (rec_XYZ_box())); + gtk_box_append (camera, GTK_WIDGET (get_XYZ_box())); gtk_box_append (camera, GTK_WIDGET (gtk_separator_new (GTK_ORIENTATION_HORIZONTAL))); - gtk_box_append (camera, GTK_WIDGET (rec_ZOOM_box())); + gtk_box_append (camera, GTK_WIDGET (get_ZOOM_box())); GtkWidget *view_space_vs_camera = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_set_start_child (GTK_PANED (view_space_vs_camera), GTK_WIDGET (E_coli)); @@ -111,6 +110,11 @@ void *widget_get_space_view() gtk_paned_set_shrink_end_child (GTK_PANED (view_space_vs_camera), FALSE); gtk_paned_set_position (GTK_PANED (view_space_vs_camera), PARTITION_SPACE_VS_CAMERA); +/* GtkBox *un_essai = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6)); + gtk_box_append (GTK_BOX (un_essai), GTK_WIDGET (E_coli)); + gtk_box_append (GTK_BOX (un_essai), GTK_WIDGET (camera)); + + return GTK_WIDGET (un_essai); <<< Ça devrait suffire ? */ return GTK_WIDGET (view_space_vs_camera); } diff --git a/src/widget/synth/dispatch.c b/src/widget/synth/dispatch.c index 8fc5b87..e87a054 100644 --- a/src/widget/synth/dispatch.c +++ b/src/widget/synth/dispatch.c @@ -57,8 +57,8 @@ static void *widget_get_space_vs_non_time_dependent_analysis() gtk_paned_set_end_child (GTK_PANED (space_vs_non_time_dependent_analysis), GTK_WIDGET (widget_get_non_time_dependent_analysis_elements())); gtk_paned_set_position (GTK_PANED (space_vs_non_time_dependent_analysis), PARTITION_SYNTH); - gtk_paned_set_shrink_start_child (GTK_PANED (space_vs_non_time_dependent_analysis), TRUE); - gtk_paned_set_shrink_end_child (GTK_PANED (space_vs_non_time_dependent_analysis), TRUE); + gtk_paned_set_shrink_start_child (GTK_PANED (space_vs_non_time_dependent_analysis), FALSE); + gtk_paned_set_shrink_end_child (GTK_PANED (space_vs_non_time_dependent_analysis), FALSE); // TRUE return space_vs_non_time_dependent_analysis; } diff --git a/src/widget/topbar/dispatch.c b/src/widget/topbar/dispatch.c index 1e251d1..1bb1874 100644 --- a/src/widget/topbar/dispatch.c +++ b/src/widget/topbar/dispatch.c @@ -54,7 +54,7 @@ void widget_design_main_window (GtkWindow *main_window) gtk_check_button_set_active (GTK_CHECK_BUTTON (widget_get_btt_data()), TRUE); gtk_check_button_set_active (GTK_CHECK_BUTTON (widget_get_btt_synth()), TRUE); -// THE LAST ONE IS THE WINNER (AND THE WINNER TAKES IT ALL !...) + // THE LAST ONE IS THE WINNER (AND THE WINNER TAKES IT ALL !...) gtk_window_present (GTK_WINDOW (main_window)); } diff --git a/src/widget/topbar/right.c b/src/widget/topbar/right.c index d460934..3c67806 100644 --- a/src/widget/topbar/right.c +++ b/src/widget/topbar/right.c @@ -54,6 +54,11 @@ void window_design_header_bar_right (GtkWidget *header_bar) g_signal_connect (search, "clicked", G_CALLBACK (on_clicked_search), no_local_data); gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (search)); + GtkButton *measure = GTK_BUTTON (gtk_button_new ()); + gtk_button_set_icon_name (measure, "color-select-symbolic"); + g_signal_connect (measure, "clicked", G_CALLBACK (on_clicked_measure), no_local_data); + gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (measure)); +