From b60a1f43837f0b500d22a9df22f340438f029865 Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Wed, 24 Jan 2018 14:54:11 +0000 Subject: [PATCH] Upate on Fault tree diagrams --- src/main/java/ui/TGUIAction.java | 4 +- .../java/ui/ftd/FaultTreeDiagramToolbar.java | 42 +++++++++--------- src/main/resources/ui/util/AndFT.png | Bin 3860 -> 686 bytes src/main/resources/ui/util/OrFT.png | Bin 1779 -> 1591 bytes 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java index 4516382270..621c112c56 100755 --- a/src/main/java/ui/TGUIAction.java +++ b/src/main/java/ui/TGUIAction.java @@ -371,7 +371,7 @@ public class TGUIAction extends AbstractAction { public static final int FTD_COMPOSITION_CONNECTOR = 468; public static final int FTD_CONSTRAINT = 469; public static final int FTD_COUNTERMEASURE = 470; - public static final int FTD_COUNTERMEASURE_CONNECTOR = 470; + public static final int FTD_COUNTERMEASURE_CONNECTOR = 473; // AVATAR Block Diagram public static final int ABD_BLOCK = 289; @@ -629,7 +629,7 @@ public class TGUIAction extends AbstractAction { public static final int MOVE_ENABLED = 463; public static final int FIRST_DIAGRAM = 464; - public static final int NB_ACTION = 473; + public static final int NB_ACTION = 474; private static final TAction [] actions = new TAction[NB_ACTION]; diff --git a/src/main/java/ui/ftd/FaultTreeDiagramToolbar.java b/src/main/java/ui/ftd/FaultTreeDiagramToolbar.java index af9079a841..e57fc9eea0 100644 --- a/src/main/java/ui/ftd/FaultTreeDiagramToolbar.java +++ b/src/main/java/ui/ftd/FaultTreeDiagramToolbar.java @@ -1,26 +1,26 @@ /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille - * + * * ludovic.apvrille AT enst.fr - * + * * This software is a computer program whose purpose is to allow the * edition of TURTLE analysis, design and deployment diagrams, to * allow the generation of RT-LOTOS or Java code from this diagram, * and at last to allow the analysis of formal validation traces * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP * from INRIA Rhone-Alpes. - * + * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL * "http://www.cecill.info". - * + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited * liability. - * + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -31,14 +31,12 @@ * requirements in conditions enabling the security of their systems and/or * data to be ensured and, more generally, to use and operate it in the * same conditions as regards security. - * + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. */ - - package ui.ftd; import ui.MainGUI; @@ -51,12 +49,13 @@ import javax.swing.*; //import java.awt.event.*; /** - * Class FaultTreeDiagramToolBar - * Implements the toolbar to be used in conjunction with the panel of a fault tree diagram - * Creation: 03/11/2009 - * @version 1.0 03/11/2009 - * @author Ludovic APVRILLE - * @see ui.ftd.FaultTreeDiagramPanel + * Class FaultTreeDiagramToolBar + * Implements the toolbar to be used in conjunction with the panel of a fault tree diagram + * Creation: 03/11/2009 + * + * @author Ludovic APVRILLE + * @version 1.0 03/11/2009 + * @see ui.ftd.FaultTreeDiagramPanel */ public class FaultTreeDiagramToolbar extends TToolBar { @@ -85,11 +84,11 @@ public class FaultTreeDiagramToolbar extends TToolBar { mgui.actions[TGUIAction.FTD_CONSTRAINT].setEnabled(b); - mgui.actions[TGUIAction.FTD_COUNTERMEASURE].setEnabled(b); - mgui.actions[TGUIAction.FTD_COUNTERMEASURE_CONNECTOR].setEnabled(b); + mgui.actions[TGUIAction.FTD_COUNTERMEASURE].setEnabled(b); + mgui.actions[TGUIAction.FTD_COUNTERMEASURE_CONNECTOR].setEnabled(b); mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b); - //mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b); + //mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b); } @@ -130,12 +129,13 @@ public class FaultTreeDiagramToolbar extends TToolBar { button = this.add(mgui.actions[TGUIAction.FTD_FAULT_CONNECTOR]); button.addMouseListener(mgui.mouseHandler); - this.addSeparator(); - button = this.add(mgui.actions[TGUIAction.FTD_COUNTERMEASURE]); + this.addSeparator(); + button = this.add(mgui.actions[TGUIAction.FTD_COUNTERMEASURE]); button.addMouseListener(mgui.mouseHandler); - button = this.add(mgui.actions[TGUIAction.FTD_COUNTERMEASURE_CONNECTOR]); + + button = this.add(mgui.actions[TGUIAction.FTD_COUNTERMEASURE_CONNECTOR]); button.addMouseListener(mgui.mouseHandler); - + this.addSeparator(); this.addSeparator(); diff --git a/src/main/resources/ui/util/AndFT.png b/src/main/resources/ui/util/AndFT.png index 7788cb863fca328ffebd3f69551893a2037b3d0f..2b8c1526f2eca2938d282af11300374acd002ae4 100644 GIT binary patch delta 618 zcmV-w0+s!g9<BwDBa=xCFn<^g5D^zY=NSM10y{}WK~zY`&6m$>6G0rs-%Q)3f<`6u zU=<Mr!Qx+FPa*`;#3W5I8^!*jkP=&nL@BKz)I;^8L`(^6Y110D*=TmN+in62-aUBn zQZIV(pa(AnEhr-6L9<Qc)>@nH_+Vg|VdwLB^PL%%;2+dEklNpS_J7#%JuNsu31Mqr z*=ojk`{tE=^%EMcky~>BfcRwAoh#_$rKQS80L-qbdii~>pkKQ<Hsb<-?nGt><f91y z!0@=#_N-*6^)S;kH?;csf@(Y-8j}ugg&}r>SElBXx-o!-ymq-i8l0|<o2L0!-aQ_V z)qf=GgO|j>eBbq1Jb%1Bw6y^#ry|yyCQnPr=jTJdGur`gW<*vDRSf&W>8yg$!SLn= z?nwnCV-cb)Ro(^9d5`P_UT>nLmtThhT^)BaGA81pHBYOZsq`X}u?Q5sywWIm?HZv# z*GWYyznqARn7p62PoSV0Pa@sE3yp%?C6O;KPe*(FqrW8}<$u(^-GbMy8SU|pq~}zh zT>@;k;Ppx9%asoSzqj2=U_sUrPQa^-fZuy4yQmFY2KvQd$_aR_-1~%^06-ti7Ei%p z{Yv5R-I-!Lb-RSq;G{N}&`E_BdV-gMR)Ka<Ft!)m#9S1_{y}mC&wic)29BZt;g$da zKq=*CfDwQ)@L#Ke4UZA0Enr*?a8CdrpkN$pfbmX%aNmOe;}meciP3ELH{;+<$eKTY z`Tj!D$^wY>ED^SyGG70XfUW1*L`f?^n*Nmk>e{!JA1y@N%WJtCSO5S307*qoM6N<$ Ef|V#Oa{vGU delta 3815 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 diff --git a/src/main/resources/ui/util/OrFT.png b/src/main/resources/ui/util/OrFT.png index 33778869ea1269a9390e512cce0b8a6c36059ae2..65aac3b7b5335df4f94c78d76c7c5965fad8c0b3 100644 GIT binary patch delta 1525 zcmV<R1q%A}4Yv%CRDTT+JIsVG&j0`g#7RU!R9M5sSX)ROR~Y`znc11y-Ps-2b+hVv zslg3wbqz%0CB-O>7?y%*6cY#r8XKffrJyW?1Znb6NNApX=tCh7r6CV_NJ9)1Tbe?k z1X?MELM&BMFER0gt7di_ch)(5$c|Yx@m3`t{4i%{=X~G!{(t#r{xiT9AW71yab;zt z5Dtes0Q^oV{n_jFRsg`!qelS%f*`zU8j^~wqqVhl)mRV&3Lp=_cK}!_OaQ}_($7mu zO0v@bUsza(9iykGXDzuT2*M`-UIJh|&nNwU|9Dnb)&!;05;G<U!Yb7{IXRn?F~(Mn zFJ8R3a{T1U6My3MdNVkV`_@{q%jMFd(dg*#@Gu)59%daK9b=Tz#nkx(A>?W(6k5q! zZEfw=$*ZcWR*rjnd+C`oXUb$*ew<ph5ekJy9zA+AYmr-V|Ni}j{QUfBD>XdN{}>1a zWNWTSB=S}P<V|82V`yk-D3N7(6acf^?M7Q$+sIntwSQ4pSN9JggaKfb(x2+<>y@`H z78{*#yWRT)LHG**b2^=g3l}at-;CUfwzjs>)Xm9wp8qitiMZdE0SW+w5S%=Da^**# z&*#!K?VCg*Q6kH7G8&DJoj-p*d#g9_<;$1z&z(CrL<m7LnQZ9m>+7+cRupAjZLUI7 zQ<Lr9y?=XOFvhNlqL}FF>U!DU-tOH=C3Saq&)&RwGZVm~BuU-6u77PgP6&DJfGCOp zfQg9-jEsy_GRD55lrA?lHI40*900CdxsrMK@ZnJac3syyT`pId<@h=Wg25mrCMLw? z<>g;=T|ZJ<S~`38?%hoMPdt0}Z2rWF6I?77bAJ#*eqfBXq`N>Vr2qg`RiW#8wXW+& z91cg~`t|Ec>;eLTfD(;H7gNIz{eJ)HbQh>;nvi7~larIS<>lo|gb*A*etfdHxOg9S z38zk-@)Z{s|H~N5n3|gUbX^swstU$f34jJs6pgN~E<1J^ot>SIl=UG&5JFZOXxek& zGk-z|4jw!>ot>SXwc7%!tE>Had3jR+G7Q7`*h&L!Zf-_>eZ2!fD*&85dsfFD!0mRE zmX;P3fJ_MaXe9*$0|OWx9W7&wW!h}E#YiNwAA5wly1Fa?%rwn>kH_;q0MK|m4o%bQ z0U%}3p26qyIqY`(a{$uZ+*~mL&=)UWKz~)$5<&>7s;b1j6rd;yDK9U#0dQ~}R|Wu- z=Xsc>83cfEIL!7^fYa&Zii(N=KmxEI0O<JmxNUK9Q2~J5++2!1hTrc`0N|3zqzeG3 zEXx9bJVFQ@4u^lQ1$e#Qz^e)*J^-MUQVxK;VZ*SCFiq1seC2?y>j}IYZ~#DW-G92Z z^o|5D0H8HBH5Bg<w6L&{f0qJyNs@%^TrfE~sZLEz>6)fx7>2O~fY@v{QI_TTf`S6x z<#M^VB_NqhZrFGX4i3)r_xH2G!9g}XJ?)&IpBH1X7{?gn4a4A40>E*cLs1k%QIuF- zUY;2ahgn5M1qlQK8@6=3VHhiQVSjZ;0C4Bd9sR+B2Z^DfA$e?UjMp^HO4Sm8IRLW& z768Nn>;s^r0sxrD<1q>f3KGF!aJsRvksLdAENd+X0PyJz;=;nh%NsXt=zV>C_NPyu z$}=-F5`bw!$lsLGUrp0|oFdf(L4awRx@nq*D2mQxGHI7(*{7;%4uJAlEPqxLi^Ylt z1_tDZ4<9bwzI}VXv9U3(X_^4wb-$sis%&ki4jeeJ<Zw8Wsd2v`2-g4{kt8W(x7(dt z$!T+QGw<<u0vyLx5klH2rQZXXPPr1#&(DtoV1$rA*9l0)ZvajMDDnIK8Jq1XH+y=D zqL@nvsReKqfM)Tm2+%amoo+_{C4gZ11lifyt4JARBz-@*ou-Ho(nu-oO$itP0L0^Q z7l4E$Np03UVWU-BvE#bu`S$=^0`Q0Raws}<=umTMX(_**ZwT8Jk^b4n>-8!{MMWPl b#`ymLJZgmB4-I2900000NkvXXu0mjf?(4wD delta 1715 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 JPDHLkV1n=IHdg=u -- GitLab