mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
Compare commits
9 Commits
0.9-dev-20
...
0.6rc3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a90ef4c581 | ||
|
|
5612121df2 | ||
|
|
517c7db05e | ||
|
|
9b4b317d7f | ||
|
|
fad7ba8347 | ||
|
|
82fd0fd181 | ||
|
|
603fa81cb7 | ||
|
|
65d87814b6 | ||
|
|
eeaecfa40e |
@@ -21,6 +21,3 @@ part terminal + 1106
|
|||||||
part text + 1107
|
part text + 1107
|
||||||
part text field + 1108
|
part text field + 1108
|
||||||
part rectangle + 1109
|
part rectangle + 1109
|
||||||
|
|
||||||
###QetGraphicsHandlerItem###
|
|
||||||
QetGraphicsHandlerItem = 1200
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<definition link_type="master" width="80" height="50" hotspot_x="51" orientation="dyyy" version="0.60" type="element" hotspot_y="24">
|
||||||
|
<uuid uuid="{a2740e69-3632-4ab0-8bd1-0591adc0b909}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="fr">Interrupteur sectionneur triphasé</name>
|
||||||
|
</names>
|
||||||
|
<kindInformations>
|
||||||
|
<kindInformation show="1" name="type">protection</kindInformation>
|
||||||
|
</kindInformations>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<polygon antialias="true" y3="20" closed="false" x2="0" x1="-5" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="10" y1="-10" x3="0"/>
|
||||||
|
<circle y="10" antialias="true" x="-42" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="4"/>
|
||||||
|
<circle y="-12" antialias="true" x="18" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="4"/>
|
||||||
|
<circle y="-12" antialias="true" x="-22" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="4"/>
|
||||||
|
<circle y="-12" antialias="true" x="-2" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="4"/>
|
||||||
|
<polygon antialias="true" y3="20" closed="false" x2="0" x1="-5" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="10" y1="-10" x3="0"/>
|
||||||
|
<polygon antialias="true" y3="20" closed="false" x2="20" x1="15" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="10" y1="-10" x3="20"/>
|
||||||
|
<polygon antialias="true" y3="20" closed="false" x2="-20" x1="-25" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="10" y1="-10" x3="-20"/>
|
||||||
|
<input y="3" x="22.75" size="9" text="_" tagg="label"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="0" x1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-20"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="-2" x1="2" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-12"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="-20" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-20"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="-22" x1="-18" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-12"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="20" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-20"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="18" x1="22" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-12" y1="-12"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="-40" x1="15" style="line-style:dashed;line-weight:normal;filling:none;color:black" y2="0" y1="0"/>
|
||||||
|
<line length1="1.5" antialias="false" length2="1.5" end1="none" end2="none" x2="-45" x1="-40" style="line-style:normal;line-weight:normal;filling:none;color:black" y2="-10" y1="10"/>
|
||||||
|
<terminal y="-20" x="0" orientation="n"/>
|
||||||
|
<terminal y="20" x="0" orientation="s"/>
|
||||||
|
<terminal y="-20" x="20" orientation="n"/>
|
||||||
|
<terminal y="20" x="20" orientation="s"/>
|
||||||
|
<terminal y="-20" x="-20" orientation="n"/>
|
||||||
|
<terminal y="20" x="-20" orientation="s"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<definition type="element" hotspot_y="44" version="0.60" hotspot_x="43" link_type="slave" orientation="dyyy" width="60" height="60">
|
||||||
|
<uuid uuid="{9f95f940-7ebe-43df-9f35-c4c07eb2e047}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="fr">Contact NF disjoncteur magnéto-thermique GV</name>
|
||||||
|
</names>
|
||||||
|
<kindInformations>
|
||||||
|
<kindInformation name="number" show="1">1</kindInformation>
|
||||||
|
<kindInformation name="state" show="1">NC</kindInformation>
|
||||||
|
<kindInformation name="type" show="1">simple</kindInformation>
|
||||||
|
</kindInformations>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<polygon x3="-22" x6="-27" y4="-26" y2="-20" closed="false" x5="-27" y5="-26" y6="-30" x7="-27" x4="-22" x2="-27" y3="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="true" y1="-16" x1="-27" y7="-30"/>
|
||||||
|
<rect y="-30" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" x="-37" width="20" height="28"/>
|
||||||
|
<text y="-5" text="I>" size="9" x="-34"/>
|
||||||
|
<input y="-13.5" text="_" size="8" tagg="label" rotate="true" x="4"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-16" end2="none" x2="-17" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-16" x1="-37"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-40" end2="none" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-25" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-25" end2="none" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-5" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-5" end2="none" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="10" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-15" end2="none" x2="0" end1="none" style="line-style:normal;line-weight:thin;filling:none;color:black" antialias="false" y1="-15" x1="-15"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-25" end2="none" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-25" x1="0"/>
|
||||||
|
<terminal y="10" orientation="s" x="0"/>
|
||||||
|
<terminal y="-40" orientation="n" x="0"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<definition type="element" hotspot_y="44" version="0.60" hotspot_x="42" link_type="slave" orientation="dyyy" width="50" height="60">
|
||||||
|
<uuid uuid="{ad62e994-1c20-42c4-8a2f-40519cc56f5c}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="fr">Contact NO disjoncteur magnéto-thermique GV</name>
|
||||||
|
</names>
|
||||||
|
<kindInformations>
|
||||||
|
<kindInformation name="number" show="1">1</kindInformation>
|
||||||
|
<kindInformation name="state" show="1">NC</kindInformation>
|
||||||
|
<kindInformation name="type" show="1">simple</kindInformation>
|
||||||
|
</kindInformations>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<polygon x3="-22" x6="-27" y4="-26" y2="-20" closed="false" x5="-27" y5="-26" y6="-30" x7="-27" x4="-22" x2="-27" y3="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="true" y1="-16" x1="-27" y7="-30"/>
|
||||||
|
<rect y="-30" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" x="-37" width="20" height="28"/>
|
||||||
|
<text y="-5" text="I>" size="9" x="-34"/>
|
||||||
|
<input y="-13.5" text="_" size="8" tagg="label" rotate="true" x="4"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-16" end2="none" x2="-17" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-16" x1="-37"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-40" end2="none" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-25" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-25" end2="none" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="-5" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-5" end2="none" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false" y1="10" x1="0"/>
|
||||||
|
<line length1="1.5" length2="1.5" y2="-15" end2="none" x2="-7" end1="none" style="line-style:normal;line-weight:thin;filling:none;color:black" antialias="false" y1="-15" x1="-15"/>
|
||||||
|
<terminal y="-40" orientation="n" x="0"/>
|
||||||
|
<terminal y="10" orientation="s" x="0"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<definition width="70" orientation="dyyy" version="0.5" height="60" type="element" hotspot_y="27" link_type="simple" hotspot_x="44">
|
||||||
|
<uuid uuid="{90f11615-a2f2-4324-8d2c-c2a9b7377dfa}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">Motore trifase PE + BRAKE</name>
|
||||||
|
<name lang="en">Three-phase engine PE + BRAKE</name>
|
||||||
|
<name lang="ru">Трёхфазный эл. мотор PE + BRAKE</name>
|
||||||
|
<name lang="cs">Trojfázový motor PE + BRAKE</name>
|
||||||
|
<name lang="es">Motor trifásico PE + BRAKE</name>
|
||||||
|
<name lang="pl">Silnik trójfazowy PE + BRAKE</name>
|
||||||
|
<name lang="de">Drehstrom Motor PE + BRAKE</name>
|
||||||
|
<name lang="pt">Motor trifásico PE + BRAKE</name>
|
||||||
|
<name lang="fr">Moteur triphasé PE + BRAKE</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="W1" rotation="270" x="8" y="-9" size="5"/>
|
||||||
|
<text text="V1" rotation="270" x="-2" y="-11" size="5"/>
|
||||||
|
<text text="PE" rotation="270" x="18" y="-11" size="5"/>
|
||||||
|
<text text="M" x="-10.25" y="18" size="18"/>
|
||||||
|
<circle diameter="30" antialias="true" x="-15" y="-5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input text="M_" tagg="label" x="-21" y="41" size="9"/>
|
||||||
|
<line x1="0" y2="-5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="10" length1="1.5" y1="-16" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<arc start="30" angle="-70" width="35" height="35" antialias="true" x="-17.5" y="-7.5" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="12" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="18" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="20" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="-20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="2" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="18" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-23" y2="18" length1="1.5" y1="2" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="10" height="8" antialias="false" x="-35" y="6" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-25" y2="10" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="-24" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="-17" length1="1.5" y1="6" end2="none" length2="1.5" antialias="false" x2="-30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="20" length1="1.5" y1="14" end2="none" length2="1.5" antialias="false" x2="-30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-40" y2="-17" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="U1" rotation="270" x="-12" y="-10" size="5"/>
|
||||||
|
<terminal orientation="n" x="-40" y="-21"/>
|
||||||
|
<terminal orientation="n" x="0" y="-21"/>
|
||||||
|
<terminal orientation="n" x="10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="-10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="-30" y="-21"/>
|
||||||
|
<terminal orientation="n" x="20" y="-21"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<definition width="70" orientation="dyyy" version="0.5" height="60" type="element" hotspot_y="27" link_type="simple" hotspot_x="24">
|
||||||
|
<uuid uuid="{dbafa441-1b92-4540-a129-d9d07100d4ad}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">Motore trifase PE + TERM</name>
|
||||||
|
<name lang="en">Three-phase engine PE + TERM</name>
|
||||||
|
<name lang="ru">Трёхфазный эл. мотор PE + TERM</name>
|
||||||
|
<name lang="cs">Trojfázový motor PE + TERM</name>
|
||||||
|
<name lang="es">Motor trifásico PE + TERM</name>
|
||||||
|
<name lang="pl">Silnik trójfazowy PE + TERM</name>
|
||||||
|
<name lang="de">Drehstrom Motor PE + TERM</name>
|
||||||
|
<name lang="pt">Motor trifásico PE + TERM</name>
|
||||||
|
<name lang="fr">Moteur triphasé PE + TERM</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="PE" rotation="270" x="18" y="-11" size="5"/>
|
||||||
|
<text text="W1" rotation="270" x="8" y="-9" size="5"/>
|
||||||
|
<text text="V1" rotation="270" x="-2" y="-11" size="5"/>
|
||||||
|
<text text="M" x="-10.25" y="18" size="18"/>
|
||||||
|
<circle diameter="30" antialias="true" x="-15" y="-5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input text="M_" tagg="label" x="-2" y="41" size="9"/>
|
||||||
|
<line x1="0" y2="-5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="10" length1="1.5" y1="-16" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<arc start="30" angle="-70" width="35" height="35" antialias="true" x="-17.5" y="-7.5" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="12" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="18" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="26" y2="7" length1="1.5" y1="14" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="35" y2="5" length1="1.5" y1="7" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="-15" length1="1.5" y1="2" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="-16" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="20" length1="1.5" y1="17" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="4" height="14" antialias="false" x="28" y="3" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="17" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="-17" length1="1.5" y1="3" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="3" length1="1.5" y1="17" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="U1" rotation="270" x="-12" y="-10" size="5"/>
|
||||||
|
<terminal orientation="n" x="40" y="-21"/>
|
||||||
|
<terminal orientation="n" x="30" y="-21"/>
|
||||||
|
<terminal orientation="n" x="10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="20" y="-21"/>
|
||||||
|
<terminal orientation="n" x="-10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="0" y="-21"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
<definition width="90" orientation="dyyy" version="0.5" height="60" type="element" hotspot_y="27" link_type="simple" hotspot_x="44">
|
||||||
|
<uuid uuid="{97c46158-96c8-42e0-b198-96bdc6bdaee7}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">Motore trifase PE + TERM + BRAKE</name>
|
||||||
|
<name lang="ru">Трёхфазный эл. мотор PE + TERM + BRAKE</name>
|
||||||
|
<name lang="en">Three-phase engine PE + TERM + BRAKE</name>
|
||||||
|
<name lang="cs">Trojfázový motor PE + TERM + BRAKE</name>
|
||||||
|
<name lang="pl">Silnik trójfazowy PE + TERM + BRAKE</name>
|
||||||
|
<name lang="es">Motor trifásico PE + TERM + BRAKE</name>
|
||||||
|
<name lang="de">Drehstrom Motor PE + TERM + BRAKE</name>
|
||||||
|
<name lang="pt">Motor trifásico PE + TERM + BRAKE</name>
|
||||||
|
<name lang="fr">Moteur triphasé PE + TERM + BRAKE</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="W1" rotation="270" x="8" y="-9" size="5"/>
|
||||||
|
<text text="V1" rotation="270" x="-2" y="-11" size="5"/>
|
||||||
|
<text text="PE" rotation="270" x="18" y="-11" size="5"/>
|
||||||
|
<text text="M" x="-10.25" y="18" size="18"/>
|
||||||
|
<circle diameter="30" antialias="true" x="-15" y="-5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input text="M_" tagg="label" x="-13" y="41" size="9"/>
|
||||||
|
<line x1="0" y2="-5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-1.5" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="10" length1="1.5" y1="-16" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<arc start="30" angle="-70" width="35" height="35" antialias="true" x="-17.5" y="-7.5" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="12" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="18" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="26" y2="7" length1="1.5" y1="14" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="35" y2="5" length1="1.5" y1="7" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="-15" length1="1.5" y1="2" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="-16" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="20" length1="1.5" y1="17" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="4" height="14" antialias="false" x="28" y="3" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="17" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="-17" length1="1.5" y1="3" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="3" length1="1.5" y1="17" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="20" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="-20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="2" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-20" y2="18" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-23" y2="18" length1="1.5" y1="2" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="10" height="8" antialias="false" x="-35" y="6" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-25" y2="10" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="-24" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="-17" length1="1.5" y1="6" end2="none" length2="1.5" antialias="false" x2="-30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="20" length1="1.5" y1="14" end2="none" length2="1.5" antialias="false" x2="-30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-30" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-40" y2="-17" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="-40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="U1" rotation="270" x="-12" y="-10" size="5"/>
|
||||||
|
<terminal orientation="n" x="-40" y="-21"/>
|
||||||
|
<terminal orientation="n" x="-30" y="-21"/>
|
||||||
|
<terminal orientation="n" x="40" y="-21"/>
|
||||||
|
<terminal orientation="n" x="30" y="-21"/>
|
||||||
|
<terminal orientation="n" x="10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="20" y="-21"/>
|
||||||
|
<terminal orientation="n" x="-10" y="-21"/>
|
||||||
|
<terminal orientation="n" x="0" y="-21"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<definition width="120" orientation="dyyy" link_type="simple" type="element" hotspot_x="46" height="70" hotspot_y="35" version="0.5">
|
||||||
|
<uuid uuid="{7f4e4eca-1462-466c-80b6-bd2398c357c4}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="fr">Servo Moteur</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<rect style="line-style:normal;line-weight:normal;filling:none;color:black" width="60" antialias="false" height="60" x="-30" y="-30"/>
|
||||||
|
<rect style="line-style:normal;line-weight:normal;filling:none;color:black" width="20" antialias="false" height="20" x="-30" y="-30"/>
|
||||||
|
<rect style="line-style:normal;line-weight:normal;filling:none;color:black" width="20" antialias="false" height="20" x="-30" y="-10"/>
|
||||||
|
<rect style="line-style:normal;line-weight:normal;filling:none;color:black" width="20" antialias="false" height="20" x="-30" y="10"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" y2="20" x1="0" x2="0" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" y2="-10" x1="0" x2="60" length1="1.5" antialias="true" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<arc style="line-style:normal;line-weight:normal;filling:none;color:black" start="0" width="20" angle="90" antialias="true" height="20" x="50" y="-10"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" y2="20" x1="60" x2="0" length1="1.5" antialias="true" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<arc style="line-style:normal;line-weight:normal;filling:none;color:black" start="270" width="20" angle="90" antialias="true" height="20" x="50" y="-10"/>
|
||||||
|
<text text="M" x="10" y="2" size="9"/>
|
||||||
|
<circle style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="20" antialias="false" x="5" y="-10"/>
|
||||||
|
<text text="+" x="-24" y="-17" size="9"/>
|
||||||
|
<text text="Out" x="-27" y="6" size="7"/>
|
||||||
|
<text text="-" x="-22" y="24" size="9"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" y2="-20" x1="-30" x2="-40" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" y2="0" x1="-30" x2="-40" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20" y2="20" x1="-30" x2="-40" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="4" y2="4" x1="13" x2="17" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<line style="line-style:normal;line-weight:normal;filling:none;color:black" y1="6" y2="6" x1="13" x2="17" length1="1.5" antialias="false" end1="none" length2="1.5" end2="none"/>
|
||||||
|
<circle style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="10" antialias="false" x="55" y="-5"/>
|
||||||
|
<input text="M__" tagg="label" rotate="true" x="-14" y="-42" size="9"/>
|
||||||
|
<terminal orientation="w" x="-40" y="-20"/>
|
||||||
|
<terminal orientation="w" x="-40" y="0"/>
|
||||||
|
<terminal orientation="w" x="-40" y="20"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<definition width="250" orientation="dyyy" version="0.5" height="100" type="element" hotspot_y="34" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{55dd9654-4b51-4054-a3b5-271c373515a8}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">8200 vector base module</name>
|
||||||
|
<name lang="en">8200 vector base module</name>
|
||||||
|
<name lang="cs">8200 vector base module</name>
|
||||||
|
<name lang="pl">8200 vector base module</name>
|
||||||
|
<name lang="ar">8200 vector base module</name>
|
||||||
|
<name lang="fr">8200 vector base module</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<input rotate="true" text="L3 / N" tagg="none" rotation="270" x="100" y="8" size="7"/>
|
||||||
|
<input rotate="true" text="-UG" tagg="none" rotation="270" x="160" y="-1" size="7"/>
|
||||||
|
<input rotate="true" text="+UG" tagg="none" rotation="270" x="130" y="3" size="7"/>
|
||||||
|
<input rotate="true" text="BR1" tagg="none" rotation="270" x="90" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="BR2" tagg="none" rotation="270" x="110" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="K12" tagg="none" rotation="270" x="210" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="T1" tagg="none" rotation="270" x="130" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="K14" tagg="none" rotation="270" x="170" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="K11" tagg="none" rotation="270" x="190" y="56" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="97.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="T2" tagg="none" rotation="270" x="150" y="56" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="157.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="230" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="230" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="L2 / N" tagg="none" rotation="270" x="70" y="8" size="7"/>
|
||||||
|
<line x1="73" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="8" y2="42" length1="1.5" y1="42" end2="none" length2="1.5" antialias="false" x2="12" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="W" tagg="none" rotation="270" x="70" y="56" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="9" y2="40" length1="1.5" y1="40" end2="none" length2="1.5" antialias="false" x2="11" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="U" tagg="none" rotation="270" x="30" y="56" size="7"/>
|
||||||
|
<line x1="113" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="44" length1="1.5" y1="44" end2="none" length2="1.5" antialias="false" x2="14" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="V" tagg="none" rotation="270" x="50" y="56" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="44" length1="1.5" y1="54" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="L1" tagg="none" rotation="270" x="40" y="-8" size="7"/>
|
||||||
|
<line x1="53" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="37.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="8200 vector" tagg="none" x="7" y="15" size="9"/>
|
||||||
|
<line x1="8" y2="-12" length1="1.5" y1="-12" end2="none" length2="1.5" antialias="false" x2="12" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="9" y2="-10" length1="1.5" y1="-10" end2="none" length2="1.5" antialias="false" x2="11" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="-14" length1="1.5" y1="-14" end2="none" length2="1.5" antialias="false" x2="14" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="-24" length1="1.5" y1="-14" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="207" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="193" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="43" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="230" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="97" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="103" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="157" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="163" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="230" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?" tagg="label" x="-32" y="-19" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-30"/>
|
||||||
|
<terminal orientation="n" x="40" y="-30"/>
|
||||||
|
<terminal orientation="s" x="10" y="60"/>
|
||||||
|
<terminal orientation="s" x="30" y="60"/>
|
||||||
|
<terminal orientation="s" x="50" y="60"/>
|
||||||
|
<terminal orientation="s" x="70" y="60"/>
|
||||||
|
<terminal orientation="n" x="70" y="-30"/>
|
||||||
|
<terminal orientation="n" x="100" y="-30"/>
|
||||||
|
<terminal orientation="n" x="130" y="-30"/>
|
||||||
|
<terminal orientation="n" x="160" y="-30"/>
|
||||||
|
<terminal orientation="s" x="90" y="60"/>
|
||||||
|
<terminal orientation="s" x="110" y="60"/>
|
||||||
|
<terminal orientation="s" x="130" y="60"/>
|
||||||
|
<terminal orientation="s" x="150" y="60"/>
|
||||||
|
<terminal orientation="s" x="170" y="60"/>
|
||||||
|
<terminal orientation="s" x="190" y="60"/>
|
||||||
|
<terminal orientation="s" x="210" y="60"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<definition width="310" orientation="dyyy" version="0.5" height="100" type="element" hotspot_y="32" link_type="simple" hotspot_x="14">
|
||||||
|
<uuid uuid="{611d0ab4-56c9-4bc7-abd8-6b19ca06d6b4}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
<name lang="en">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
<name lang="cs">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
<name lang="pl">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
<name lang="ar">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
<name lang="fr">8200 vector CAN module E82ZAFCC001</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<input rotate="true" text="39" tagg="none" x="41" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="HI" tagg="none" x="182" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="224" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="20" tagg="none" x="261" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="LO" tagg="none" x="100" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="28" tagg="none" x="22" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="28" tagg="none" x="61" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="144" y="49" size="7"/>
|
||||||
|
<line x1="93" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="20" tagg="none" x="241" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="204" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="84" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="LO" tagg="none" x="161" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="HI" tagg="none" x="122" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="39" tagg="none" x="0" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="E82ZAFCC
CAN" tagg="none" x="4" y="12.5" size="9"/>
|
||||||
|
<line x1="7" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-9" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="224" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="273" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="290" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="225" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="290" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="291" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="291" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="_" tagg="label" x="302" y="-5" size="9"/>
|
||||||
|
<terminal orientation="s" x="250" y="60"/>
|
||||||
|
<terminal orientation="s" x="270" y="60"/>
|
||||||
|
<terminal orientation="s" x="190" y="60"/>
|
||||||
|
<terminal orientation="s" x="210" y="60"/>
|
||||||
|
<terminal orientation="s" x="230" y="60"/>
|
||||||
|
<terminal orientation="s" x="130" y="60"/>
|
||||||
|
<terminal orientation="s" x="150" y="60"/>
|
||||||
|
<terminal orientation="s" x="170" y="60"/>
|
||||||
|
<terminal orientation="s" x="70" y="60"/>
|
||||||
|
<terminal orientation="s" x="90" y="60"/>
|
||||||
|
<terminal orientation="s" x="110" y="60"/>
|
||||||
|
<terminal orientation="s" x="10" y="60"/>
|
||||||
|
<terminal orientation="s" x="30" y="60"/>
|
||||||
|
<terminal orientation="s" x="50" y="60"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<definition width="310" orientation="dyyy" version="0.5" height="100" type="element" hotspot_y="32" link_type="simple" hotspot_x="14">
|
||||||
|
<uuid uuid="{36e18720-020d-4787-9ce1-cd1e2b5bcfd9}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
<name lang="en">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
<name lang="cs">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
<name lang="pl">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
<name lang="ar">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
<name lang="fr">8200 vector standard i/o module E82ZAFSC</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<input rotate="true" text="8" tagg="none" x="44" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="E3" tagg="none" x="181" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="39" tagg="none" x="221" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="59" tagg="none" x="261" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="20" tagg="none" x="101" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="24" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="9" tagg="none" x="63" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="E1" tagg="none" x="141" y="49" size="7"/>
|
||||||
|
<line x1="93" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="A1" tagg="none" x="241" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="E4" tagg="none" x="201" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="7" tagg="none" x="84" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="E2" tagg="none" x="161" y="49" size="7"/>
|
||||||
|
<input rotate="true" text="28" tagg="none" x="121" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="62" tagg="none" x="0" y="49" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="E82ZAFSC" tagg="none" x="4" y="12.5" size="9"/>
|
||||||
|
<line x1="7" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-9" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="224" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="273" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="290" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="225" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="290" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="291" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="291" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="_" tagg="label" x="302" y="-6" size="9"/>
|
||||||
|
<terminal orientation="s" x="70" y="60"/>
|
||||||
|
<terminal orientation="s" x="190" y="60"/>
|
||||||
|
<terminal orientation="s" x="210" y="60"/>
|
||||||
|
<terminal orientation="s" x="30" y="60"/>
|
||||||
|
<terminal orientation="s" x="50" y="60"/>
|
||||||
|
<terminal orientation="s" x="150" y="60"/>
|
||||||
|
<terminal orientation="s" x="170" y="60"/>
|
||||||
|
<terminal orientation="s" x="10" y="60"/>
|
||||||
|
<terminal orientation="s" x="270" y="60"/>
|
||||||
|
<terminal orientation="s" x="90" y="60"/>
|
||||||
|
<terminal orientation="s" x="250" y="60"/>
|
||||||
|
<terminal orientation="s" x="230" y="60"/>
|
||||||
|
<terminal orientation="s" x="110" y="60"/>
|
||||||
|
<terminal orientation="s" x="130" y="60"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<qet-directory>
|
||||||
|
<names>
|
||||||
|
<name lang="en">Lenze</name>
|
||||||
|
<name lang="cs">Lenze</name>
|
||||||
|
</names>
|
||||||
|
</qet-directory>
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
<definition width="230" orientation="dyyy" version="0.5" height="110" type="element" hotspot_y="39" link_type="simple" hotspot_x="66">
|
||||||
|
<uuid uuid="{b1feb40e-e154-497b-b4d6-6228e7b6c560}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">PNOZ e1p</name>
|
||||||
|
<name lang="cs">PNOZ e1p</name>
|
||||||
|
<name lang="pl">PNOZ e1p</name>
|
||||||
|
<name lang="ar">PNOZ e1p</name>
|
||||||
|
<name lang="fr">PNOZ e1p</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<input rotate="true" text="Y32" tagg="none" rotation="270" x="140" y="3" size="7"/>
|
||||||
|
<line x1="-17" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-3" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="S11" tagg="none" rotation="270" x="-20" y="-2" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-22.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="83" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="97" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-37" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="57.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="158" y2="58" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="158" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="143" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="157" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="PNOZ e1p" tagg="none" x="-55" y="14.5" size="9"/>
|
||||||
|
<line x1="123" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="137" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="63" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="77" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="103" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-60" y2="58" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="S34" tagg="none" rotation="270" x="80" y="-1" size="7"/>
|
||||||
|
<input rotate="true" text="S12" tagg="none" rotation="270" x="0" y="-1" size="7"/>
|
||||||
|
<line x1="-60" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-43" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="77.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="117.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="Y5" tagg="none" rotation="270" x="119" y="-3" size="7"/>
|
||||||
|
<line x1="43" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="57" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="A2" tagg="none" rotation="270" x="-40" y="54" size="7"/>
|
||||||
|
<input rotate="true" text="Y4" tagg="none" rotation="270" x="99" y="-4" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="S22" tagg="none" rotation="270" x="60" y="-1" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-42.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="24" tagg="none" rotation="270" x="120" y="52" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="117.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="S21" tagg="none" rotation="270" x="40" y="-1" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="137.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="97.5001" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-60" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-43" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="57.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="37.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="A1" tagg="none" rotation="270" x="-40" y="-6" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-42.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="14" tagg="none" rotation="270" x="60" y="54" size="7"/>
|
||||||
|
<line x1="3" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-37" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="57" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="63" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="123" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="157" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="_" tagg="label" x="165" y="48.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="-40" y="61"/>
|
||||||
|
<terminal orientation="n" x="-40" y="-31"/>
|
||||||
|
<terminal orientation="n" x="40" y="-31"/>
|
||||||
|
<terminal orientation="n" x="60" y="-31"/>
|
||||||
|
<terminal orientation="n" x="0" y="-31"/>
|
||||||
|
<terminal orientation="n" x="100" y="-31"/>
|
||||||
|
<terminal orientation="n" x="80" y="-31"/>
|
||||||
|
<terminal orientation="n" x="120" y="-31"/>
|
||||||
|
<terminal orientation="n" x="140" y="-31"/>
|
||||||
|
<terminal orientation="s" x="120" y="61"/>
|
||||||
|
<terminal orientation="s" x="60" y="61"/>
|
||||||
|
<terminal orientation="n" x="-20" y="-31"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
<definition width="210" orientation="dyyy" version="0.5" height="210" type="element" hotspot_y="37" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{7de60078-956d-4e74-a01f-5a2a39b83d6a}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">PM 1207 6EP1332-1SH71</name>
|
||||||
|
<name lang="cs">PM 1207 6EP1332-1SH71</name>
|
||||||
|
<name lang="pl">PM 1207 6EP1332-1SH71</name>
|
||||||
|
<name lang="ar">PM 1207 6EP1332-1SH71</name>
|
||||||
|
<name lang="pt">PM 1207 6EP1332-1SH71</name>
|
||||||
|
<name lang="fr">PM 1207 6EP1332-1SH71</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="L+" x="107" y="-15" size="6"/>
|
||||||
|
<text text="120/230VAC" x="9" y="-3" size="6"/>
|
||||||
|
<text text="M" x="167" y="-15" size="6"/>
|
||||||
|
<text text="L" x="7" y="-15" size="6"/>
|
||||||
|
<text text="L+" x="126" y="-15" size="6"/>
|
||||||
|
<text text="PM1207" x="2" y="65" size="6"/>
|
||||||
|
<text text="24VDC" x="127" y="-3" size="6"/>
|
||||||
|
<text text="N" x="26" y="-15" size="6"/>
|
||||||
|
<text text="M" x="147" y="-15" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="190" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="102" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="102" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="179" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="179" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="128" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="108" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="-13" length1="1.5" y1="-13" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="-11" length1="1.5" y1="-11" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="-15" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-25" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="108" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="167" end2="none" length2="1.5" antialias="false" x2="189" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="189" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="189" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="_" tagg="label" x="53" y="175.5" size="9"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="102" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="178" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="150" y="-31"/>
|
||||||
|
<terminal orientation="n" x="170" y="-31"/>
|
||||||
|
<terminal orientation="n" x="110.5" y="-31"/>
|
||||||
|
<terminal orientation="n" x="130.5" y="-31"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
<definition width="410" orientation="dyyy" version="0.5" height="210" type="element" hotspot_y="14" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{f2add6aa-9939-4165-921d-e40a9bcd4b1a}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
<name lang="cs">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
<name lang="pl">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
<name lang="ar">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
<name lang="pt">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
<name lang="fr">SM1234 6ES7234-4HE32-0XB0</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<line x1="362.5" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="379.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="ANALOG INPUTS" x="180" y="66" size="8"/>
|
||||||
|
<line x1="282.5" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="299.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="20" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="202.5" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="219.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153.5" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="170.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="IW____" tagg="none" x="233" y="39" size="9"/>
|
||||||
|
<input rotate="true" text="IW____" tagg="none" x="153" y="39" size="9"/>
|
||||||
|
<input rotate="true" text="IW____" tagg="none" x="314" y="38" size="9"/>
|
||||||
|
<line x1="122.5" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="139.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="0+" x="78" y="7" size="6"/>
|
||||||
|
<text text="2+" x="238" y="7" size="6"/>
|
||||||
|
<text text="1+" x="158" y="7" size="6"/>
|
||||||
|
<text text="3+" x="318" y="7" size="6"/>
|
||||||
|
<text text="1-" x="198" y="7" size="6"/>
|
||||||
|
<text text="0-" x="118" y="7" size="6"/>
|
||||||
|
<text text="2-" x="278" y="7" size="6"/>
|
||||||
|
<text text="3-" x="358" y="7" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="357.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="197.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="277.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="117.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73.5" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="90.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="237.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="317.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90.5" y2="186" length1="1.5" y1="159" end2="none" length2="1.5" antialias="false" x2="90.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="157.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="77.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="300" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="317" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="77" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="220" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="237" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="140" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="157" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="323" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="357" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="83" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="163" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="197" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170.5" y2="186" length1="1.5" y1="159" end2="none" length2="1.5" antialias="false" x2="170.5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="243" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="277" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="300" y2="20" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="300" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="380" y2="20" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="380" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="220" y2="20" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="1M" x="104" y="180" size="6"/>
|
||||||
|
<text text="1" x="148" y="180" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="184.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="184.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="0M" x="24" y="180" size="6"/>
|
||||||
|
<text text="L+" x="5" y="6" size="6"/>
|
||||||
|
<line x1="90" y2="159" length1="1.5" y1="159" end2="none" length2="1.5" antialias="false" x2="170" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="QW____" tagg="none" x="90" y="146.5" size="9"/>
|
||||||
|
<text text="SM1234 4AI 2AO" x="12" y="92" size="8"/>
|
||||||
|
<text text="24VDC" x="7" y="31" size="6"/>
|
||||||
|
<text text="ANALOG OUTPUTS" x="45" y="124" size="8"/>
|
||||||
|
<line x1="90" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="0" x="68" y="180" size="6"/>
|
||||||
|
<text text="M" x="26" y="6" size="6"/>
|
||||||
|
<line x1="13" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="186" length1="1.5" y1="159" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="21" length1="1.5" y1="21" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon y1="11" y3="15" antialias="true" closed="false" y4="17" x1="19" y6="15" y7="11" x8="19" y9="12" y8="11" x2="19" x9="19" x3="17" style="line-style:normal;line-weight:normal;filling:none;color:black" y5="15" x6="21" x7="21" y2="15" x4="20" x5="23"/>
|
||||||
|
<line x1="38" y2="21" length1="1.5" y1="-6" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="21" length1="1.5" y1="-6" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="112" length1="1.5" y1="-6" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="184.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="8" length1="1.5" y1="8" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-9.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="10" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="6" length1="1.5" y1="6" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-4" length1="1.5" y1="6" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="184.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="159" length1="1.5" y1="159" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="72" length1="1.5" y1="72" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="112" length1="1.5" y1="112" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-49" y="94" size="9"/>
|
||||||
|
<input rotate="true" text="QW____" tagg="none" x="10" y="146.5" size="9"/>
|
||||||
|
<line x1="10" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="89" y2="72" length1="1.5" y1="72" end2="none" length2="1.5" antialias="false" x2="390" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="112" length1="1.5" y1="112" end2="none" length2="1.5" antialias="false" x2="390" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="140" y2="20" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="140" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="380" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="IW____" tagg="none" x="73" y="40" size="9"/>
|
||||||
|
<line x1="-10" y2="187" length1="1.5" y1="110" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="380" y2="-7" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="390" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="390" y2="186" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="390" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="187" y2="187" length1="1.5" y1="187" end2="none" length2="1.5" antialias="false" x2="390" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<terminal orientation="n" x="10" y="-10"/>
|
||||||
|
<terminal orientation="n" x="30" y="-10"/>
|
||||||
|
<terminal orientation="n" x="50" y="-10"/>
|
||||||
|
<terminal orientation="s" x="30" y="190"/>
|
||||||
|
<terminal orientation="s" x="70" y="190"/>
|
||||||
|
<terminal orientation="s" x="110" y="190"/>
|
||||||
|
<terminal orientation="s" x="150" y="190"/>
|
||||||
|
<terminal orientation="n" x="360" y="-10"/>
|
||||||
|
<terminal orientation="n" x="120" y="-10"/>
|
||||||
|
<terminal orientation="n" x="80" y="-10"/>
|
||||||
|
<terminal orientation="n" x="280" y="-10"/>
|
||||||
|
<terminal orientation="n" x="240" y="-10"/>
|
||||||
|
<terminal orientation="n" x="160" y="-10"/>
|
||||||
|
<terminal orientation="n" x="200" y="-10"/>
|
||||||
|
<terminal orientation="n" x="320" y="-10"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
<definition width="130" orientation="dyyy" version="0.5" height="220" type="element" hotspot_y="39" link_type="simple" hotspot_x="14">
|
||||||
|
<uuid uuid="{39a95119-2325-4a8f-a227-12e860cd609d}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
<name lang="cs">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
<name lang="pl">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
<name lang="ar">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
<name lang="pt">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
<name lang="fr">CPU 1214C 6ES7214-1AG31-0XB0 PART1</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART 1/5" x="61" y="79" size="6"/>
|
||||||
|
<input rotate="true" text="__-__-__-__-__-__" tagg="none" x="-2" y="158.5" size="6"/>
|
||||||
|
<text text=" MAC ADDRESS" x="4" y="152.5" size="6"/>
|
||||||
|
<text text="DC/DC/DC" x="-2" y="79" size="6"/>
|
||||||
|
<text text="PROFINET (LAN)" x="2" y="142.5" size="6"/>
|
||||||
|
<text text="L+" x="5" y="-15" size="6"/>
|
||||||
|
<text text="L+" x="66" y="-15" size="6"/>
|
||||||
|
<text text="CPU 1214C" x="-2" y="69" size="6"/>
|
||||||
|
<text text="X1 P1" x="29" y="125" size="6"/>
|
||||||
|
<text text="24VDC" x="7" y="10" size="6"/>
|
||||||
|
<text text="24VDC" x="67" y="10" size="6"/>
|
||||||
|
<text text="M" x="26" y="-15" size="6"/>
|
||||||
|
<text text="M" x="87" y="-15" size="6"/>
|
||||||
|
<line x1="-4" y2="130" length1="1.5" y1="130" end2="none" length2="1.5" antialias="false" x2="94" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="15" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="59" height="3" antialias="false" x="16" y="166" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-4" y2="131" length1="1.5" y1="167" end2="none" length2="1.5" antialias="false" x2="-4" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="94" y2="130" length1="1.5" y1="167" end2="none" length2="1.5" antialias="false" x2="94" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="110" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="110" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="98" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon y1="-4" y3="-8" antialias="true" closed="false" y4="-8" x1="79" y6="-8" y7="-8" x8="79" y9="-4" x10="79" y8="-8" x2="81" x9="79" x3="81" style="line-style:normal;line-weight:normal;filling:none;color:black" y5="-10" x6="77" x7="78" y2="-4" x4="83" x5="80" y10="-4"/>
|
||||||
|
<line x1="93" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon y1="-10" y3="-6" antialias="true" closed="false" y4="-4" x1="19" y6="-6" y7="-10" x8="19" y9="-9" y8="-10" x2="19" x9="19" x3="17" style="line-style:normal;line-weight:normal;filling:none;color:black" y5="-6" x6="21" x7="21" y2="-6" x4="20" x5="23"/>
|
||||||
|
<line x1="38" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="98" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="98" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="62" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="88" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.9999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="-13" length1="1.5" y1="-13" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="-11" length1="1.5" y1="-11" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="-15" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-25" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="76" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="109" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="107" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="109" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="110" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="111" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="77" y="182.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="70.5" y="-31"/>
|
||||||
|
<terminal orientation="n" x="90.5" y="-31"/>
|
||||||
|
<terminal orientation="s" x="40" y="171"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
<definition width="210" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="16" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{9dc79fd5-ba11-45a3-b53c-47ab22ecc215}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
<name lang="cs">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
<name lang="pl">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
<name lang="ar">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
<name lang="pt">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
<name lang="fr">CPU 1214C 6ES7214-1AG31-0XB0 PART2</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART 2/5" x="136.741" y="98.2447" size="6"/>
|
||||||
|
<line x1="0" y2="20" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="DC/DC/DC" x="-1" y="99" size="6"/>
|
||||||
|
<text text="1M" x="3" y="6" size="6"/>
|
||||||
|
<text text="DIa" x="24" y="16" size="6"/>
|
||||||
|
<text text=".0" x="27" y="5" size="6"/>
|
||||||
|
<text text="CPU 1214C" x="-1" y="89" size="6"/>
|
||||||
|
<text text="24VDC INPUTS" x="52" y="32" size="6"/>
|
||||||
|
<text text=".7" x="167" y="5" size="6"/>
|
||||||
|
<text text=".4" x="107" y="5" size="6"/>
|
||||||
|
<text text=".3" x="87" y="5" size="6"/>
|
||||||
|
<text text=".2" x="67" y="5" size="6"/>
|
||||||
|
<text text=".1" x="47" y="5" size="6"/>
|
||||||
|
<text text=".6" x="147" y="5" size="6"/>
|
||||||
|
<text text=".5" x="127" y="5" size="6"/>
|
||||||
|
<line x1="180" y2="20" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="180" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="110" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="0" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="180" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="70" length1="1.5" y1="70" end2="none" length2="1.5" antialias="false" x2="189" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="190" y2="109" length1="1.5" y1="-7" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="110" length1="1.5" y1="110" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="156.741" y="122.745" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-11"/>
|
||||||
|
<terminal orientation="n" x="30" y="-11"/>
|
||||||
|
<terminal orientation="n" x="50" y="-11"/>
|
||||||
|
<terminal orientation="n" x="70" y="-11"/>
|
||||||
|
<terminal orientation="n" x="90" y="-11"/>
|
||||||
|
<terminal orientation="n" x="110" y="-11"/>
|
||||||
|
<terminal orientation="n" x="130" y="-11"/>
|
||||||
|
<terminal orientation="n" x="150" y="-11"/>
|
||||||
|
<terminal orientation="n" x="170" y="-11"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<definition width="170" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="16" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{631abbd8-1471-40ce-a963-eee0921920dc}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
<name lang="cs">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
<name lang="pl">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
<name lang="ar">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
<name lang="pt">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
<name lang="fr">CPU 1214C 6ES7214-1AG31-0XB0 PART3</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<line x1="0" y2="20" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="PART 3/5" x="96" y="98" size="6"/>
|
||||||
|
<text text="DC/DC/DC" x="-1" y="98" size="6"/>
|
||||||
|
<text text="DIb" x="25" y="17" size="6"/>
|
||||||
|
<text text=".0" x="27" y="5" size="6"/>
|
||||||
|
<text text="1M" x="4" y="5" size="6"/>
|
||||||
|
<text text="CPU 1214C" x="-1" y="88" size="6"/>
|
||||||
|
<text text="24VDC INPUTS" x="34" y="31" size="6"/>
|
||||||
|
<text text=".4" x="107" y="5" size="6"/>
|
||||||
|
<text text=".3" x="87" y="5" size="6"/>
|
||||||
|
<text text=".2" x="67" y="5" size="6"/>
|
||||||
|
<text text=".1" x="47" y="5" size="6"/>
|
||||||
|
<text text=".5" x="127" y="5" size="6"/>
|
||||||
|
<line x1="140" y2="20" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="140" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-10.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-8" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="150" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="1" y2="20" length1="1.5" y1="20" end2="none" length2="1.5" antialias="false" x2="140" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="109" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="110" length1="1.5" y1="110" end2="none" length2="1.5" antialias="false" x2="150" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="150" y2="110" length1="1.5" y1="-8" end2="none" length2="1.5" antialias="false" x2="150" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="70" length1="1.5" y1="70" end2="none" length2="1.5" antialias="false" x2="150" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="117" y="123.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-11"/>
|
||||||
|
<terminal orientation="n" x="30" y="-11"/>
|
||||||
|
<terminal orientation="n" x="50" y="-11"/>
|
||||||
|
<terminal orientation="n" x="70" y="-11"/>
|
||||||
|
<terminal orientation="n" x="90" y="-11"/>
|
||||||
|
<terminal orientation="n" x="110" y="-11"/>
|
||||||
|
<terminal orientation="n" x="130" y="-11"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<definition width="100" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="45" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{0bb6efba-bc9e-40f3-b451-2de11b859ecb}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
<name lang="cs">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
<name lang="pl">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
<name lang="ar">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
<name lang="pt">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
<name lang="fr">CPU 1214C 6ES7214-1AG31-0XB0 PART4</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART 4/5" x="-4" y="74" size="6"/>
|
||||||
|
<text text="INPUTS" x="14" y="14" size="6"/>
|
||||||
|
<text text="DC/DC/DC" x="-4" y="64" size="6"/>
|
||||||
|
<text text="0" x="28" y="-23" size="6"/>
|
||||||
|
<text text="AI" x="25" y="-11" size="6"/>
|
||||||
|
<text text="CPU 1214C" x="-4" y="54" size="6"/>
|
||||||
|
<text text="2M" x="5" y="-23" size="6"/>
|
||||||
|
<text text="1" x="48" y="-23" size="6"/>
|
||||||
|
<line x1="2" y2="-9" length1="1.5" y1="-9" end2="none" length2="1.5" antialias="false" x2="58" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="ANALOG" x="13" y="1" size="6"/>
|
||||||
|
<line x1="2" y2="-10" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="58" y2="-10" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="58" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-37" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-37" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-39.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-39.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-39.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-37" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="-37" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="81" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="80" y2="81" length1="1.5" y1="-37" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="80" y2="81" length1="1.5" y1="81" end2="none" length2="1.5" antialias="false" x2="-9" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="80" y2="41" length1="1.5" y1="41" end2="none" length2="1.5" antialias="false" x2="-9" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="46" y="93.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-40"/>
|
||||||
|
<terminal orientation="n" x="30" y="-40"/>
|
||||||
|
<terminal orientation="n" x="50" y="-40"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<definition width="270" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="63" link_type="simple" hotspot_x="135">
|
||||||
|
<uuid uuid="{03c6ef2b-460b-433b-bdeb-edcd78c7aabc}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
<name lang="cs">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
<name lang="pl">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
<name lang="ar">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
<name lang="pt">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
<name lang="fr">CPU 1214C 6ES7214-1AG31-0XB0 PART5</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART 5/5" x="76" y="-30" size="6"/>
|
||||||
|
<text text="DC/DC/DC" x="-121" y="-30" size="6"/>
|
||||||
|
<text text=".0" x="-71" y="52" size="6"/>
|
||||||
|
<text text="DQb" x="83" y="41" size="6"/>
|
||||||
|
<text text="DQa" x="-76" y="40" size="6"/>
|
||||||
|
<text text="CPU 1214C" x="-121" y="-40" size="6"/>
|
||||||
|
<text text="24VDC OUTPUTS" x="-44" y="28" size="6"/>
|
||||||
|
<text text="3L+" x="-116" y="52" size="6"/>
|
||||||
|
<text text="3M" x="-95" y="52" size="6"/>
|
||||||
|
<text text=".7" x="67" y="52" size="6"/>
|
||||||
|
<text text=".0" x="87" y="52" size="6"/>
|
||||||
|
<text text=".4" x="7" y="52" size="6"/>
|
||||||
|
<text text=".3" x="-13" y="52" size="6"/>
|
||||||
|
<text text=".2" x="-33" y="52" size="6"/>
|
||||||
|
<text text=".1" x="-53" y="52" size="6"/>
|
||||||
|
<text text=".6" x="47" y="52" size="6"/>
|
||||||
|
<text text=".1" x="107" y="52" size="6"/>
|
||||||
|
<text text=".5" x="27" y="52" size="6"/>
|
||||||
|
<line x1="-118" y2="57" length1="1.5" y1="30" end2="none" length2="1.5" antialias="false" x2="-118" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="117" y2="30" length1="1.5" y1="30" end2="none" length2="1.5" antialias="false" x2="-117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="117" y2="30" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-47" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-33" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-52.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-7" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-27" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-13" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-67" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-53" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-87" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-73" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-107" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-93" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-12.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-112.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-32.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-72.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-92.5" y="55.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="112" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="130" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-113" y2="58" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-130" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-130" y2="-60" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="-130" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="130" y2="-60" length1="1.5" y1="58" end2="none" length2="1.5" antialias="false" x2="130" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-130" y2="-20" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="129" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-130" y2="-60" length1="1.5" y1="-60" end2="none" length2="1.5" antialias="false" x2="130" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-131" y="-71.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="-110" y="61"/>
|
||||||
|
<terminal orientation="s" x="-90" y="61"/>
|
||||||
|
<terminal orientation="s" x="-70" y="61"/>
|
||||||
|
<terminal orientation="s" x="-30" y="61"/>
|
||||||
|
<terminal orientation="s" x="-10" y="61"/>
|
||||||
|
<terminal orientation="s" x="10" y="61"/>
|
||||||
|
<terminal orientation="s" x="30" y="61"/>
|
||||||
|
<terminal orientation="s" x="50" y="61"/>
|
||||||
|
<terminal orientation="s" x="70" y="61"/>
|
||||||
|
<terminal orientation="s" x="90" y="61"/>
|
||||||
|
<terminal orientation="s" x="110" y="61"/>
|
||||||
|
<terminal orientation="s" x="-50" y="61"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,202 @@
|
|||||||
|
<definition width="450" orientation="dyyy" version="0.5" height="220" type="element" hotspot_y="39" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{b198607c-63b2-4325-a77a-1e93e887c0a8}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">6ES7223-1BL30-0XB0</name>
|
||||||
|
<name lang="cs">6ES7223-1BL30-0XB0</name>
|
||||||
|
<name lang="pl">6ES7223-1BL30-0XB0</name>
|
||||||
|
<name lang="ar">6ES7223-1BL30-0XB0</name>
|
||||||
|
<name lang="pt">6ES7223-1BL30-0XB0</name>
|
||||||
|
<name lang="fr">6ES7223-1BL30-0XB0</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<line x1="240" y2="167" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="240" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2M" x="245" y="-15" size="6"/>
|
||||||
|
<text text=".0" x="247" y="161" size="6"/>
|
||||||
|
<text text="DQb" x="248" y="150" size="6"/>
|
||||||
|
<text text=".0" x="267" y="-14" size="6"/>
|
||||||
|
<text text=".7" x="387" y="161" size="6"/>
|
||||||
|
<text text=".7" x="407" y="-14" size="6"/>
|
||||||
|
<text text=".4" x="347" y="-14" size="6"/>
|
||||||
|
<text text="DC/DC" x="375" y="79" size="6"/>
|
||||||
|
<text text=".4" x="327" y="161" size="6"/>
|
||||||
|
<text text=".3" x="307" y="161" size="6"/>
|
||||||
|
<text text=".3" x="327" y="-14" size="6"/>
|
||||||
|
<text text=".2" x="287" y="161" size="6"/>
|
||||||
|
<text text=".2" x="307" y="-14" size="6"/>
|
||||||
|
<text text=".0" x="87" y="161" size="6"/>
|
||||||
|
<text text=".1" x="267" y="161" size="6"/>
|
||||||
|
<text text=".1" x="287" y="-14" size="6"/>
|
||||||
|
<text text="DQa" x="88" y="150" size="6"/>
|
||||||
|
<text text=".6" x="387" y="-14" size="6"/>
|
||||||
|
<text text=".6" x="367" y="161" size="6"/>
|
||||||
|
<text text=".5" x="367" y="-14" size="6"/>
|
||||||
|
<text text="L+" x="5" y="-15" size="6"/>
|
||||||
|
<text text=".5" x="347" y="161" size="6"/>
|
||||||
|
<line x1="400" y2="167" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="400" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="420" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="420" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="313" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="327" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="413" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="427" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="393" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="407" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="DIb" x="245" y="-2" size="6"/>
|
||||||
|
<line x1="393" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="407" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="373" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="387" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="373" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="387" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="1M" x="65" y="-15" size="6"/>
|
||||||
|
<line x1="353" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="367" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="353" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="367" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="333" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="347" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="333" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="347" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="DIa" x="85" y="-2" size="6"/>
|
||||||
|
<text text=".0" x="87" y="-14" size="6"/>
|
||||||
|
<line x1="313" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="327" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="293" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="307" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="293" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="307" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="273" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="287" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="SM1223" x="375" y="69" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="367.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="387.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC" x="7" y="10" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="367.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="347.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC OUTPUTS" x="212" y="128" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="347.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="327.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="387.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="307.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="287.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="327.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".7" x="227" y="161" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="307.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="273" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="287" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".4" x="167" y="161" size="6"/>
|
||||||
|
<text text=".3" x="147" y="161" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="407.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="287.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".2" x="127" y="161" size="6"/>
|
||||||
|
<text text=".1" x="107" y="161" size="6"/>
|
||||||
|
<text text="24VDC INPUTS" x="209" y="14" size="6"/>
|
||||||
|
<text text="M" x="26" y="-15" size="6"/>
|
||||||
|
<text text=".7" x="227" y="-14" size="6"/>
|
||||||
|
<text text=".6" x="207" y="161" size="6"/>
|
||||||
|
<text text=".4" x="167" y="-14" size="6"/>
|
||||||
|
<text text=".5" x="187" y="161" size="6"/>
|
||||||
|
<line x1="15" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".3" x="147" y="-14" size="6"/>
|
||||||
|
<text text=".2" x="127" y="-14" size="6"/>
|
||||||
|
<text text=".1" x="107" y="-14" size="6"/>
|
||||||
|
<text text=".6" x="207" y="-14" size="6"/>
|
||||||
|
<text text=".5" x="187" y="-14" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="80" y2="167" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="430" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="240" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="240" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="62" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon y1="-10" y3="-6" antialias="true" closed="false" y4="-4" x1="19" y6="-6" y7="-10" x8="19" y9="-9" y8="-10" x2="19" x9="19" x3="17" style="line-style:normal;line-weight:normal;filling:none;color:black" y5="-6" x6="21" x7="21" y2="-6" x4="20" x5="23"/>
|
||||||
|
<line x1="38" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="-13" length1="1.5" y1="-13" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="-11" length1="1.5" y1="-11" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="-15" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-25" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="240" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="240" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="420" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="81" y2="140" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="239" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="241" y2="140" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="400" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="408" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="427" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="15" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="86" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="86" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="429" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="405" y="188" size="9"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="70" y="-31"/>
|
||||||
|
<terminal orientation="n" x="90" y="-31"/>
|
||||||
|
<terminal orientation="n" x="110" y="-31"/>
|
||||||
|
<terminal orientation="n" x="130" y="-31"/>
|
||||||
|
<terminal orientation="n" x="150" y="-31"/>
|
||||||
|
<terminal orientation="n" x="170" y="-31"/>
|
||||||
|
<terminal orientation="n" x="190" y="-31"/>
|
||||||
|
<terminal orientation="n" x="210" y="-31"/>
|
||||||
|
<terminal orientation="n" x="230" y="-31"/>
|
||||||
|
<terminal orientation="s" x="90" y="171"/>
|
||||||
|
<terminal orientation="s" x="130" y="171"/>
|
||||||
|
<terminal orientation="s" x="150" y="171"/>
|
||||||
|
<terminal orientation="s" x="170" y="171"/>
|
||||||
|
<terminal orientation="s" x="190" y="171"/>
|
||||||
|
<terminal orientation="s" x="210" y="171"/>
|
||||||
|
<terminal orientation="s" x="230" y="171"/>
|
||||||
|
<terminal orientation="s" x="110" y="171"/>
|
||||||
|
<terminal orientation="n" x="250" y="-31"/>
|
||||||
|
<terminal orientation="n" x="270" y="-31"/>
|
||||||
|
<terminal orientation="n" x="290" y="-31"/>
|
||||||
|
<terminal orientation="n" x="310" y="-31"/>
|
||||||
|
<terminal orientation="n" x="330" y="-31"/>
|
||||||
|
<terminal orientation="n" x="350" y="-31"/>
|
||||||
|
<terminal orientation="n" x="370" y="-31"/>
|
||||||
|
<terminal orientation="n" x="390" y="-31"/>
|
||||||
|
<terminal orientation="n" x="410" y="-31"/>
|
||||||
|
<terminal orientation="s" x="250" y="171"/>
|
||||||
|
<terminal orientation="s" x="290" y="171"/>
|
||||||
|
<terminal orientation="s" x="310" y="171"/>
|
||||||
|
<terminal orientation="s" x="330" y="171"/>
|
||||||
|
<terminal orientation="s" x="350" y="171"/>
|
||||||
|
<terminal orientation="s" x="370" y="171"/>
|
||||||
|
<terminal orientation="s" x="390" y="171"/>
|
||||||
|
<terminal orientation="s" x="270" y="171"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
<definition width="450" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="36" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{aaae32f5-3bb2-4150-8da1-a2a5ccd56128}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
<name lang="cs">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
<name lang="pl">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
<name lang="ar">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
<name lang="pt">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
<name lang="fr">SM1223 6ES7223-1BL30-0XB0 PART1</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART1/2" x="380" y="77" size="6"/>
|
||||||
|
<text text="2M" x="245" y="-15" size="6"/>
|
||||||
|
<text text=".0" x="267" y="-14" size="6"/>
|
||||||
|
<text text=".7" x="407" y="-14" size="6"/>
|
||||||
|
<text text=".4" x="347" y="-14" size="6"/>
|
||||||
|
<text text="DC/DC" x="3" y="78" size="6"/>
|
||||||
|
<text text=".3" x="327" y="-14" size="6"/>
|
||||||
|
<text text=".2" x="307" y="-14" size="6"/>
|
||||||
|
<text text=".1" x="287" y="-14" size="6"/>
|
||||||
|
<text text=".6" x="387" y="-14" size="6"/>
|
||||||
|
<text text=".5" x="367" y="-14" size="6"/>
|
||||||
|
<text text="L+" x="5" y="-15" size="6"/>
|
||||||
|
<line x1="420" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="420" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="413" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="427" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="DIb" x="245" y="-2" size="6"/>
|
||||||
|
<line x1="393" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="407" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="373" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="387" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="1M" x="65" y="-15" size="6"/>
|
||||||
|
<line x1="353" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="367" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="333" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="347" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="DIa" x="85" y="-2" size="6"/>
|
||||||
|
<text text=".0" x="87" y="-14" size="6"/>
|
||||||
|
<line x1="313" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="327" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="293" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="307" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="SM1223" x="3" y="68" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="367.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC" x="7" y="10" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="347.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="387.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="327.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="307.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="273" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="287" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="407.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="287.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC INPUTS" x="209" y="14" size="6"/>
|
||||||
|
<text text="M" x="26" y="-15" size="6"/>
|
||||||
|
<text text=".7" x="227" y="-14" size="6"/>
|
||||||
|
<text text=".4" x="167" y="-14" size="6"/>
|
||||||
|
<text text=".3" x="147" y="-14" size="6"/>
|
||||||
|
<text text=".2" x="127" y="-14" size="6"/>
|
||||||
|
<text text=".1" x="107" y="-14" size="6"/>
|
||||||
|
<text text=".6" x="207" y="-14" size="6"/>
|
||||||
|
<text text=".5" x="187" y="-14" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="240" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="240" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="62" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon y1="-10" y3="-6" antialias="true" closed="false" y4="-4" x1="19" y6="-6" y7="-10" x8="19" y9="-9" y8="-10" x2="19" x9="19" x3="17" style="line-style:normal;line-weight:normal;filling:none;color:black" y5="-6" x6="21" x7="21" y2="-6" x4="20" x5="23"/>
|
||||||
|
<line x1="38" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="153" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="-13" length1="1.5" y1="-13" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="-11" length1="1.5" y1="-11" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="-15" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-25" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="62" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="240" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="240" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="420" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="427" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="239" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="429" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="238" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="430" y2="-28" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="430" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="396" y="100.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="70" y="-31"/>
|
||||||
|
<terminal orientation="n" x="90" y="-31"/>
|
||||||
|
<terminal orientation="n" x="110" y="-31"/>
|
||||||
|
<terminal orientation="n" x="130" y="-31"/>
|
||||||
|
<terminal orientation="n" x="150" y="-31"/>
|
||||||
|
<terminal orientation="n" x="170" y="-31"/>
|
||||||
|
<terminal orientation="n" x="190" y="-31"/>
|
||||||
|
<terminal orientation="n" x="210" y="-31"/>
|
||||||
|
<terminal orientation="n" x="230" y="-31"/>
|
||||||
|
<terminal orientation="n" x="250" y="-31"/>
|
||||||
|
<terminal orientation="n" x="270" y="-31"/>
|
||||||
|
<terminal orientation="n" x="290" y="-31"/>
|
||||||
|
<terminal orientation="n" x="310" y="-31"/>
|
||||||
|
<terminal orientation="n" x="330" y="-31"/>
|
||||||
|
<terminal orientation="n" x="350" y="-31"/>
|
||||||
|
<terminal orientation="n" x="370" y="-31"/>
|
||||||
|
<terminal orientation="n" x="390" y="-31"/>
|
||||||
|
<terminal orientation="n" x="410" y="-31"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<definition width="450" orientation="dyyy" version="0.5" height="130" type="element" hotspot_y="64" link_type="simple" hotspot_x="225">
|
||||||
|
<uuid uuid="{6bcd95ca-4421-4e82-a2b9-11b9462d4626}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
<name lang="cs">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
<name lang="pl">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
<name lang="ar">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
<name lang="pt">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
<name lang="fr">SM1223 6ES7223-1BL30-0XB0 PART2</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="PART2/2" x="172" y="-33" size="6"/>
|
||||||
|
<line x1="30" y2="56" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".0" x="37" y="50" size="6"/>
|
||||||
|
<text text="DQb" x="38" y="39" size="6"/>
|
||||||
|
<text text=".7" x="177" y="50" size="6"/>
|
||||||
|
<text text="DC/DC" x="-210" y="-32" size="6"/>
|
||||||
|
<text text=".4" x="117" y="50" size="6"/>
|
||||||
|
<text text=".3" x="97" y="50" size="6"/>
|
||||||
|
<text text=".2" x="77" y="50" size="6"/>
|
||||||
|
<text text=".0" x="-123" y="50" size="6"/>
|
||||||
|
<text text=".1" x="57" y="50" size="6"/>
|
||||||
|
<text text="DQa" x="-122" y="39" size="6"/>
|
||||||
|
<text text=".6" x="157" y="50" size="6"/>
|
||||||
|
<text text="L+" x="-195" y="50" size="6"/>
|
||||||
|
<text text=".5" x="137" y="50" size="6"/>
|
||||||
|
<line x1="190" y2="56" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="103" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="117" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="183" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="197" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="57.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="163" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="177" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="143" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="157" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="123" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="137" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="83" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="97" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="63" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="77" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="SM1223" x="-210" y="-42" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="177.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC" x="-197" y="39" size="6"/>
|
||||||
|
<line x1="43" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="57" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="157.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="24VDC OUTPUTS" x="2" y="17" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="137.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="117.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="97.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="77.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".7" x="17" y="50" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="37.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text=".4" x="-43" y="50" size="6"/>
|
||||||
|
<text text=".3" x="-63" y="50" size="6"/>
|
||||||
|
<text text=".2" x="-83" y="50" size="6"/>
|
||||||
|
<text text=".1" x="-103" y="50" size="6"/>
|
||||||
|
<text text="M" x="-174" y="50" size="6"/>
|
||||||
|
<text text=".6" x="-3" y="50" size="6"/>
|
||||||
|
<text text=".5" x="-23" y="50" size="6"/>
|
||||||
|
<line x1="-195" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-187" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-173" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-130" y2="56" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="-130" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-220" y2="56" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="-220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-198" y2="29" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="-163" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-162" y2="56" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="-162" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-198" y2="56" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="-198" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-57" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-43" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="23" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-102.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="17" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-17" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-3" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-37" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-23" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-77" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-63" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-97" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-83" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-117" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-103" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-172.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-22.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-42.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-192.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-62.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-82.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-122.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-129" y2="29" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="29" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="31" y2="29" length1="1.5" y1="29" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="198" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="29" y2="-21" length1="1.5" y1="-21" end2="none" length2="1.5" antialias="false" x2="-220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="29" y2="-61" length1="1.5" y1="-61" end2="none" length2="1.5" antialias="false" x2="-220" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-124" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-123" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="29" y2="-21" length1="1.5" y1="-21" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="29" y2="-61" length1="1.5" y1="-61" end2="none" length2="1.5" antialias="false" x2="219" end1="none" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-195" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-193" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-167" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="-125" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="220" y2="-61" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-220" y2="-60" length1="1.5" y1="-20" end2="none" length2="1.5" antialias="false" x2="-220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="185" y="-74.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="-190" y="59"/>
|
||||||
|
<terminal orientation="s" x="-170" y="59"/>
|
||||||
|
<terminal orientation="s" x="-120" y="60"/>
|
||||||
|
<terminal orientation="s" x="-80" y="60"/>
|
||||||
|
<terminal orientation="s" x="-60" y="60"/>
|
||||||
|
<terminal orientation="s" x="-40" y="60"/>
|
||||||
|
<terminal orientation="s" x="-20" y="60"/>
|
||||||
|
<terminal orientation="s" x="0" y="60"/>
|
||||||
|
<terminal orientation="s" x="20" y="60"/>
|
||||||
|
<terminal orientation="s" x="-100" y="60"/>
|
||||||
|
<terminal orientation="s" x="40" y="60"/>
|
||||||
|
<terminal orientation="s" x="80" y="60"/>
|
||||||
|
<terminal orientation="s" x="100" y="60"/>
|
||||||
|
<terminal orientation="s" x="120" y="60"/>
|
||||||
|
<terminal orientation="s" x="140" y="60"/>
|
||||||
|
<terminal orientation="s" x="160" y="60"/>
|
||||||
|
<terminal orientation="s" x="180" y="60"/>
|
||||||
|
<terminal orientation="s" x="60" y="60"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
<definition width="110" orientation="dyyy" version="0.5" height="210" type="element" hotspot_y="35" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{96d2097e-5f1c-445f-8b52-fccda10ca9c3}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
<name lang="cs">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
<name lang="pl">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
<name lang="ar">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
<name lang="pt">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
<name lang="fr">ETHERNET SWITCH CSM 1277 6GK7277-1AA10-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="P3" x="44" y="154" size="7"/>
|
||||||
|
<text text="P4" x="65" y="154" size="7"/>
|
||||||
|
<text text="L+" x="5" y="-15" size="6"/>
|
||||||
|
<text text="CSM 1277" x="-4" y="64" size="6"/>
|
||||||
|
<text text="X1" x="1" y="128" size="6"/>
|
||||||
|
<text text="24VDC" x="17" y="-2" size="6"/>
|
||||||
|
<text text="M" x="26" y="-15" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="48" y2="-13" length1="1.5" y1="-13" end2="none" length2="1.5" antialias="false" x2="52" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.4999" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="49" y2="-11" length1="1.5" y1="-11" end2="none" length2="1.5" antialias="false" x2="51" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="46" y2="-15" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="54" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="50" y2="-25" length1="1.5" y1="-15" end2="none" length2="1.5" antialias="false" x2="50" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="P1" x="4" y="154" size="7"/>
|
||||||
|
<text text="P2" x="24" y="154" size="7"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="83" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="167" length1="1.5" y1="132" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="40" y2="167" length1="1.5" y1="131" end2="none" length2="1.5" antialias="false" x2="40" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="168" length1="1.5" y1="131" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="80" y2="168" length1="1.5" y1="131" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="0" y2="131" length1="1.5" y1="131" end2="none" length2="1.5" antialias="false" x2="79" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="0" y2="167" length1="1.5" y1="131" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="83" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-9" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="59" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="U?" tagg="label" x="66" y="181.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="s" x="10" y="169"/>
|
||||||
|
<terminal orientation="s" x="30" y="169"/>
|
||||||
|
<terminal orientation="s" x="50" y="169"/>
|
||||||
|
<terminal orientation="s" x="70" y="169"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<definition width="190" orientation="dyyy" version="0.5" height="90" type="element" hotspot_y="36" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{3ba82e93-be0f-4f56-8af2-0a0d8012ac08}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="cs">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="pl">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="ar">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="pt">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="fr">ET200S 8DI 6ES7131-4BF00-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="x.6" x="64" y="-3" size="6"/>
|
||||||
|
<text text="x.5" x="124" y="-3" size="6"/>
|
||||||
|
<text text="x.7" x="144" y="-3" size="6"/>
|
||||||
|
<text text="x.4" x="44" y="-3" size="6"/>
|
||||||
|
<text text="x.2" x="24" y="-3" size="6"/>
|
||||||
|
<text text="x.1" x="84" y="-3" size="6"/>
|
||||||
|
<text text="x.3" x="104" y="-3" size="6"/>
|
||||||
|
<text text="8DI DC" x="65" y="38" size="6"/>
|
||||||
|
<text text="x.0" x="4" y="-3" size="6"/>
|
||||||
|
<text text="1" x="8" y="-14" size="6"/>
|
||||||
|
<text text="ET200S" x="65" y="28" size="6"/>
|
||||||
|
<text text="8" x="147" y="-14" size="6"/>
|
||||||
|
<text text="5" x="87" y="-14" size="6"/>
|
||||||
|
<text text="4" x="67" y="-14" size="6"/>
|
||||||
|
<text text="3" x="47" y="-14" size="6"/>
|
||||||
|
<text text="2" x="27" y="-14" size="6"/>
|
||||||
|
<text text="7" x="127" y="-14" size="6"/>
|
||||||
|
<text text="6" x="107" y="-14" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="153" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="I:" x="-5" y="-3" size="6"/>
|
||||||
|
<line x1="170" y2="49" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="170" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="143" y="61.5" size="9"/>
|
||||||
|
<input rotate="true" text="I???.x" tagg="none" x="59" y="10" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-30"/>
|
||||||
|
<terminal orientation="n" x="30" y="-30"/>
|
||||||
|
<terminal orientation="n" x="50" y="-30"/>
|
||||||
|
<terminal orientation="n" x="70" y="-30"/>
|
||||||
|
<terminal orientation="n" x="90" y="-30"/>
|
||||||
|
<terminal orientation="n" x="110" y="-30"/>
|
||||||
|
<terminal orientation="n" x="130" y="-30"/>
|
||||||
|
<terminal orientation="n" x="150" y="-30"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<definition width="50" orientation="dyyy" version="0.5" height="200" type="element" hotspot_y="30" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{5abfc982-b5cd-4e30-8974-b56fec8bb786}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="cs">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="pl">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="ar">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="pt">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
<name lang="fr">ET200S 8DI FACE 6ES7131-4BF00-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2" x="-7" y="117" size="6"/>
|
||||||
|
<text text="6" x="14" y="117" size="6"/>
|
||||||
|
<text text="5" x="13" y="97" size="6"/>
|
||||||
|
<text text="4" x="-6" y="156" size="6"/>
|
||||||
|
<text text="1" x="-7" y="97" size="6"/>
|
||||||
|
<text text="8" x="14" y="156" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="7" x="13" y="136" size="6"/>
|
||||||
|
<text text="8DI" x="4" y="23" size="6"/>
|
||||||
|
<text text="3" x="-7" y="135" size="6"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="29" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-6" y="179.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="0" y="102"/>
|
||||||
|
<terminal orientation="s" x="20" y="122"/>
|
||||||
|
<terminal orientation="s" x="20" y="142"/>
|
||||||
|
<terminal orientation="s" x="0" y="142"/>
|
||||||
|
<terminal orientation="s" x="0" y="162"/>
|
||||||
|
<terminal orientation="s" x="20" y="162"/>
|
||||||
|
<terminal orientation="s" x="20" y="102"/>
|
||||||
|
<terminal orientation="s" x="0" y="122"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<definition width="190" orientation="dyyy" version="0.5" height="90" type="element" hotspot_y="32" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{8d7c23c8-81e7-4c9c-8a19-c352e84f9a3d}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="cs">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="pl">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="ar">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="pt">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="fr">ET200S 8DO 6ES7132-4BF00-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="x.6" x="64" y="32" size="6"/>
|
||||||
|
<text text="x.5" x="124" y="32" size="6"/>
|
||||||
|
<text text="x.7" x="144" y="32" size="6"/>
|
||||||
|
<text text="x.4" x="44" y="32" size="6"/>
|
||||||
|
<text text="x.2" x="24" y="32" size="6"/>
|
||||||
|
<text text="x.1" x="84" y="32" size="6"/>
|
||||||
|
<text text="x.3" x="104" y="32" size="6"/>
|
||||||
|
<text text="8DO DC" x="64" y="-3" size="6"/>
|
||||||
|
<text text="x.0" x="4" y="32" size="6"/>
|
||||||
|
<text text="1" x="8" y="43" size="6"/>
|
||||||
|
<text text="ET200S" x="65" y="-12" size="6"/>
|
||||||
|
<text text="8" x="147" y="43" size="6"/>
|
||||||
|
<text text="5" x="87" y="43" size="6"/>
|
||||||
|
<text text="4" x="67" y="43" size="6"/>
|
||||||
|
<text text="3" x="47" y="43" size="6"/>
|
||||||
|
<text text="2" x="27" y="43" size="6"/>
|
||||||
|
<text text="7" x="127" y="43" size="6"/>
|
||||||
|
<text text="6" x="107" y="43" size="6"/>
|
||||||
|
<line x1="13" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="47.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="153" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="Q:" x="-7" y="32" size="6"/>
|
||||||
|
<line x1="170" y2="49" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="170" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-10" y="-40.5" size="9"/>
|
||||||
|
<input rotate="true" text="Q???.x" tagg="none" x="57" y="11" size="9"/>
|
||||||
|
<terminal orientation="s" x="10" y="52"/>
|
||||||
|
<terminal orientation="s" x="30" y="52"/>
|
||||||
|
<terminal orientation="s" x="50" y="52"/>
|
||||||
|
<terminal orientation="s" x="70" y="52"/>
|
||||||
|
<terminal orientation="s" x="90" y="52"/>
|
||||||
|
<terminal orientation="s" x="110" y="52"/>
|
||||||
|
<terminal orientation="s" x="130" y="52"/>
|
||||||
|
<terminal orientation="s" x="150" y="52"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<definition width="50" orientation="dyyy" version="0.5" height="200" type="element" hotspot_y="30" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{4b7576bf-ea58-4cc1-875b-741a794b2bbd}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="cs">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="pl">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="ar">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="pt">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
<name lang="fr">ET200S 8DO FACE 6ES7132-4BF00-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2" x="-7" y="117" size="6"/>
|
||||||
|
<text text="6" x="14" y="117" size="6"/>
|
||||||
|
<text text="5" x="13" y="97" size="6"/>
|
||||||
|
<text text="4" x="-6" y="156" size="6"/>
|
||||||
|
<text text="1" x="-7" y="97" size="6"/>
|
||||||
|
<text text="8" x="14" y="156" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="7" x="13" y="136" size="6"/>
|
||||||
|
<text text="8DO" x="2" y="23" size="6"/>
|
||||||
|
<text text="3" x="-7" y="135" size="6"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="29" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-4" y="181.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="0" y="162"/>
|
||||||
|
<terminal orientation="s" x="0" y="142"/>
|
||||||
|
<terminal orientation="s" x="0" y="122"/>
|
||||||
|
<terminal orientation="s" x="20" y="142"/>
|
||||||
|
<terminal orientation="s" x="20" y="102"/>
|
||||||
|
<terminal orientation="s" x="20" y="122"/>
|
||||||
|
<terminal orientation="s" x="20" y="162"/>
|
||||||
|
<terminal orientation="s" x="0" y="102"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<definition width="190" orientation="dyyy" version="0.5" height="90" type="element" hotspot_y="36" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{c360b250-9281-46fc-aded-fc970ad0dceb}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="cs">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="pl">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="ar">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="pt">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="fr">ET 200S 2AI 6ES7134-4GB01-0AB0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="NC" x="64" y="-4" size="6"/>
|
||||||
|
<text text="NC" x="124" y="-4" size="6"/>
|
||||||
|
<text text="NC" x="44" y="-4" size="6"/>
|
||||||
|
<text text="NC" x="144" y="-4" size="6"/>
|
||||||
|
<text text="M1+" rotation="270" x="93" y="8" size="6"/>
|
||||||
|
<text text="M1 -" rotation="270" x="113" y="8" size="6"/>
|
||||||
|
<text text="M0 -" rotation="270" x="33" y="7" size="6"/>
|
||||||
|
<text text="2AI " x="99" y="32" size="6"/>
|
||||||
|
<text text="M0+" rotation="270" x="13" y="7" size="6"/>
|
||||||
|
<text text="1" x="8" y="-15" size="6"/>
|
||||||
|
<text text="ET200S" x="40" y="32" size="6"/>
|
||||||
|
<text text="8" x="148" y="-15" size="6"/>
|
||||||
|
<text text="5" x="87" y="-15" size="6"/>
|
||||||
|
<text text="4" x="67" y="-15" size="6"/>
|
||||||
|
<text text="3" x="47" y="-15" size="6"/>
|
||||||
|
<text text="2" x="27" y="-15" size="6"/>
|
||||||
|
<text text="7" x="127" y="-15" size="6"/>
|
||||||
|
<text text="6" x="107" y="-15" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="133" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="147" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="113" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="127" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="107.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="87.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="127.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="93" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="107" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="153" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="49" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="170" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="170" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="135" y="60.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="70" y="-31"/>
|
||||||
|
<terminal orientation="n" x="90" y="-31"/>
|
||||||
|
<terminal orientation="n" x="110" y="-31"/>
|
||||||
|
<terminal orientation="n" x="130" y="-31"/>
|
||||||
|
<terminal orientation="n" x="150" y="-31"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<definition width="50" orientation="dyyy" version="0.5" height="200" type="element" hotspot_y="30" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{0347f74c-d7f6-4cef-a107-bce672035f35}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="cs">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="pl">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="ar">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="pt">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
<name lang="fr">ET 200S 2AI FACE 6ES7134-4GB01-0AB0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="97.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2" x="-7" y="117" size="6"/>
|
||||||
|
<text text="6" x="14" y="117" size="6"/>
|
||||||
|
<text text="5" x="13" y="97" size="6"/>
|
||||||
|
<text text="4" x="-6" y="156" size="6"/>
|
||||||
|
<text text="1" x="-7" y="97" size="6"/>
|
||||||
|
<text text="8" x="14" y="156" size="6"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="117.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="7" x="13" y="136" size="6"/>
|
||||||
|
<text text="2AI" x="4" y="23" size="6"/>
|
||||||
|
<text text="3" x="-7" y="135" size="6"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="29" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="0" y="181.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="20" y="102"/>
|
||||||
|
<terminal orientation="s" x="20" y="122"/>
|
||||||
|
<terminal orientation="s" x="0" y="162"/>
|
||||||
|
<terminal orientation="s" x="0" y="102"/>
|
||||||
|
<terminal orientation="s" x="0" y="142"/>
|
||||||
|
<terminal orientation="s" x="20" y="142"/>
|
||||||
|
<terminal orientation="s" x="0" y="122"/>
|
||||||
|
<terminal orientation="s" x="20" y="162"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<definition width="110" orientation="dyyy" version="0.5" height="90" type="element" hotspot_y="36" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{27c46472-c062-4df3-8247-e606bbda0014}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="cs">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="pl">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="ar">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="pt">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="fr">ET200S PM-E-DC24V 6ES7 138-4CA01-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="M" x="27" y="-3" size="6"/>
|
||||||
|
<text text="M" x="67" y="-3" size="6"/>
|
||||||
|
<text text="L+" x="47" y="-3" size="6"/>
|
||||||
|
<text text="PM-E DC24V" x="9" y="33" size="6"/>
|
||||||
|
<text text="L+" x="7" y="-3" size="6"/>
|
||||||
|
<text text="ET200S" x="9" y="18" size="6"/>
|
||||||
|
<text text="3" x="28" y="-15" size="6"/>
|
||||||
|
<text text="2" x="8" y="-15" size="6"/>
|
||||||
|
<text text="7" x="68" y="-15" size="6"/>
|
||||||
|
<text text="6" x="48" y="-15" size="6"/>
|
||||||
|
<line x1="13" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-30.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="73" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="49" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="21" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="63" y="61.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-31"/>
|
||||||
|
<terminal orientation="n" x="30" y="-31"/>
|
||||||
|
<terminal orientation="n" x="50" y="-31"/>
|
||||||
|
<terminal orientation="n" x="70" y="-31"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<definition width="50" orientation="dyyy" version="0.5" height="200" type="element" hotspot_y="30" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{4222c0d2-0482-4b13-aede-98225a49a304}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="cs">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="pl">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="ar">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="pt">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
<name lang="fr">ET200S PM-E-DC24V FACE 6ES7 138-4CA01-0AA0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="17.5" y="137.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="3" x="-6" y="156" size="6"/>
|
||||||
|
<text text="7" x="14" y="156" size="6"/>
|
||||||
|
<text text="6" x="13" y="136" size="6"/>
|
||||||
|
<text text="PM-E-DC24V" rotation="270" x="13" y="35" size="6"/>
|
||||||
|
<text text="2" x="-7" y="135" size="6"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="-2.5" y="157.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="30" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="29" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="-1" y="181.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="0" y="163"/>
|
||||||
|
<terminal orientation="s" x="20" y="143"/>
|
||||||
|
<terminal orientation="s" x="0" y="143"/>
|
||||||
|
<terminal orientation="s" x="20" y="163"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<definition width="110" orientation="dyyy" version="0.5" height="210" type="element" hotspot_y="33" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{69782805-b318-4b95-9d23-a360ca8cc952}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">6ES7151-3AA23-0AB0</name>
|
||||||
|
<name lang="cs">6ES7151-3AA23-0AB0</name>
|
||||||
|
<name lang="pl">6ES7151-3AA23-0AB0</name>
|
||||||
|
<name lang="ar">6ES7151-3AA23-0AB0</name>
|
||||||
|
<name lang="pt">6ES7151-3AA23-0AB0</name>
|
||||||
|
<name lang="fr">6ES7151-3AA23-0AB0</name>
|
||||||
|
</names>
|
||||||
|
<informations>Author: The QElectroTech team
|
||||||
|
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
|
||||||
|
<description>
|
||||||
|
<text text="X1" x="36" y="19" size="6"/>
|
||||||
|
<text text="P2" x="55" y="-7" size="6"/>
|
||||||
|
<line x1="80" y2="167" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="P1" x="15" y="-7" size="6"/>
|
||||||
|
<line x1="42" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="77" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2L+" x="44" y="161" size="6"/>
|
||||||
|
<line x1="78" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="78" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2M" x="64" y="161" size="6"/>
|
||||||
|
<line x1="42" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="42" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="42" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="78" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="45" y2="-24" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="45" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="45" y2="-24" length1="1.5" y1="-24" end2="none" length2="1.5" antialias="false" x2="75" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="75" y2="-28" length1="1.5" y1="-25" end2="none" length2="1.5" antialias="false" x2="75" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="1L+" x="4" y="161" size="6"/>
|
||||||
|
<text text="IM151-3 PN" x="2" y="73" size="6"/>
|
||||||
|
<text text="PROFINET" x="21" y="30" size="6"/>
|
||||||
|
<text text="1M" x="24" y="161" size="6"/>
|
||||||
|
<line x1="0" y2="167" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="37" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="38" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="0" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="87" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="53" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="87" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="0" y2="140" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="80" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="87" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="89" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="2" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="38" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="5" y2="-24" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="5" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="5" y2="-24" length1="1.5" y1="-24" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="35" y2="-28" length1="1.5" y1="-25" end2="none" length2="1.5" antialias="false" x2="35" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="10" length1="1.5" y1="2" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="10" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="60" y2="2" length1="1.5" y1="9" end2="none" length2="1.5" antialias="false" x2="60" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="78" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="86" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="90" y2="168" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="90" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="38" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="42" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="63" y="180.5" size="9"/>
|
||||||
|
<terminal orientation="n" x="20" y="-29"/>
|
||||||
|
<terminal orientation="s" x="10" y="171"/>
|
||||||
|
<terminal orientation="s" x="30" y="171"/>
|
||||||
|
<terminal orientation="s" x="50" y="171"/>
|
||||||
|
<terminal orientation="s" x="70" y="171"/>
|
||||||
|
<terminal orientation="n" x="60" y="-29"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<definition width="240" orientation="dyyy" version="0.5" height="210" type="element" hotspot_y="32" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{f546bbb2-058e-4b4d-9f4c-cb7509c42a85}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">6AV6647-0AB11-3AX0</name>
|
||||||
|
<name lang="cs">6AV6647-0AB11-3AX0</name>
|
||||||
|
<name lang="pl">6AV6647-0AB11-3AX0</name>
|
||||||
|
<name lang="ar">6AV6647-0AB11-3AX0</name>
|
||||||
|
<name lang="pt">6AV6647-0AB11-3AX0</name>
|
||||||
|
<name lang="fr">6AV6647-0AB11-3AX0</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="P1" x="28" y="150" size="6"/>
|
||||||
|
<text text="PROFINET" x="6" y="136" size="6"/>
|
||||||
|
<text text="L+" x="166" y="160" size="6"/>
|
||||||
|
<text text="X1" x="14" y="150" size="6"/>
|
||||||
|
<text text="KTP600 BASIC MONO" x="-6" y="-17" size="6"/>
|
||||||
|
<text text="24VDC" x="168" y="150" size="6"/>
|
||||||
|
<text text="M" x="187" y="160" size="6"/>
|
||||||
|
<line x1="15" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="167" length1="1.5" y1="91" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="90" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="173" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="165.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="15" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="86" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="166" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="30" height="28" antialias="false" x="10" y="140" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="160" y2="140" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="160" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="161" y2="140" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="200" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="200" y2="168" length1="1.5" y1="140" end2="none" length2="1.5" antialias="false" x2="200" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="193" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="199" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-9" y2="-28" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="220" y2="167" length1="1.5" y1="-28" end2="none" length2="1.5" antialias="false" x2="220" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="220" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="200" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="86" y2="168" length1="1.5" y1="168" end2="none" length2="1.5" antialias="false" x2="166" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="191" height="130" antialias="false" x="10" y="-10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="26" height="3" antialias="false" x="12" y="165" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="192" y="181.5" size="9"/>
|
||||||
|
<terminal orientation="s" x="25" y="169"/>
|
||||||
|
<terminal orientation="s" x="190" y="171"/>
|
||||||
|
<terminal orientation="s" x="170" y="171"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
<definition width="330" orientation="dyyy" version="0.5" height="100" type="element" hotspot_y="34" link_type="simple" hotspot_x="15">
|
||||||
|
<uuid uuid="{1c3687c5-a859-4a66-a3b5-f3a8133860f7}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="it">SINAMICS G110 6SL3211</name>
|
||||||
|
<name lang="en">SINAMICS G110 6SL3211</name>
|
||||||
|
<name lang="cs">SINAMICS G110 6SL3211</name>
|
||||||
|
<name lang="pl">SINAMICS G110 6SL3211</name>
|
||||||
|
<name lang="ar">SINAMICS G110 6SL3211</name>
|
||||||
|
<name lang="fr">SINAMICS G110 6SL3211</name>
|
||||||
|
</names>
|
||||||
|
<informations></informations>
|
||||||
|
<description>
|
||||||
|
<text text="10" x="294" y="-20" size="5"/>
|
||||||
|
<input rotate="true" text="ADC1" tagg="none" rotation="270" x="270" y="9" size="7"/>
|
||||||
|
<line x1="310" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="310" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="0V" tagg="none" rotation="270" x="291" y="-3" size="7"/>
|
||||||
|
<input rotate="true" text="N" tagg="none" rotation="270" x="50" y="-7" size="7"/>
|
||||||
|
<input rotate="true" text="GND" tagg="none" rotation="270" x="230" y="6" size="7"/>
|
||||||
|
<input rotate="true" text="DIN1" tagg="none" rotation="270" x="170" y="6" size="7"/>
|
||||||
|
<line x1="153" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="167" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="57" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="253" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="267" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="213" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="227" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="DIN0" tagg="none" rotation="270" x="150" y="6" size="7"/>
|
||||||
|
<line x1="173" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="187" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="DOUT-" tagg="none" rotation="270" x="173" y="56" size="7"/>
|
||||||
|
<input rotate="true" text="+10V" tagg="none" rotation="270" x="251" y="10" size="7"/>
|
||||||
|
<line x1="33" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="24V" tagg="none" rotation="270" x="210" y="4" size="7"/>
|
||||||
|
<text text="4" x="175" y="-20" size="5"/>
|
||||||
|
<circle diameter="5" antialias="true" x="167.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="233" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="247" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="3" x="155" y="-20" size="5"/>
|
||||||
|
<circle diameter="5" antialias="true" x="147.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="8" y2="42" length1="1.5" y1="42" end2="none" length2="1.5" antialias="false" x2="12" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="9" x="274" y="-20" size="5"/>
|
||||||
|
<input rotate="true" text="DIN2" tagg="none" rotation="270" x="190" y="6" size="7"/>
|
||||||
|
<input rotate="true" text="W" tagg="none" rotation="270" x="70" y="55" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="267.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="7" x="235" y="-20" size="5"/>
|
||||||
|
<text text="8" x="254" y="-20" size="5"/>
|
||||||
|
<circle diameter="5" antialias="true" x="227.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="247.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="6" x="215" y="-20" size="5"/>
|
||||||
|
<line x1="9" y2="40" length1="1.5" y1="40" end2="none" length2="1.5" antialias="false" x2="11" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="207.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="U" tagg="none" rotation="270" x="30" y="55" size="7"/>
|
||||||
|
<line x1="193" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="207" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="47.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="187.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="44" length1="1.5" y1="44" end2="none" length2="1.5" antialias="false" x2="14" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="5" x="195" y="-20" size="5"/>
|
||||||
|
<input rotate="true" text="V" tagg="none" rotation="270" x="50" y="55" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="67.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="44" length1="1.5" y1="54" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="L1" tagg="none" rotation="270" x="30" y="-7" size="7"/>
|
||||||
|
<line x1="53" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="67" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="33" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="47" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="27.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="13" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="27" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="190.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="DOUT+" tagg="none" rotation="270" x="193" y="56" size="7"/>
|
||||||
|
<circle diameter="5" antialias="true" x="170.5" y="54.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="2" x="199" y="53" size="5"/>
|
||||||
|
<text text="1" x="178" y="53" size="5"/>
|
||||||
|
<circle diameter="5" antialias="true" x="7.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="G110" tagg="none" x="-5" y="14.5" size="9"/>
|
||||||
|
<line x1="8" y2="-12" length1="1.5" y1="-12" end2="none" length2="1.5" antialias="false" x2="12" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="9" y2="-10" length1="1.5" y1="-10" end2="none" length2="1.5" antialias="false" x2="11" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="6" y2="-14" length1="1.5" y1="-14" end2="none" length2="1.5" antialias="false" x2="14" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="-24" length1="1.5" y1="-14" end2="none" length2="1.5" antialias="false" x2="10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="5" antialias="true" x="287.5" y="-29.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="310" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="293" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="287" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="273" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="147" y2="-27" length1="1.5" y1="-27" end2="none" length2="1.5" antialias="false" x2="53" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="73" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="170" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="176" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="190" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="196" y2="57" length1="1.5" y1="57" end2="none" length2="1.5" antialias="false" x2="310" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input rotate="true" text="?U?" tagg="label" x="320" y="40" size="9"/>
|
||||||
|
<terminal orientation="n" x="10" y="-30"/>
|
||||||
|
<terminal orientation="s" x="193" y="59"/>
|
||||||
|
<terminal orientation="s" x="173" y="59"/>
|
||||||
|
<terminal orientation="n" x="30" y="-30"/>
|
||||||
|
<terminal orientation="s" x="10" y="60"/>
|
||||||
|
<terminal orientation="s" x="30" y="60"/>
|
||||||
|
<terminal orientation="s" x="50" y="60"/>
|
||||||
|
<terminal orientation="s" x="70" y="60"/>
|
||||||
|
<terminal orientation="n" x="170" y="-30"/>
|
||||||
|
<terminal orientation="n" x="150" y="-30"/>
|
||||||
|
<terminal orientation="n" x="190" y="-30"/>
|
||||||
|
<terminal orientation="n" x="230" y="-30"/>
|
||||||
|
<terminal orientation="n" x="210" y="-30"/>
|
||||||
|
<terminal orientation="n" x="50" y="-30"/>
|
||||||
|
<terminal orientation="n" x="270" y="-30"/>
|
||||||
|
<terminal orientation="n" x="250" y="-30"/>
|
||||||
|
<terminal orientation="n" x="290" y="-30"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<definition width="110" orientation="dyyy" version="0.5" height="170" type="element" hotspot_y="44" link_type="simple" hotspot_x="69">
|
||||||
|
<uuid uuid="{123e1ee3-a38d-448f-8b4d-a4a9945100ad}"/>
|
||||||
|
<names>
|
||||||
|
<name lang="en">Surge suppression module wago 230 AC 286-842</name>
|
||||||
|
<name lang="pl">Ogranicznik przepięć wago 230 AC 286-842</name>
|
||||||
|
</names>
|
||||||
|
<informations>EN 60617: 07-22-03</informations>
|
||||||
|
<description>
|
||||||
|
<rect width="101" height="150" antialias="false" x="-65" y="-35" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="10" height="4" antialias="false" x="-25" y="58" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-52" y="88" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<text text="N" rotation="270" x="-14" y="108" size="5"/>
|
||||||
|
<rect width="10" height="4" antialias="false" x="-29" y="43" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="10" height="4" antialias="false" x="0" y="43" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-27.8452" y2="80" length1="1.5" y1="80" end2="none" length2="1.5" antialias="false" x2="-13.1677" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-50.05" y2="115.95" length1="1.5" y1="-36.05" end2="none" length2="1.5" antialias="false" x2="-50.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="N" rotation="270" x="-15" y="-23" size="5"/>
|
||||||
|
<text text="L out" rotation="270" x="16" y="113" size="5"/>
|
||||||
|
<text text="L in" rotation="270" x="16" y="-19" size="5"/>
|
||||||
|
<rect width="4" height="10" antialias="false" x="18" y="20" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="19" y="88" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-12" y="3" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-12" y="78" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-52" y="58" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-52" y="43" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-52" y="78" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-12" y="58" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<line x1="7" y2="-10" length1="1.5" y1="-10" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="7" y2="-5.792" length1="1.5" y1="-14.192" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="18" y="-12" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="-12" y="-12" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<circle diameter="4" antialias="true" x="18" y="43" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<line x1="7" y2="94.208" length1="1.5" y1="85.808" end2="none" length2="1.5" antialias="false" x2="7" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-28" y2="84.208" length1="1.5" y1="75.808" end2="none" length2="1.5" antialias="false" x2="-28" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="PE" rotation="270" x="-55" y="110" size="5"/>
|
||||||
|
<line x1="-29.2435" y2="45" length1="1.5" y1="45" end2="none" length2="1.5" antialias="false" x2="-50.006" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="10" height="4" antialias="false" x="-45" y="58" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="9" y2="50" length1="1.5" y1="40" end2="none" length2="1.5" antialias="false" x2="1" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-16" y2="65" length1="1.5" y1="55" end2="none" length2="1.5" antialias="false" x2="-24" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-49.6012" y2="90" length1="1.5" y1="90" end2="none" length2="1.5" antialias="false" x2="2.31791" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-49.6129" y2="80" length1="1.5" y1="80" end2="none" length2="1.5" antialias="false" x2="-32.4194" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon x3="-19" x1="-22" y2="43" y1="45" x4="-22" closed="false" antialias="false" y4="45" x2="-19" y3="47" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<line x1="-2" y2="50" length1="1.5" y1="50" end2="none" length2="1.5" antialias="false" x2="1" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<input text="_" tagg="label" x="43" y="95.5" size="9"/>
|
||||||
|
<line x1="3" y2="94.208" length1="1.5" y1="85.808" end2="none" length2="1.5" antialias="false" x2="3" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-32" y2="84.208" length1="1.5" y1="75.808" end2="none" length2="1.5" antialias="false" x2="-32" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-27" y2="65" length1="1.5" y1="65" end2="none" length2="1.5" antialias="false" x2="-24" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-18.4549" y2="45" length1="1.5" y1="45" end2="none" length2="1.5" antialias="false" x2="-0.673911" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-45.9907" y2="60" length1="1.5" y1="60" end2="none" length2="1.5" antialias="false" x2="-49.9316" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="45" length1="1.5" y1="45" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-14.7318" y2="60" length1="1.5" y1="60" end2="none" length2="1.5" antialias="false" x2="-10.2072" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<polygon x3="-35" x1="-38" y2="58" y1="60" x4="-38" closed="false" antialias="false" y4="60" x2="-35" y3="62" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<rect width="10" height="4" antialias="false" x="0" y="3" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="9" y2="10" length1="1.5" y1="0" end2="none" length2="1.5" antialias="false" x2="1" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-2" y2="10" length1="1.5" y1="10" end2="none" length2="1.5" antialias="false" x2="1" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="0" y2="5" length1="1.5" y1="5" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="10" y2="5" length1="1.5" y1="5" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="-10" y2="-10" length1="1.5" y1="-10" end2="none" length2="1.5" antialias="false" x2="3" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="3" y2="-5.792" length1="1.5" y1="-14.192" end2="none" length2="1.5" antialias="false" x2="3" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<circle diameter="18" antialias="true" x="-4" y="16" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<rect width="4" height="10" antialias="false" x="-12" y="20" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<line x1="-33.8737" y2="60" length1="1.5" y1="60" end2="none" length2="1.5" antialias="false" x2="-26.1368" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<text text="PE" rotation="270" x="-55" y="-20" size="5"/>
|
||||||
|
<circle diameter="4" antialias="true" x="18" y="3" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
|
||||||
|
<line x1="-10" y2="116" length1="1.5" y1="-36" end2="none" length2="1.5" antialias="false" x2="-10" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<line x1="20" y2="116" length1="1.5" y1="-35" end2="none" length2="1.5" antialias="false" x2="20" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
|
||||||
|
<terminal orientation="n" x="-50" y="-40"/>
|
||||||
|
<terminal orientation="n" x="20" y="-40"/>
|
||||||
|
<terminal orientation="n" x="-10" y="-40"/>
|
||||||
|
<terminal orientation="s" x="20" y="120"/>
|
||||||
|
<terminal orientation="s" x="-10" y="120"/>
|
||||||
|
<terminal orientation="s" x="-50" y="120"/>
|
||||||
|
</description>
|
||||||
|
</definition>
|
||||||
BIN
lang/qet_nl.qm
BIN
lang/qet_nl.qm
Binary file not shown.
@@ -545,7 +545,7 @@ Noot: Geen van deze opties bepalen het wel of niet automatisch nummeren, alleen
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/conductorpropertiesdialog.ui" line="20"/>
|
<location filename="../sources/ui/conductorpropertiesdialog.ui" line="20"/>
|
||||||
<source>Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel</source>
|
<source>Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel</source>
|
||||||
<translation type="unfinished">Eigenschappen toepassen op alle geleiders van hetzelfde potentiaal</translation>
|
<translation type="unfinished">Eigenschappen toepassen op alle geleiders met hetzelfde potentiaal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/conductorpropertiesdialog.cpp" line="72"/>
|
<location filename="../sources/ui/conductorpropertiesdialog.cpp" line="72"/>
|
||||||
@@ -673,7 +673,7 @@ Noot: Geen van deze opties bepalen het wel of niet automatisch nummeren, alleen
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/conductorpropertieswidget.ui" line="81"/>
|
<location filename="../sources/ui/conductorpropertieswidget.ui" line="81"/>
|
||||||
<source>Afficher un texte de potentiel par folio. </source>
|
<source>Afficher un texte de potentiel par folio. </source>
|
||||||
<translation type="unfinished">Toon tekst per pagina.</translation>
|
<translation type="unfinished">Toon tekst per pagina. </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/conductorpropertieswidget.ui" line="151"/>
|
<location filename="../sources/ui/conductorpropertieswidget.ui" line="151"/>
|
||||||
@@ -866,7 +866,7 @@ Noot: Geen van deze opties bepalen het wel of niet automatisch nummeren, alleen
|
|||||||
<location filename="../sources/ui/diagrampropertiesdialog.cpp" line="48"/>
|
<location filename="../sources/ui/diagrampropertiesdialog.cpp" line="48"/>
|
||||||
<source>Propriétés du folio</source>
|
<source>Propriétés du folio</source>
|
||||||
<comment>window title</comment>
|
<comment>window title</comment>
|
||||||
<translation type="unfinished">Paginaeigenschappen</translation>
|
<translation type="unfinished">Pagina-eigenschappen</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -1401,7 +1401,7 @@ Noot: Geen van deze opties bepalen het wel of niet automatisch nummeren, alleen
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>N° fil : </source>
|
<source>N° fil : </source>
|
||||||
<translation type="unfinished">Draadnummer :</translation>
|
<translation type="unfinished">Draadnummer : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sans titre</source>
|
<source>Sans titre</source>
|
||||||
@@ -1593,7 +1593,8 @@ Noot: Geen van deze opties bepalen het wel of niet automatisch nummeren, alleen
|
|||||||
<source>Êtes-vous sûr de vouloir supprimer cet élément ?
|
<source>Êtes-vous sûr de vouloir supprimer cet élément ?
|
||||||
</source>
|
</source>
|
||||||
<comment>message box content</comment>
|
<comment>message box content</comment>
|
||||||
<translation type="unfinished">Wilt u dit element werkelijk verwijderen ?</translation>
|
<translation type="unfinished">Wilt u dit element werkelijk verwijderen ?
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ElementsCollection/elementscollectionwidget.cpp" line="344"/>
|
<location filename="../sources/ElementsCollection/elementscollectionwidget.cpp" line="344"/>
|
||||||
@@ -1680,7 +1681,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés.</
|
|||||||
<location filename="../sources/elementspanel.cpp" line="153"/>
|
<location filename="../sources/elementspanel.cpp" line="153"/>
|
||||||
<source>Double-cliquez pour réduire ou développer cette collection de cartouches embarquée</source>
|
<source>Double-cliquez pour réduire ou développer cette collection de cartouches embarquée</source>
|
||||||
<comment>Status tip</comment>
|
<comment>Status tip</comment>
|
||||||
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van deze titelblokverzameling</translation>
|
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van deze titelblokcollectie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanel.cpp" line="162"/>
|
<location filename="../sources/elementspanel.cpp" line="162"/>
|
||||||
@@ -1698,32 +1699,32 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés.</
|
|||||||
<location filename="../sources/elementspanel.cpp" line="199"/>
|
<location filename="../sources/elementspanel.cpp" line="199"/>
|
||||||
<source>Double-cliquez pour réduire ou développer la collection de cartouches QElectroTech</source>
|
<source>Double-cliquez pour réduire ou développer la collection de cartouches QElectroTech</source>
|
||||||
<comment>Status tip</comment>
|
<comment>Status tip</comment>
|
||||||
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van QET titelblokken</translation>
|
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van QET titelbloksjablonen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanel.cpp" line="200"/>
|
<location filename="../sources/elementspanel.cpp" line="200"/>
|
||||||
<source>Ceci est la collection de cartouches fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser.</source>
|
<source>Ceci est la collection de cartouches fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser.</source>
|
||||||
<comment>"What's this" tip</comment>
|
<comment>"What's this" tip</comment>
|
||||||
<translation type="unfinished">Dit is de titelblokverzameling van QET. Deze zijn niet te wijzigen, wel te kopieren.</translation>
|
<translation type="unfinished">Dit is de titelbloksjablonencollectie van QET. Deze zijn niet te wijzigen, wel te kopieren.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanel.cpp" line="207"/>
|
<location filename="../sources/elementspanel.cpp" line="207"/>
|
||||||
<source>Double-cliquez pour réduire ou développer votre collection personnelle de cartouches</source>
|
<source>Double-cliquez pour réduire ou développer votre collection personnelle de cartouches</source>
|
||||||
<comment>Status tip</comment>
|
<comment>Status tip</comment>
|
||||||
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van titelblokverzameling</translation>
|
<translation type="unfinished">Dubbelklik voor in- of uitvouwen van uw persoonlijke titelblokcollectie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanel.cpp" line="208"/>
|
<location filename="../sources/elementspanel.cpp" line="208"/>
|
||||||
<source>Ceci est votre collection personnelle de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches.</source>
|
<source>Ceci est votre collection personnelle de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches.</source>
|
||||||
<comment>"What's this" tip</comment>
|
<comment>"What's this" tip</comment>
|
||||||
<translation type="unfinished">Dit is een gebruikerverzameling van titelblokken; gebruik deze voor het toevoegen,verwijderen en wijzigen van uw eigen titelblokken.</translation>
|
<translation type="unfinished">Dit is de gebruikercollectie van titelbloksjablonen; gebruik deze voor het toevoegen,verwijderen en wijzigen van uw eigen titelbloksjablonen.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ElementsPanelWidget</name>
|
<name>ElementsPanelWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Recharger les collections</source>
|
<source>Recharger les collections</source>
|
||||||
<translation type="unfinished">Herlaad verzamelingen</translation>
|
<translation type="unfinished">Herlaad collecties</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanelwidget.cpp" line="46"/>
|
<location filename="../sources/elementspanelwidget.cpp" line="46"/>
|
||||||
@@ -1763,7 +1764,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés.</
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanelwidget.cpp" line="51"/>
|
<location filename="../sources/elementspanelwidget.cpp" line="51"/>
|
||||||
<source>Propriétés du folio</source>
|
<source>Propriétés du folio</source>
|
||||||
<translation type="unfinished">Paginaeigenschappen</translation>
|
<translation type="unfinished">Pagina-eigenschappen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/elementspanelwidget.cpp" line="52"/>
|
<location filename="../sources/elementspanelwidget.cpp" line="52"/>
|
||||||
@@ -2055,7 +2056,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés.</
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="107"/>
|
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="107"/>
|
||||||
<source> Options de numérotation</source>
|
<source> Options de numérotation</source>
|
||||||
<translation type="unfinished">Opties voor nummering</translation>
|
<translation type="unfinished"> Opties voor nummering</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="132"/>
|
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="132"/>
|
||||||
@@ -2090,7 +2091,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés.</
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="40"/>
|
<location filename="../sources/autoNum/ui/folioautonumbering.ui" line="40"/>
|
||||||
<source>Numérotation automatique de Folio :</source>
|
<source>Numérotation automatique de Folio :</source>
|
||||||
<translation type="unfinished">Autonummering van pagina's</translation>
|
<translation type="unfinished">Autonummering van pagina's :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/autoNum/ui/folioautonumbering.cpp" line="173"/>
|
<location filename="../sources/autoNum/ui/folioautonumbering.cpp" line="173"/>
|
||||||
@@ -2124,7 +2125,8 @@ Le champs "Incrémentation" n'est pas utilisé.
|
|||||||
Als er in het veld "Waarde" een getal wordt ingevuld met minder decimalen dan het gekozen type wordt dit getal aangevuld met ervoor geplaatste nullen.
|
Als er in het veld "Waarde" een getal wordt ingevuld met minder decimalen dan het gekozen type wordt dit getal aangevuld met ervoor geplaatste nullen.
|
||||||
|
|
||||||
-Het type "Tekst" staat voor een vaste tekst.
|
-Het type "Tekst" staat voor een vaste tekst.
|
||||||
Het veld "Increment" is nu niet van belang.</translation>
|
Het veld "Increment" is nu niet van belang.
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -2215,7 +2217,7 @@ Teksten en nummers zijn ook beschikbaar.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/configpages.cpp" line="250"/>
|
<location filename="../sources/configpages.cpp" line="250"/>
|
||||||
<source>Utiliser les labels de folio à la place de leurs ID</source>
|
<source>Utiliser les labels de folio à la place de leurs ID</source>
|
||||||
<translation type="unfinished">Gebruik paginalabels op de plaats van hun ID</translation>
|
<translation type="unfinished">Gebruik paginalabels in plaats van hun ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/configpages.cpp" line="254"/>
|
<location filename="../sources/configpages.cpp" line="254"/>
|
||||||
@@ -3492,7 +3494,7 @@ Wilt u de wijzigingen opslaan?</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/PropertiesEditor/propertieseditordockwidget.ui" line="14"/>
|
<location filename="../sources/PropertiesEditor/propertieseditordockwidget.ui" line="14"/>
|
||||||
<source>Propriété de la séléction</source>
|
<source>Propriété de la séléction</source>
|
||||||
<translation type="unfinished">Eigenschappen van selectie</translation>
|
<translation type="unfinished">Eigenschappen</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -3619,14 +3621,15 @@ Wilt u de wijzigingen opslaan?</translation>
|
|||||||
<location filename="../sources/qetapp.cpp" line="1602"/>
|
<location filename="../sources/qetapp.cpp" line="1602"/>
|
||||||
<source> --common-elements-dir=DIR Definir le dossier de la collection d'elements
|
<source> --common-elements-dir=DIR Definir le dossier de la collection d'elements
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"> --common-elements-dir=DIR Definieer de map voor de elementenverzameling
|
<translation type="unfinished"> --common-elements-dir=DIR Definieer de map voor de elementencollectie
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="1605"/>
|
<location filename="../sources/qetapp.cpp" line="1605"/>
|
||||||
<source> --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches
|
<source> --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"> --common-tbt-dir=DIR Definieer de map voor titelbloksjablonenverzameling</translation>
|
<translation type="unfinished"> --common-tbt-dir=DIR Definieer de map voor de titelbloksjablonen
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="1608"/>
|
<location filename="../sources/qetapp.cpp" line="1608"/>
|
||||||
@@ -3639,13 +3642,14 @@ Wilt u de wijzigingen opslaan?</translation>
|
|||||||
<location filename="../sources/qetapp.cpp" line="1610"/>
|
<location filename="../sources/qetapp.cpp" line="1610"/>
|
||||||
<source> --lang-dir=DIR Definir le dossier contenant les fichiers de langue
|
<source> --lang-dir=DIR Definir le dossier contenant les fichiers de langue
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"> --lang-dir=DIR Definieer de taalbestandenmap</translation>
|
<translation type="unfinished"> --lang-dir=DIR Definieer de taalbestandenmap
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="102"/>
|
<location filename="../sources/qetapp.cpp" line="102"/>
|
||||||
<source>Chargement... Initialisation du cache des collections d'éléments</source>
|
<source>Chargement... Initialisation du cache des collections d'éléments</source>
|
||||||
<comment>splash screen caption</comment>
|
<comment>splash screen caption</comment>
|
||||||
<translation type="unfinished">Laden... Initialisatie van de elementenverzameling-cache </translation>
|
<translation type="unfinished">Laden... Initialisatie van de cache van de elementencollectie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="111"/>
|
<location filename="../sources/qetapp.cpp" line="111"/>
|
||||||
@@ -3699,13 +3703,13 @@ Wilt u de wijzigingen opslaan?</translation>
|
|||||||
<location filename="../sources/qetapp.cpp" line="332"/>
|
<location filename="../sources/qetapp.cpp" line="332"/>
|
||||||
<source>Cartouches QET</source>
|
<source>Cartouches QET</source>
|
||||||
<comment>title of the title block templates collection provided by QElectroTech</comment>
|
<comment>title of the title block templates collection provided by QElectroTech</comment>
|
||||||
<translation type="unfinished">QET titelblokken</translation>
|
<translation type="unfinished">QET titelbloksjablonen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="346"/>
|
<location filename="../sources/qetapp.cpp" line="346"/>
|
||||||
<source>Cartouches utilisateur</source>
|
<source>Cartouches utilisateur</source>
|
||||||
<comment>title of the user's title block templates collection</comment>
|
<comment>title of the user's title block templates collection</comment>
|
||||||
<translation type="unfinished">Gebruiker titelblokken</translation>
|
<translation type="unfinished">Gebruiker titelbloksjablonen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="809"/>
|
<location filename="../sources/qetapp.cpp" line="809"/>
|
||||||
@@ -3772,7 +3776,9 @@ Wilt u de wijzigingen opslaan?</translation>
|
|||||||
<source> [options] [fichier]...
|
<source> [options] [fichier]...
|
||||||
|
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished">[opties] [bestanden].....</translation>
|
<translation type="unfinished"> [opties] [bestanden].....
|
||||||
|
|
||||||
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetapp.cpp" line="1596"/>
|
<location filename="../sources/qetapp.cpp" line="1596"/>
|
||||||
@@ -3892,7 +3898,7 @@ Opties :
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="313"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="313"/>
|
||||||
<source>&Fermer</source>
|
<source>&Fermer</source>
|
||||||
<translation type="unfinished">&Afsluiten</translation>
|
<translation type="unfinished">&Sluiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="565"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="565"/>
|
||||||
@@ -3945,22 +3951,22 @@ Opties :
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="290"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="290"/>
|
||||||
<source>Propriétés du folio</source>
|
<source>Propriétés du folio</source>
|
||||||
<translation type="unfinished">Paginaeigenschappen</translation>
|
<translation type="unfinished">Pagina-eigenschappen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="293"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="293"/>
|
||||||
<source>Ajouter un folio</source>
|
<source>Ajouter un folio</source>
|
||||||
<translation type="unfinished">Voeg een pagina toe</translation>
|
<translation type="unfinished">Pagina toevoegen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="294"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="294"/>
|
||||||
<source>Supprimer le folio</source>
|
<source>Supprimer le folio</source>
|
||||||
<translation type="unfinished">Verwijder de pagina</translation>
|
<translation type="unfinished">Pagina verwijderen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="298"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="298"/>
|
||||||
<source>Lancer le plugin de creation de bornier</source>
|
<source>Lancer le plugin de creation de bornier</source>
|
||||||
<translation type="unfinished">Start de terminal-plugin om een terminal te maken</translation>
|
<translation type="unfinished">Start de terminal-plugin voor het maken van een terminal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="302"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="302"/>
|
||||||
@@ -4127,7 +4133,7 @@ Opties :
|
|||||||
<location filename="../sources/qetdiagrameditor.cpp" line="456"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="456"/>
|
||||||
<source>Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...)</source>
|
<source>Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...)</source>
|
||||||
<comment>status bar tip</comment>
|
<comment>status bar tip</comment>
|
||||||
<translation type="unfinished">Bewerk de paginaeigenschappen (afmetingen, titelblokinformatie, geleidereigenschappen...)</translation>
|
<translation type="unfinished">Bewerk de pagina-eigenschappen (afmetingen, titelblokinformatie, geleidereigenschappen...)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="462"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="462"/>
|
||||||
@@ -4243,7 +4249,7 @@ Opties :
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="423"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="423"/>
|
||||||
<source>Ajouter un champ de texte</source>
|
<source>Ajouter un champ de texte</source>
|
||||||
<translation>Toevoegen van een tekstveld</translation>
|
<translation type="unfinished">Tekstveld toevoegen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="183"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="183"/>
|
||||||
@@ -4296,7 +4302,7 @@ Opties :
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="902"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="902"/>
|
||||||
<source>Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier.</source>
|
<source>Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier.</source>
|
||||||
<translation type="unfinished">Bestand openen mislukt. Heeft u de juiste machtigingen?</translation>
|
<translation type="unfinished">Bestand openen mislukt. Controleer of u de juiste machtigingen heeft.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="916"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="916"/>
|
||||||
@@ -4356,7 +4362,7 @@ Opties :
|
|||||||
<location filename="../sources/qetdiagrameditor.cpp" line="187"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="187"/>
|
||||||
<source>Annulations</source>
|
<source>Annulations</source>
|
||||||
<comment>dock title</comment>
|
<comment>dock title</comment>
|
||||||
<translation type="unfinished">Ongedaan maken</translation>
|
<translation type="unfinished">Geschiedenis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/qetdiagrameditor.cpp" line="184"/>
|
<location filename="../sources/qetdiagrameditor.cpp" line="184"/>
|
||||||
@@ -4971,7 +4977,7 @@ Opties :
|
|||||||
<location filename="../sources/editor/qetelementeditor.cpp" line="520"/>
|
<location filename="../sources/editor/qetelementeditor.cpp" line="520"/>
|
||||||
<source>Annulations</source>
|
<source>Annulations</source>
|
||||||
<comment>dock title</comment>
|
<comment>dock title</comment>
|
||||||
<translation>Annuleer</translation>
|
<translation type="unfinished">Geschiedenis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/qetelementeditor.cpp" line="538"/>
|
<location filename="../sources/editor/qetelementeditor.cpp" line="538"/>
|
||||||
@@ -5028,7 +5034,7 @@ Opties :
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/qetelementeditor.cpp" line="739"/>
|
<location filename="../sources/editor/qetelementeditor.cpp" line="739"/>
|
||||||
<source> et</source>
|
<source> et</source>
|
||||||
<translation type="unfinished">en</translation>
|
<translation type="unfinished"> en</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../sources/editor/qetelementeditor.cpp" line="741"/>
|
<location filename="../sources/editor/qetelementeditor.cpp" line="741"/>
|
||||||
@@ -5858,7 +5864,7 @@ Que désirez vous faire ?</source>
|
|||||||
<location filename="../sources/titleblock/qettemplateeditor.cpp" line="483"/>
|
<location filename="../sources/titleblock/qettemplateeditor.cpp" line="483"/>
|
||||||
<source>Annulations</source>
|
<source>Annulations</source>
|
||||||
<comment>dock title</comment>
|
<comment>dock title</comment>
|
||||||
<translation>Annuleer</translation>
|
<translation type="unfinished">Geschiedenis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/titleblock/qettemplateeditor.cpp" line="502"/>
|
<location filename="../sources/titleblock/qettemplateeditor.cpp" line="502"/>
|
||||||
@@ -6357,7 +6363,7 @@ Que désirez vous faire ?</source>
|
|||||||
<location filename="../sources/titleblock/templatecommands.cpp" line="763"/>
|
<location filename="../sources/titleblock/templatecommands.cpp" line="763"/>
|
||||||
<source>Séparation d'une cellule en %1</source>
|
<source>Séparation d'une cellule en %1</source>
|
||||||
<comment>label used in the title block template editor undo list; %1 is the number of cells after the split</comment>
|
<comment>label used in the title block template editor undo list; %1 is the number of cells after the split</comment>
|
||||||
<translation type="unfinished">Splitsen van één cel naar %1 </translation>
|
<translation type="unfinished">Splitsen van één cel naar %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/titleblock/templatecommands.cpp" line="855"/>
|
<location filename="../sources/titleblock/templatecommands.cpp" line="855"/>
|
||||||
@@ -6497,7 +6503,7 @@ Que désirez vous faire ?</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/diagramcommands.h" line="51"/>
|
<location filename="../sources/diagramcommands.h" line="51"/>
|
||||||
<source>Ajouter </source>
|
<source>Ajouter </source>
|
||||||
<translation type="unfinished">Voeg toe</translation>
|
<translation type="unfinished">Toevoegen </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/esevent/eseventaddarc.cpp" line="70"/>
|
<location filename="../sources/editor/esevent/eseventaddarc.cpp" line="70"/>
|
||||||
@@ -6580,7 +6586,7 @@ Que désirez vous faire ?</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/nomenclature.cpp" line="55"/>
|
<location filename="../sources/nomenclature.cpp" line="55"/>
|
||||||
<source>Enregister sous... </source>
|
<source>Enregister sous... </source>
|
||||||
<translation type="unfinished">Opslaan als ...</translation>
|
<translation type="unfinished">Opslaan als ... </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/nomenclature.cpp" line="55"/>
|
<location filename="../sources/nomenclature.cpp" line="55"/>
|
||||||
@@ -6593,12 +6599,13 @@ Que désirez vous faire ?</source>
|
|||||||
|
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished">Kan bestand niet vervangen!
|
<translation type="unfinished">Kan bestand niet vervangen!
|
||||||
|
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/nomenclature.cpp" line="86"/>
|
<location filename="../sources/nomenclature.cpp" line="86"/>
|
||||||
<source>NOMENCLATURE : </source>
|
<source>NOMENCLATURE : </source>
|
||||||
<translation type="unfinished">NAAMGEVING:</translation>
|
<translation type="unfinished">NAAMGEVING : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/nomenclature.cpp" line="87"/>
|
<location filename="../sources/nomenclature.cpp" line="87"/>
|
||||||
@@ -6764,17 +6771,17 @@ Que désirez vous faire ?</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/rectangleeditor.cpp" line="50"/>
|
<location filename="../sources/editor/rectangleeditor.cpp" line="50"/>
|
||||||
<source>Coin supérieur gauche : </source>
|
<source>Coin supérieur gauche : </source>
|
||||||
<translation type="unfinished">Linkerbovenhoek</translation>
|
<translation type="unfinished">Linkerbovenhoek : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/rectangleeditor.cpp" line="55"/>
|
<location filename="../sources/editor/rectangleeditor.cpp" line="55"/>
|
||||||
<source>Dimensions : </source>
|
<source>Dimensions : </source>
|
||||||
<translation type="unfinished">Afmetingen :</translation>
|
<translation type="unfinished">Afmetingen : </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/rectangleeditor.cpp" line="56"/>
|
<location filename="../sources/editor/rectangleeditor.cpp" line="56"/>
|
||||||
<source>Largeur :</source>
|
<source>Largeur :</source>
|
||||||
<translation type="unfinished">Breedte:</translation>
|
<translation type="unfinished">Breedte :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/editor/rectangleeditor.cpp" line="58"/>
|
<location filename="../sources/editor/rectangleeditor.cpp" line="58"/>
|
||||||
@@ -7794,7 +7801,7 @@ De andere velden zijn nu niet van belang.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/titleblockpropertieswidget.ui" line="68"/>
|
<location filename="../sources/ui/titleblockpropertieswidget.ui" line="68"/>
|
||||||
<source>à droite </source>
|
<source>à droite </source>
|
||||||
<translation type="unfinished">rechts</translation>
|
<translation type="unfinished">rechts </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/titleblockpropertieswidget.ui" line="237"/>
|
<location filename="../sources/ui/titleblockpropertieswidget.ui" line="237"/>
|
||||||
@@ -8557,7 +8564,7 @@ Maximale afmeting : %2px</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../sources/ui/xrefpropertieswidget.cpp" line="99"/>
|
<location filename="../sources/ui/xrefpropertieswidget.cpp" line="99"/>
|
||||||
<source>Sous le label de l'élément</source>
|
<source>Sous le label de l'élément</source>
|
||||||
<translation type="unfinished">Onder het labelelement</translation>
|
<translation type="unfinished">Onder het elementlabel</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
HEADERS += \
|
HEADERS += \
|
||||||
$$PWD/qetgraphicshandlerutility.h
|
$$PWD/qetgraphicshandlerutility.h \
|
||||||
|
$$PWD/qetgraphicshandleritem.h
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
$$PWD/qetgraphicshandlerutility.cpp
|
$$PWD/qetgraphicshandlerutility.cpp \
|
||||||
|
$$PWD/qetgraphicshandleritem.cpp
|
||||||
|
|||||||
99
sources/QetGraphicsItemModeler/qetgraphicshandleritem.cpp
Normal file
99
sources/QetGraphicsItemModeler/qetgraphicshandleritem.cpp
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2006-2017 The QElectroTech Team
|
||||||
|
This file is part of QElectroTech.
|
||||||
|
|
||||||
|
QElectroTech is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
QElectroTech 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include "qetgraphicshandleritem.h"
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetGraphicsHandlerItem::QetGraphicsHandlerItem
|
||||||
|
* @param size, the size of the handler
|
||||||
|
*/
|
||||||
|
QetGraphicsHandlerItem::QetGraphicsHandlerItem(qreal size) :
|
||||||
|
m_size(size)
|
||||||
|
{}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetGraphicsHandlerItem::boundingRect
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QRectF QetGraphicsHandlerItem::boundingRect() const
|
||||||
|
{
|
||||||
|
qreal rect_size = m_size * m_previous_zoom_factor;
|
||||||
|
QRectF rect(0-rect_size/2, 0-rect_size/2, rect_size, rect_size);
|
||||||
|
rect.adjust(-2, -2, 2, 2);
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetGraphicsHandlerItem::setColor
|
||||||
|
* @param color, set the color of the handler
|
||||||
|
*/
|
||||||
|
void QetGraphicsHandlerItem::setColor(QColor color)
|
||||||
|
{
|
||||||
|
m_color = color;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetGraphicsHandlerItem::paint
|
||||||
|
* @param painter
|
||||||
|
* @param option
|
||||||
|
* @param widget
|
||||||
|
*/
|
||||||
|
void QetGraphicsHandlerItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
||||||
|
{
|
||||||
|
Q_UNUSED(option);
|
||||||
|
Q_UNUSED(widget);
|
||||||
|
|
||||||
|
qreal zoom_factor = 1.0/painter->transform().m11();
|
||||||
|
if(zoom_factor != m_previous_zoom_factor)
|
||||||
|
{
|
||||||
|
prepareGeometryChange();
|
||||||
|
m_previous_zoom_factor = zoom_factor;
|
||||||
|
}
|
||||||
|
|
||||||
|
qreal rect_size = m_size * m_previous_zoom_factor;
|
||||||
|
QRectF rect(0-rect_size/2, 0-rect_size/2, rect_size, rect_size);
|
||||||
|
|
||||||
|
painter->save();
|
||||||
|
painter->setBrush(QBrush(m_color));
|
||||||
|
QPen pen(QBrush(m_color), 2, Qt::SolidLine, Qt::SquareCap, Qt::MiterJoin);
|
||||||
|
pen.setCosmetic(true);
|
||||||
|
painter->setPen(pen);
|
||||||
|
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||||
|
painter->drawEllipse(rect);
|
||||||
|
painter->restore();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetGraphicsHandlerItem::handlerForPoint
|
||||||
|
* @param points
|
||||||
|
* @return A list of handler with pos at point
|
||||||
|
*/
|
||||||
|
QVector<QetGraphicsHandlerItem *> QetGraphicsHandlerItem::handlerForPoint(const QVector<QPointF> &points, int size)
|
||||||
|
{
|
||||||
|
QVector <QetGraphicsHandlerItem *> list_;
|
||||||
|
for (QPointF point : points)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = new QetGraphicsHandlerItem(size);
|
||||||
|
qghi->setPos(point);
|
||||||
|
list_ << qghi;
|
||||||
|
}
|
||||||
|
|
||||||
|
return list_;
|
||||||
|
}
|
||||||
53
sources/QetGraphicsItemModeler/qetgraphicshandleritem.h
Normal file
53
sources/QetGraphicsItemModeler/qetgraphicshandleritem.h
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2006-2017 The QElectroTech Team
|
||||||
|
This file is part of QElectroTech.
|
||||||
|
|
||||||
|
QElectroTech is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
QElectroTech 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#ifndef QETGRAPHICSHANDLERITEM_H
|
||||||
|
#define QETGRAPHICSHANDLERITEM_H
|
||||||
|
|
||||||
|
#include <QGraphicsItem>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief The QetGraphicsHandlerItem class
|
||||||
|
* This graphics item represents a point, destined to be used as an handler,
|
||||||
|
* for modifie the geometrie of a another graphics item (like shapes).
|
||||||
|
* The graphics item to be modified, must call "installSceneEventFilter" of this item with itself for argument,.
|
||||||
|
* The ghraphics item to be modified, need to reimplement "sceneEventFilter" for create the modification behavior.
|
||||||
|
*/
|
||||||
|
class QetGraphicsHandlerItem : public QGraphicsItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QetGraphicsHandlerItem(qreal size = 15);
|
||||||
|
virtual QRectF boundingRect() const;
|
||||||
|
|
||||||
|
enum { Type = UserType + 1200};
|
||||||
|
virtual int type() const {return Type;}
|
||||||
|
|
||||||
|
void setColor(QColor color);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
||||||
|
|
||||||
|
private:
|
||||||
|
qreal m_size,
|
||||||
|
m_previous_zoom_factor = 1;
|
||||||
|
QColor m_color;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static QVector<QetGraphicsHandlerItem *> handlerForPoint(const QVector<QPointF> &points, int size = 15);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QETGRAPHICSHANDLERITEM_H
|
||||||
@@ -16,111 +16,10 @@
|
|||||||
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include "qetgraphicshandlerutility.h"
|
#include "qetgraphicshandlerutility.h"
|
||||||
#include <QPainter>
|
//#include <QVector>
|
||||||
|
//#include <QPointF>
|
||||||
|
#include <QPainterPath>
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::QetGraphicsHandlerUtility
|
|
||||||
* Constructor
|
|
||||||
* @param size : the size of the handler
|
|
||||||
*/
|
|
||||||
QetGraphicsHandlerUtility::QetGraphicsHandlerUtility(qreal size) :
|
|
||||||
m_size (size)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::drawHandler
|
|
||||||
* Draw the handler at pos @point, using the QPainter @painter.
|
|
||||||
* @param painter : painter to use for drawing the handler
|
|
||||||
* @param point : point to draw the handler
|
|
||||||
*/
|
|
||||||
void QetGraphicsHandlerUtility::drawHandler(QPainter *painter, const QPointF &point)
|
|
||||||
{
|
|
||||||
//Setup the zoom factor to draw the handler in the same size at screen,
|
|
||||||
//no matter the zoom of the QPainter
|
|
||||||
m_zoom_factor = 1.0/painter->transform().m11();
|
|
||||||
|
|
||||||
painter->save();
|
|
||||||
painter->setBrush(QBrush(m_inner_color));
|
|
||||||
QPen square_pen(QBrush(m_outer_color), 2, Qt::SolidLine, Qt::SquareCap, Qt::MiterJoin);
|
|
||||||
square_pen.setCosmetic(true);
|
|
||||||
painter->setPen(square_pen);
|
|
||||||
painter->drawRect(getRect(point));
|
|
||||||
painter->restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::drawHandler
|
|
||||||
* Conveniance method for void QetGraphicsHandlerUtility::drawHandler(QPainter *painter, const QPointF &point)
|
|
||||||
* @param painter
|
|
||||||
* @param points
|
|
||||||
* @param color2
|
|
||||||
*/
|
|
||||||
void QetGraphicsHandlerUtility::drawHandler(QPainter *painter, const QVector<QPointF> &points) {
|
|
||||||
foreach(QPointF point, points)
|
|
||||||
drawHandler(painter, point);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::pointIsInHandler
|
|
||||||
* @param point : point to compare
|
|
||||||
* @param key_point : point at the center of handler (the point to modify, for exemple the corner of a rectangle)
|
|
||||||
* @return true if point is in a handler. else false
|
|
||||||
*/
|
|
||||||
bool QetGraphicsHandlerUtility::pointIsInHandler(const QPointF &point, const QPointF &key_point) const {
|
|
||||||
return (getRect(key_point).contains(point));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::pointIsHoverHandler
|
|
||||||
* @param point : point to compare
|
|
||||||
* @param vector : vector of key_point (the point to modify, for exemple the corners of a rectangle)
|
|
||||||
* @return if point is hover an handler, return the index of the hovered key_point in the vector, else return -1
|
|
||||||
*/
|
|
||||||
int QetGraphicsHandlerUtility::pointIsHoverHandler(const QPointF &point, const QVector<QPointF> &vector) const
|
|
||||||
{
|
|
||||||
foreach (QPointF key_point, vector)
|
|
||||||
if (pointIsInHandler(point, key_point))
|
|
||||||
return vector.indexOf(key_point);
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::handlerRect
|
|
||||||
* Return the rect of the handler for all key_point in vector (the point to modify, for exemple the corners of a rectangle)
|
|
||||||
* The order of rect in the returned vector is the same as the given vector.
|
|
||||||
* @param vector
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
QVector<QRectF> QetGraphicsHandlerUtility::handlerRect(const QVector<QPointF> &vector) const
|
|
||||||
{
|
|
||||||
QVector <QRectF> rect_vector;
|
|
||||||
|
|
||||||
foreach(QPointF point, vector)
|
|
||||||
rect_vector << getRect(point);
|
|
||||||
|
|
||||||
return rect_vector;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QetGraphicsHandlerUtility::setInnerColor(QColor color) {
|
|
||||||
m_inner_color = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QetGraphicsHandlerUtility::setOuterColor(QColor color) {
|
|
||||||
m_outer_color = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetGraphicsHandlerUtility::getRect
|
|
||||||
* @param point
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
QRectF QetGraphicsHandlerUtility::getRect(const QPointF &point) const
|
|
||||||
{
|
|
||||||
qreal rect_size = m_size * m_zoom_factor;
|
|
||||||
QRectF rect(point.x() - rect_size/2, point.y() - rect_size/2, rect_size, rect_size);
|
|
||||||
return rect;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief QetGraphicsHandlerUtility::pointsForRect
|
* @brief QetGraphicsHandlerUtility::pointsForRect
|
||||||
@@ -169,7 +68,6 @@ QVector<QPointF> QetGraphicsHandlerUtility::pointsForLine(const QLineF &line) {
|
|||||||
return (QVector<QPointF> {line.p1(), line.p2()});
|
return (QVector<QPointF> {line.p1(), line.p2()});
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
/**
|
/**
|
||||||
* @brief QetGraphicsHandlerUtility::pointsForArc
|
* @brief QetGraphicsHandlerUtility::pointsForArc
|
||||||
* Return the points for the given arc.
|
* Return the points for the given arc.
|
||||||
|
|||||||
@@ -32,25 +32,6 @@ class QPainter;
|
|||||||
*/
|
*/
|
||||||
class QetGraphicsHandlerUtility
|
class QetGraphicsHandlerUtility
|
||||||
{
|
{
|
||||||
public:
|
|
||||||
QetGraphicsHandlerUtility (qreal size = 1);
|
|
||||||
void setSize(qreal size) {m_size = size;}
|
|
||||||
void drawHandler (QPainter *painter, const QPointF & point);
|
|
||||||
void drawHandler(QPainter *painter, const QVector<QPointF> &points);
|
|
||||||
QPointF posForHandler(const QPointF &point) const;
|
|
||||||
bool pointIsInHandler (const QPointF &point, const QPointF &key_point) const;
|
|
||||||
int pointIsHoverHandler (const QPointF &point, const QVector<QPointF> &vector) const;
|
|
||||||
QVector<QRectF> handlerRect (const QVector<QPointF> &vector) const;
|
|
||||||
void setInnerColor (QColor color);
|
|
||||||
void setOuterColor (QColor color);
|
|
||||||
|
|
||||||
private:
|
|
||||||
QRectF getRect (const QPointF &point) const;
|
|
||||||
qreal m_size;
|
|
||||||
qreal m_zoom_factor = 1;
|
|
||||||
QColor m_inner_color = Qt::white,
|
|
||||||
m_outer_color = Qt::blue;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static QVector <QPointF> pointsForRect (const QRectF &rect);
|
static QVector <QPointF> pointsForRect (const QRectF &rect);
|
||||||
static QVector <QPointF> pointsForLine (const QLineF &line);
|
static QVector <QPointF> pointsForLine (const QLineF &line);
|
||||||
|
|||||||
@@ -250,6 +250,7 @@ void ConductorProperties::toXml(QDomElement &e) const
|
|||||||
if (color != QColor(Qt::black))
|
if (color != QColor(Qt::black))
|
||||||
e.setAttribute("color", color.name());
|
e.setAttribute("color", color.name());
|
||||||
|
|
||||||
|
|
||||||
if (type == Single)
|
if (type == Single)
|
||||||
singleLineProperties.toXml(e);
|
singleLineProperties.toXml(e);
|
||||||
|
|
||||||
@@ -388,12 +389,14 @@ void ConductorProperties::setText(QString text) {
|
|||||||
*/
|
*/
|
||||||
void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> list)
|
void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> list)
|
||||||
{
|
{
|
||||||
if (list.isEmpty())
|
const QList<ConductorProperties> clist = list;
|
||||||
|
|
||||||
|
if (clist.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (list.size() == 1)
|
if (clist.size() == 1)
|
||||||
{
|
{
|
||||||
ConductorProperties cp = list.first();
|
ConductorProperties cp = clist.first();
|
||||||
color = cp.color;
|
color = cp.color;
|
||||||
text = cp.text;
|
text = cp.text;
|
||||||
m_formula = cp.m_formula;
|
m_formula = cp.m_formula;
|
||||||
@@ -410,9 +413,15 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool equal = true;
|
bool equal = true;
|
||||||
|
QColor c_value;
|
||||||
|
bool b_value;
|
||||||
|
QString s_value;
|
||||||
|
int i_value;
|
||||||
|
double d_value;
|
||||||
|
|
||||||
//Color
|
//Color
|
||||||
QColor c_value = list.first().color;
|
c_value = clist.first().color;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.color != c_value)
|
if (cp.color != c_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -422,8 +431,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//text
|
//text
|
||||||
QString s_value = list.first().text;
|
s_value = clist.first().text;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.text != s_value)
|
if (cp.text != s_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -433,8 +442,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//formula
|
//formula
|
||||||
s_value = list.first().m_formula;
|
s_value = clist.first().m_formula;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.m_formula != s_value)
|
if (cp.m_formula != s_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -444,8 +453,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//function
|
//function
|
||||||
s_value = list.first().m_function;
|
s_value = clist.first().m_function;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.m_function != s_value)
|
if (cp.m_function != s_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -455,8 +464,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//Tension protocol
|
//Tension protocol
|
||||||
s_value = list.first().m_tension_protocol;
|
s_value = clist.first().m_tension_protocol;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.m_tension_protocol != s_value)
|
if (cp.m_tension_protocol != s_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -466,8 +475,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//text size
|
//text size
|
||||||
int i_value = list.first().text_size;
|
i_value = clist.first().text_size;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.text_size != i_value)
|
if (cp.text_size != i_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -477,8 +486,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//conductor size
|
//conductor size
|
||||||
double d_value = list.first().cond_size;
|
d_value = clist.first().cond_size;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.cond_size != d_value)
|
if (cp.cond_size != d_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -488,8 +497,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//show text
|
//show text
|
||||||
bool b_value = list.first().m_show_text;
|
b_value = clist.first().m_show_text;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.m_show_text != b_value)
|
if (cp.m_show_text != b_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -499,8 +508,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//One text per folio
|
//One text per folio
|
||||||
b_value = list.first().m_one_text_per_folio;
|
b_value = clist.first().m_one_text_per_folio;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.m_one_text_per_folio != b_value)
|
if (cp.m_one_text_per_folio != b_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -510,8 +519,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//Text rotation for vertical conducor
|
//Text rotation for vertical conducor
|
||||||
d_value = list.first().verti_rotate_text;
|
d_value = clist.first().verti_rotate_text;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.verti_rotate_text != d_value)
|
if (cp.verti_rotate_text != d_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
@@ -521,8 +530,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
|
|||||||
equal = true;
|
equal = true;
|
||||||
|
|
||||||
//Text rotation for horizontal conducor
|
//Text rotation for horizontal conducor
|
||||||
d_value = list.first().horiz_rotate_text;
|
d_value = clist.first().horiz_rotate_text;
|
||||||
foreach(ConductorProperties cp, list)
|
for(ConductorProperties cp : clist)
|
||||||
{
|
{
|
||||||
if (cp.horiz_rotate_text != d_value)
|
if (cp.horiz_rotate_text != d_value)
|
||||||
equal = false;
|
equal = false;
|
||||||
|
|||||||
@@ -77,18 +77,25 @@ class ConductorProperties
|
|||||||
|
|
||||||
//Attributes
|
//Attributes
|
||||||
ConductorType type;
|
ConductorType type;
|
||||||
QColor color;
|
|
||||||
|
QColor color;
|
||||||
|
|
||||||
QString text,
|
QString text,
|
||||||
m_function,
|
m_function,
|
||||||
m_tension_protocol,
|
m_tension_protocol,
|
||||||
m_formula;
|
m_formula;
|
||||||
|
|
||||||
int text_size;
|
int text_size;
|
||||||
double cond_size;
|
|
||||||
double verti_rotate_text;
|
double cond_size,
|
||||||
double horiz_rotate_text;
|
verti_rotate_text,
|
||||||
bool m_show_text;
|
horiz_rotate_text;
|
||||||
bool m_one_text_per_folio;
|
|
||||||
|
bool m_show_text,
|
||||||
|
m_one_text_per_folio;
|
||||||
|
|
||||||
Qt::PenStyle style;
|
Qt::PenStyle style;
|
||||||
|
|
||||||
SingleLineProperties singleLineProperties;
|
SingleLineProperties singleLineProperties;
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
|
|||||||
@@ -91,30 +91,31 @@ Diagram::Diagram(QETProject *project) :
|
|||||||
* @brief Diagram::~Diagram
|
* @brief Diagram::~Diagram
|
||||||
* Destructor
|
* Destructor
|
||||||
*/
|
*/
|
||||||
Diagram::~Diagram()
|
Diagram::~Diagram() {
|
||||||
{
|
// clear undo stack to prevent errors, because contains pointers to this diagram and is elements.
|
||||||
//First clear every selection to close an hypothetical editor
|
|
||||||
clearSelection();
|
|
||||||
// clear undo stack to prevent errors, because contains pointers to this diagram and is elements.
|
|
||||||
undoStack().clear();
|
undoStack().clear();
|
||||||
//delete of QGIManager, every elements he knows are removed
|
//delete of QGIManager, every elements he knows are removed
|
||||||
delete qgi_manager_;
|
delete qgi_manager_;
|
||||||
// remove of conductor setter
|
// remove of conductor setter
|
||||||
delete conductor_setter_;
|
delete conductor_setter_;
|
||||||
|
|
||||||
// delete of object for manage movement
|
// delete of object for manage movement
|
||||||
delete elements_mover_;
|
delete elements_mover_;
|
||||||
delete element_texts_mover_;
|
delete element_texts_mover_;
|
||||||
|
|
||||||
if (m_event_interface)
|
if (m_event_interface) delete m_event_interface;
|
||||||
delete m_event_interface;
|
|
||||||
|
|
||||||
// list removable items
|
// list removable items
|
||||||
QList<QGraphicsItem *> deletable_items;
|
QList<QGraphicsItem *> deletable_items;
|
||||||
for(QGraphicsItem *qgi : items())
|
for(QGraphicsItem *qgi : items())
|
||||||
{
|
{
|
||||||
if (qgi -> parentItem()) continue;
|
if (qgi->parentItem())
|
||||||
if (qgraphicsitem_cast<Conductor *>(qgi)) continue;
|
continue;
|
||||||
|
if (qgi->type() == Conductor::Type)
|
||||||
|
continue;
|
||||||
|
if (qgi->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
continue;
|
||||||
|
|
||||||
deletable_items << qgi;
|
deletable_items << qgi;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -377,6 +378,8 @@ void Diagram::keyReleaseEvent(QKeyEvent *e)
|
|||||||
* Diagram become the ownership of event_interface
|
* Diagram become the ownership of event_interface
|
||||||
* If there is a previous interface, they will be delete before
|
* If there is a previous interface, they will be delete before
|
||||||
* and call init() to the new interface.
|
* and call init() to the new interface.
|
||||||
|
* The derivated class of DiagramEventInterface need to emit the signal "finish" when the job is done,
|
||||||
|
* diagram use this signal to delete the interface. If the signal isn't send, the interface will never be deleted.
|
||||||
* @param event_interface
|
* @param event_interface
|
||||||
*/
|
*/
|
||||||
void Diagram::setEventInterface(DiagramEventInterface *event_interface)
|
void Diagram::setEventInterface(DiagramEventInterface *event_interface)
|
||||||
|
|||||||
@@ -24,23 +24,24 @@
|
|||||||
#include <QGraphicsSceneHoverEvent>
|
#include <QGraphicsSceneHoverEvent>
|
||||||
#include <QStyleOptionGraphicsItem>
|
#include <QStyleOptionGraphicsItem>
|
||||||
#include <QGraphicsScene>
|
#include <QGraphicsScene>
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Constructor
|
Constructor
|
||||||
@param parent Parent QGraphicsItem
|
@param parent Parent QGraphicsItem
|
||||||
*/
|
*/
|
||||||
ElementPrimitiveDecorator::ElementPrimitiveDecorator(QGraphicsItem *parent):
|
ElementPrimitiveDecorator::ElementPrimitiveDecorator(QGraphicsItem *parent):
|
||||||
QGraphicsObject(parent),
|
QGraphicsObject(parent)
|
||||||
m_handler(10)
|
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
m_handler.setOuterColor(Qt::darkGreen);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Destructor
|
Destructor
|
||||||
*/
|
*/
|
||||||
ElementPrimitiveDecorator::~ElementPrimitiveDecorator() {
|
ElementPrimitiveDecorator::~ElementPrimitiveDecorator()
|
||||||
|
{
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,12 +69,7 @@ QRectF ElementPrimitiveDecorator::internalBoundingRect() const {
|
|||||||
*/
|
*/
|
||||||
QRectF ElementPrimitiveDecorator::boundingRect() const
|
QRectF ElementPrimitiveDecorator::boundingRect() const
|
||||||
{
|
{
|
||||||
QVector<QRectF> rect_vector = m_handler.handlerRect(getResizingsPoints());
|
return effective_bounding_rect_;
|
||||||
|
|
||||||
QRectF rect = effective_bounding_rect_;
|
|
||||||
rect |= rect_vector.first();
|
|
||||||
rect |= rect_vector.last();
|
|
||||||
return(rect);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -97,9 +93,6 @@ void ElementPrimitiveDecorator::paint(QPainter *painter, const QStyleOptionGraph
|
|||||||
painter -> setPen(pen);
|
painter -> setPen(pen);
|
||||||
painter -> drawRect(modified_bounding_rect_);
|
painter -> drawRect(modified_bounding_rect_);
|
||||||
|
|
||||||
//Draw the handlers
|
|
||||||
m_handler.drawHandler(painter, getResizingsPoints());
|
|
||||||
|
|
||||||
// uncomment to draw the real bouding rect (=adjusted internal bounding rect)
|
// uncomment to draw the real bouding rect (=adjusted internal bounding rect)
|
||||||
// painter -> setBrush(QBrush(QColor(240, 0, 0, 127)));
|
// painter -> setBrush(QBrush(QColor(240, 0, 0, 127)));
|
||||||
// painter -> drawRect(boundingRect());
|
// painter -> drawRect(boundingRect());
|
||||||
@@ -109,45 +102,28 @@ void ElementPrimitiveDecorator::paint(QPainter *painter, const QStyleOptionGraph
|
|||||||
/**
|
/**
|
||||||
@param items the new list of items this decorator is suposed to manipulate.
|
@param items the new list of items this decorator is suposed to manipulate.
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::setItems(const QList<CustomElementPart *> &items) {
|
void ElementPrimitiveDecorator::setItems(const QList<CustomElementPart *> &items)
|
||||||
if (CustomElementPart *single_item = singleItem()) {
|
{
|
||||||
if (items.count() == 1 && items.first() == single_item) {
|
|
||||||
// no actual change
|
|
||||||
goto end_setItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
// break any connection between the former single selected item (if any) and
|
|
||||||
// the decorator
|
|
||||||
single_item -> setDecorator(0);
|
|
||||||
if (QGraphicsObject *single_object = dynamic_cast<QGraphicsObject *>(single_item)) {
|
|
||||||
disconnect(single_object, 0, this, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
decorated_items_ = items;
|
decorated_items_ = items;
|
||||||
|
|
||||||
// when only a single primitive is selected, the decorator behaves specially
|
|
||||||
// to enable extra features, such as text edition, internal points movements,
|
|
||||||
// etc.
|
|
||||||
if (CustomElementPart *single_item = singleItem()) {
|
|
||||||
single_item -> setDecorator(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
end_setItems:
|
|
||||||
adjust();
|
adjust();
|
||||||
show();
|
show();
|
||||||
if (focusItem() != this) {
|
if (focusItem() != this) {
|
||||||
setFocus();
|
setFocus();
|
||||||
}
|
}
|
||||||
|
adjusteHandlerPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@param items the new list of items this decorator is suposed to manipulate.
|
@param items the new list of items this decorator is suposed to manipulate.
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::setItems(const QList<QGraphicsItem *> &items) {
|
void ElementPrimitiveDecorator::setItems(const QList<QGraphicsItem *> &items)
|
||||||
|
{
|
||||||
QList<CustomElementPart *> primitives;
|
QList<CustomElementPart *> primitives;
|
||||||
foreach (QGraphicsItem *item, items) {
|
for(QGraphicsItem *item : items)
|
||||||
if (CustomElementPart *part_item = dynamic_cast<CustomElementPart *>(item)) {
|
{
|
||||||
|
if (CustomElementPart *part_item = dynamic_cast<CustomElementPart *>(item))
|
||||||
|
{
|
||||||
primitives << part_item;
|
primitives << part_item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -178,96 +154,31 @@ QList<QGraphicsItem *> ElementPrimitiveDecorator::graphicsItems() const {
|
|||||||
Adjust the visual decorator according to the currently assigned items.
|
Adjust the visual decorator according to the currently assigned items.
|
||||||
It is notably called by setItems().
|
It is notably called by setItems().
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::adjust() {
|
void ElementPrimitiveDecorator::adjust()
|
||||||
|
{
|
||||||
saveOriginalBoundingRect();
|
saveOriginalBoundingRect();
|
||||||
modified_bounding_rect_ = original_bounding_rect_;
|
modified_bounding_rect_ = original_bounding_rect_;
|
||||||
adjustEffectiveBoundingRect();
|
adjustEffectiveBoundingRect();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
Handle events generated when the mouse hovers over the decorator.
|
|
||||||
@param event Object describing the hover event.
|
|
||||||
*/
|
|
||||||
void ElementPrimitiveDecorator::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
int p = m_handler.pointIsHoverHandler(event->pos(), getResizingsPoints());
|
|
||||||
|
|
||||||
if (p == 0 || p == 7)
|
|
||||||
setCursor(Qt::SizeFDiagCursor);
|
|
||||||
else if (p == 2 || p == 5)
|
|
||||||
setCursor(Qt::SizeBDiagCursor);
|
|
||||||
else if (p == 1 || p ==6)
|
|
||||||
setCursor(Qt::SizeVerCursor);
|
|
||||||
else if (p == 3 || p == 4)
|
|
||||||
setCursor(Qt::SizeHorCursor);
|
|
||||||
else if (p == -1 && modified_bounding_rect_.normalized().contains(event->pos()))
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else
|
|
||||||
setCursor(Qt::ArrowCursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Handle event generated when mouse buttons are pressed.
|
Handle event generated when mouse buttons are pressed.
|
||||||
@param event Object describing the mouse event
|
@param event Object describing the mouse event
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
void ElementPrimitiveDecorator::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
QPointF pos = event -> pos();
|
if (internalBoundingRect().contains(event->pos()))
|
||||||
QVector <QPointF> points = getResizingsPoints();
|
|
||||||
|
|
||||||
current_operation_square_ = m_handler.pointIsHoverHandler(pos, points);
|
|
||||||
bool accept = false;
|
|
||||||
|
|
||||||
if (current_operation_square_ != QET::NoOperation)
|
|
||||||
accept = true;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (internalBoundingRect().contains(pos))
|
current_operation_square_ = QET::MoveArea;
|
||||||
{
|
|
||||||
if (CustomElementPart *single_item = singleItem())
|
|
||||||
{
|
|
||||||
bool event_accepted = single_item -> singleItemPressEvent(this, event);
|
|
||||||
if (event_accepted)
|
|
||||||
{
|
|
||||||
event -> ignore();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
current_operation_square_ = QET::MoveArea;
|
|
||||||
accept = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (accept)
|
first_pos_ = decorated_items_.at(0) -> toItem() -> scenePos();
|
||||||
{
|
latest_pos_ = event -> scenePos();
|
||||||
if (current_operation_square_ > QET::NoOperation)
|
mouse_offset_ = event -> scenePos() - first_pos_;
|
||||||
first_pos_ = latest_pos_ = mapToScene(points.at(current_operation_square_));
|
|
||||||
else
|
|
||||||
{
|
|
||||||
first_pos_ = decorated_items_.at(0) -> toItem() -> scenePos();
|
|
||||||
latest_pos_ = event -> scenePos();
|
|
||||||
mouse_offset_ = event -> scenePos() - first_pos_;
|
|
||||||
}
|
|
||||||
startMovement();
|
startMovement();
|
||||||
event -> accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
event -> ignore();
|
event->ignore();
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Handle events generated when mouse buttons are double clicked.
|
|
||||||
@param event Object describing the mouse event
|
|
||||||
*/
|
|
||||||
void ElementPrimitiveDecorator::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
|
|
||||||
//QGraphicsObject::mouseDoubleClickEvent(event);
|
|
||||||
if (CustomElementPart *single_item = singleItem()) {
|
|
||||||
bool event_accepted = single_item -> singleItemDoubleClickEvent(this, event);
|
|
||||||
if (event_accepted) {
|
|
||||||
event -> ignore();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -280,70 +191,25 @@ void ElementPrimitiveDecorator::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
QPointF scene_pos = event -> scenePos();
|
QPointF scene_pos = event -> scenePos();
|
||||||
QPointF movement = scene_pos - latest_pos_;
|
QPointF movement = scene_pos - latest_pos_;
|
||||||
|
|
||||||
if (current_operation_square_ > QET::NoOperation) {
|
if (current_operation_square_ == QET::MoveArea)
|
||||||
// This is a scaling operation.
|
{
|
||||||
|
|
||||||
// For convenience purposes, we may need to adjust mouse movements.
|
|
||||||
QET::ScalingMethod scaling_method = scalingMethod(event);
|
|
||||||
if (scaling_method > QET::FreeScaling) {
|
|
||||||
// real, non-rounded movement from the mouse press event
|
|
||||||
QPointF global_movement = scene_pos - first_pos_;
|
|
||||||
|
|
||||||
QPointF rounded_global_movement;
|
|
||||||
if (scaling_method == QET::SnapScalingPointToGrid) {
|
|
||||||
// real, rounded movement from the mouse press event
|
|
||||||
rounded_global_movement = snapConstPointToGrid(global_movement);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
QRectF new_bounding_rect = original_bounding_rect_;
|
|
||||||
applyMovementToRect(current_operation_square_, global_movement, new_bounding_rect);
|
|
||||||
|
|
||||||
const qreal scale_epsilon = 20.0; // rounds to 0.05
|
|
||||||
QPointF delta = deltaForRoundScaling(original_bounding_rect_, new_bounding_rect, scale_epsilon);
|
|
||||||
|
|
||||||
// real, rounded movement from the mouse press event
|
|
||||||
rounded_global_movement = global_movement + delta;
|
|
||||||
}
|
|
||||||
|
|
||||||
// rounded position of the current mouse move event
|
|
||||||
QPointF rounded_scene_pos = first_pos_ + rounded_global_movement;
|
|
||||||
|
|
||||||
// when scaling the selection, consider the center of the currently dragged resizing rectangle
|
|
||||||
QPointF current_position = mapToScene(getResizingsPoints().at(current_operation_square_));
|
|
||||||
// determine the final, effective movement
|
|
||||||
movement = rounded_scene_pos - current_position;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (current_operation_square_ == QET::MoveArea) {
|
|
||||||
// When moving the selection, consider the position of the first selected item
|
// When moving the selection, consider the position of the first selected item
|
||||||
QPointF current_position = scene_pos - mouse_offset_;
|
QPointF current_position = scene_pos - mouse_offset_;
|
||||||
QPointF rounded_current_position = snapConstPointToGrid(current_position);
|
QPointF rounded_current_position = snapConstPointToGrid(current_position);
|
||||||
movement = rounded_current_position - decorated_items_.at(0) -> toItem() -> scenePos();
|
movement = rounded_current_position - decorated_items_.at(0) -> toItem() -> scenePos();
|
||||||
}
|
|
||||||
else {
|
QRectF bounding_rect = modified_bounding_rect_;
|
||||||
// Neither a movement nor a scaling operation -- perhaps the underlying item
|
applyMovementToRect(current_operation_square_, movement, modified_bounding_rect_);
|
||||||
// is interested in the mouse event for custom operations?
|
if (modified_bounding_rect_ != bounding_rect) {
|
||||||
if (CustomElementPart *single_item = singleItem()) {
|
adjustEffectiveBoundingRect();
|
||||||
bool event_accepted = single_item -> singleItemMoveEvent(this, event);
|
|
||||||
if (event_accepted) {
|
|
||||||
event -> ignore();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
latest_pos_ = event -> scenePos();
|
||||||
|
|
||||||
QRectF bounding_rect = modified_bounding_rect_;
|
|
||||||
applyMovementToRect(current_operation_square_, movement, modified_bounding_rect_);
|
|
||||||
if (modified_bounding_rect_ != bounding_rect) {
|
|
||||||
adjustEffectiveBoundingRect();
|
|
||||||
}
|
|
||||||
latest_pos_ = event -> scenePos();
|
|
||||||
|
|
||||||
if (current_operation_square_ == QET::MoveArea) {
|
|
||||||
translateItems(movement);
|
translateItems(movement);
|
||||||
} else {
|
|
||||||
scaleItems(original_bounding_rect_, modified_bounding_rect_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -352,39 +218,25 @@ void ElementPrimitiveDecorator::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
@param event Object describing the mouse event
|
@param event Object describing the mouse event
|
||||||
@see QGraphicsScene::mouseGrabberItem()
|
@see QGraphicsScene::mouseGrabberItem()
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
|
void ElementPrimitiveDecorator::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
Q_UNUSED(event)
|
Q_UNUSED(event)
|
||||||
|
|
||||||
ElementEditionCommand *command = 0;
|
ElementEditionCommand *command = 0;
|
||||||
if (current_operation_square_ > QET::NoOperation) {
|
|
||||||
ScalePartsCommand *scale_command = new ScalePartsCommand();
|
if (current_operation_square_ == QET::MoveArea)
|
||||||
scale_command -> setScaledPrimitives(items());
|
{
|
||||||
scale_command -> setTransformation(
|
|
||||||
mapToScene(original_bounding_rect_).boundingRect(),
|
|
||||||
mapToScene(modified_bounding_rect_).boundingRect()
|
|
||||||
);
|
|
||||||
command = scale_command;
|
|
||||||
} else if (current_operation_square_ == QET::MoveArea) {
|
|
||||||
QPointF movement = mapToScene(modified_bounding_rect_.topLeft()) - mapToScene(original_bounding_rect_.topLeft());
|
QPointF movement = mapToScene(modified_bounding_rect_.topLeft()) - mapToScene(original_bounding_rect_.topLeft());
|
||||||
if (!movement.isNull()) {
|
if (!movement.isNull())
|
||||||
|
{
|
||||||
MovePartsCommand *move_command = new MovePartsCommand(movement, 0, graphicsItems());
|
MovePartsCommand *move_command = new MovePartsCommand(movement, 0, graphicsItems());
|
||||||
command = move_command;
|
command = move_command;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (CustomElementPart *single_item = singleItem()) {
|
if (command) {
|
||||||
bool event_accepted = single_item -> singleItemReleaseEvent(this, event);
|
emit(actionFinished(command));
|
||||||
if (event_accepted) {
|
|
||||||
event -> ignore();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (command) {
|
|
||||||
emit(actionFinished(command));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (current_operation_square_ != QET::NoOperation) {
|
|
||||||
adjust();
|
adjust();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -440,7 +292,8 @@ void ElementPrimitiveDecorator::keyReleaseEvent(QKeyEvent *e) {
|
|||||||
/**
|
/**
|
||||||
Initialize an ElementPrimitiveDecorator
|
Initialize an ElementPrimitiveDecorator
|
||||||
*/
|
*/
|
||||||
void ElementPrimitiveDecorator::init() {
|
void ElementPrimitiveDecorator::init()
|
||||||
|
{
|
||||||
setFlag(QGraphicsItem::ItemIsFocusable, true);
|
setFlag(QGraphicsItem::ItemIsFocusable, true);
|
||||||
grid_step_x_ = grid_step_y_ = 1;
|
grid_step_x_ = grid_step_y_ = 1;
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
@@ -461,6 +314,7 @@ void ElementPrimitiveDecorator::adjustEffectiveBoundingRect() {
|
|||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
effective_bounding_rect_ = modified_bounding_rect_ | effective_bounding_rect_;
|
effective_bounding_rect_ = modified_bounding_rect_ | effective_bounding_rect_;
|
||||||
update();
|
update();
|
||||||
|
adjusteHandlerPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -592,6 +446,152 @@ QVector<QPointF> ElementPrimitiveDecorator::getResizingsPoints() const
|
|||||||
return vector;
|
return vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::adjusteHandlerPos
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
QVector <QPointF> points_vector = mapToScene(getResizingsPoints());
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
QVector <QPointF> points = getResizingsPoints();
|
||||||
|
|
||||||
|
current_operation_square_ = m_handler_vector.indexOf(qghi);
|
||||||
|
|
||||||
|
first_pos_ = latest_pos_ = mapToScene(points.at(current_operation_square_));
|
||||||
|
startMovement();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF scene_pos = event -> scenePos();
|
||||||
|
QPointF movement = scene_pos - latest_pos_;
|
||||||
|
|
||||||
|
// For convenience purposes, we may need to adjust mouse movements.
|
||||||
|
QET::ScalingMethod scaling_method = scalingMethod(event);
|
||||||
|
if (scaling_method > QET::FreeScaling)
|
||||||
|
{
|
||||||
|
// real, non-rounded movement from the mouse press event
|
||||||
|
QPointF global_movement = scene_pos - first_pos_;
|
||||||
|
|
||||||
|
QPointF rounded_global_movement;
|
||||||
|
if (scaling_method == QET::SnapScalingPointToGrid)
|
||||||
|
{
|
||||||
|
// real, rounded movement from the mouse press event
|
||||||
|
rounded_global_movement = snapConstPointToGrid(global_movement);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QRectF new_bounding_rect = original_bounding_rect_;
|
||||||
|
applyMovementToRect(current_operation_square_, global_movement, new_bounding_rect);
|
||||||
|
|
||||||
|
const qreal scale_epsilon = 20.0; // rounds to 0.05
|
||||||
|
QPointF delta = deltaForRoundScaling(original_bounding_rect_, new_bounding_rect, scale_epsilon);
|
||||||
|
|
||||||
|
// real, rounded movement from the mouse press event
|
||||||
|
rounded_global_movement = global_movement + delta;
|
||||||
|
}
|
||||||
|
|
||||||
|
// rounded position of the current mouse move event
|
||||||
|
QPointF rounded_scene_pos = first_pos_ + rounded_global_movement;
|
||||||
|
|
||||||
|
// when scaling the selection, consider the center of the currently dragged resizing rectangle
|
||||||
|
QPointF current_position = mapToScene(getResizingsPoints().at(current_operation_square_));
|
||||||
|
// determine the final, effective movement
|
||||||
|
movement = rounded_scene_pos - current_position;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRectF bounding_rect = modified_bounding_rect_;
|
||||||
|
applyMovementToRect(current_operation_square_, movement, modified_bounding_rect_);
|
||||||
|
if (modified_bounding_rect_ != bounding_rect) {
|
||||||
|
adjustEffectiveBoundingRect();
|
||||||
|
}
|
||||||
|
latest_pos_ = event -> scenePos();
|
||||||
|
scaleItems(original_bounding_rect_, modified_bounding_rect_);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
ElementEditionCommand *command = 0;
|
||||||
|
if (current_operation_square_ > QET::NoOperation)
|
||||||
|
{
|
||||||
|
ScalePartsCommand *scale_command = new ScalePartsCommand();
|
||||||
|
scale_command -> setScaledPrimitives(items());
|
||||||
|
scale_command -> setTransformation(
|
||||||
|
mapToScene(original_bounding_rect_).boundingRect(),
|
||||||
|
mapToScene(modified_bounding_rect_).boundingRect()
|
||||||
|
);
|
||||||
|
command = scale_command;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (command) {
|
||||||
|
emit(actionFinished(command));
|
||||||
|
}
|
||||||
|
|
||||||
|
adjust();
|
||||||
|
|
||||||
|
current_operation_square_ = QET::NoOperation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapFromScene(getResizingsPoints()));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->setColor(Qt::darkGreen);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void ElementPrimitiveDecorator::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Receive two rects, assuming they share a common corner and current is a \a
|
Receive two rects, assuming they share a common corner and current is a \a
|
||||||
scaled version of \a original.
|
scaled version of \a original.
|
||||||
@@ -661,3 +661,73 @@ QET::ScalingMethod ElementPrimitiveDecorator::scalingMethod(QGraphicsSceneMouseE
|
|||||||
}
|
}
|
||||||
return QET::RoundScaleRatios;
|
return QET::RoundScaleRatios;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::itemChange
|
||||||
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant ElementPrimitiveDecorator::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
|
{
|
||||||
|
if (change == ItemSceneHasChanged)
|
||||||
|
{
|
||||||
|
if(scene()) //Item is added to scene, we also add handlers
|
||||||
|
addHandler();
|
||||||
|
else //Item is removed from scene, we also remove the handlers
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
else if (change == ItemVisibleHasChanged)
|
||||||
|
{
|
||||||
|
bool visible = value.toBool();
|
||||||
|
for(QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setVisible(visible);
|
||||||
|
}
|
||||||
|
else if (change == ItemZValueHasChanged && !m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsObject::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ElementPrimitiveDecorator::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool ElementPrimitiveDecorator::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,11 +20,11 @@
|
|||||||
|
|
||||||
#include <QGraphicsObject>
|
#include <QGraphicsObject>
|
||||||
#include "qet.h"
|
#include "qet.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
class ElementEditionCommand;
|
class ElementEditionCommand;
|
||||||
class ElementScene;
|
class ElementScene;
|
||||||
class CustomElementPart;
|
class CustomElementPart;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This class represents a decorator rendered above selected items so users
|
This class represents a decorator rendered above selected items so users
|
||||||
@@ -42,73 +42,85 @@ class ElementPrimitiveDecorator : public QGraphicsObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ElementPrimitiveDecorator(QGraphicsItem * = 0);
|
ElementPrimitiveDecorator(QGraphicsItem * = 0);
|
||||||
virtual ~ElementPrimitiveDecorator();
|
virtual ~ElementPrimitiveDecorator();
|
||||||
|
|
||||||
enum { Type = UserType + 2200 };
|
enum { Type = UserType + 2200 };
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
QRectF internalBoundingRect() const;
|
QRectF internalBoundingRect() const;
|
||||||
virtual QRectF boundingRect () const;
|
virtual QRectF boundingRect () const;
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
void setItems(const QList<QGraphicsItem *> &);
|
void setItems(const QList<QGraphicsItem *> &);
|
||||||
void setItems(const QList<CustomElementPart *> &);
|
void setItems(const QList<CustomElementPart *> &);
|
||||||
QList<CustomElementPart *> items() const;
|
QList<CustomElementPart *> items() const;
|
||||||
QList<QGraphicsItem *> graphicsItems() const;
|
QList<QGraphicsItem *> graphicsItems() const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void adjust();
|
void adjust();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void actionFinished(ElementEditionCommand *);
|
void actionFinished(ElementEditionCommand *);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void hoverMoveEvent(QGraphicsSceneHoverEvent *);
|
void mousePressEvent(QGraphicsSceneMouseEvent *);
|
||||||
void mousePressEvent(QGraphicsSceneMouseEvent *);
|
void mouseMoveEvent(QGraphicsSceneMouseEvent *);
|
||||||
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
|
void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
|
||||||
void mouseMoveEvent(QGraphicsSceneMouseEvent *);
|
void keyPressEvent(QKeyEvent *);
|
||||||
void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
|
void keyReleaseEvent(QKeyEvent *);
|
||||||
void keyPressEvent(QKeyEvent *);
|
QPointF deltaForRoundScaling(const QRectF &, const QRectF &, qreal);
|
||||||
void keyReleaseEvent(QKeyEvent *);
|
QPointF snapConstPointToGrid(const QPointF &) const;
|
||||||
QPointF deltaForRoundScaling(const QRectF &, const QRectF &, qreal);
|
void snapPointToGrid(QPointF &) const;
|
||||||
QPointF snapConstPointToGrid(const QPointF &) const;
|
bool mustSnapToGrid(QGraphicsSceneMouseEvent *);
|
||||||
void snapPointToGrid(QPointF &) const;
|
QET::ScalingMethod scalingMethod(QGraphicsSceneMouseEvent *);
|
||||||
bool mustSnapToGrid(QGraphicsSceneMouseEvent *);
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
QET::ScalingMethod scalingMethod(QGraphicsSceneMouseEvent *);
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init();
|
void init();
|
||||||
void saveOriginalBoundingRect();
|
void saveOriginalBoundingRect();
|
||||||
void adjustEffectiveBoundingRect();
|
void adjustEffectiveBoundingRect();
|
||||||
void startMovement();
|
void startMovement();
|
||||||
void applyMovementToRect(int, const QPointF &, QRectF &);
|
void applyMovementToRect(int, const QPointF &, QRectF &);
|
||||||
CustomElementPart *singleItem() const;
|
CustomElementPart *singleItem() const;
|
||||||
void translateItems(const QPointF &);
|
void translateItems(const QPointF &);
|
||||||
void scaleItems(const QRectF &, const QRectF &);
|
void scaleItems(const QRectF &, const QRectF &);
|
||||||
QRectF getSceneBoundingRect(QGraphicsItem *) const;
|
QRectF getSceneBoundingRect(QGraphicsItem *) const;
|
||||||
QVector <QPointF> getResizingsPoints() const;
|
QVector <QPointF> getResizingsPoints() const;
|
||||||
|
|
||||||
|
|
||||||
// attributes
|
|
||||||
private:
|
private:
|
||||||
QList<CustomElementPart *> decorated_items_;
|
void adjusteHandlerPos();
|
||||||
QRectF effective_bounding_rect_; ///< actual, effective bounding rect -- never shrinks
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
QRectF original_bounding_rect_; ///< original bounding rect
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
QRectF modified_bounding_rect_; ///< new bounding rect, after the user moved or resized items
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
|
||||||
/**
|
void addHandler();
|
||||||
Index of the square leading the current operation (resizing, etc.) or -1 if no
|
void removeHandler();
|
||||||
operation is occurring, -2 for a move operation.
|
|
||||||
*/
|
|
||||||
int current_operation_square_;
|
|
||||||
int grid_step_x_; ///< Grid horizontal step
|
|
||||||
int grid_step_y_; ///< Grid horizontal step
|
QList<CustomElementPart *> decorated_items_;
|
||||||
QPointF first_pos_; ///< First point involved within the current resizing operation
|
QRectF effective_bounding_rect_; ///< actual, effective bounding rect -- never shrinks
|
||||||
QPointF latest_pos_; ///< Latest point involved within the current resizing operation
|
QRectF original_bounding_rect_; ///< original bounding rect
|
||||||
QPointF mouse_offset_; ///< Offset between the mouse position and the point to be snapped to grid when moving selection
|
QRectF modified_bounding_rect_; ///< new bounding rect, after the user moved or resized items
|
||||||
bool moving_by_keys_; ///< Whether we are currently moving our decorated items using the arrow keys
|
|
||||||
QPointF keys_movement_; ///< Movement applied to our decorated items using the arrow keys
|
/**
|
||||||
QetGraphicsHandlerUtility m_handler;
|
Index of the square leading the current operation (resizing, etc.) or -1 if no
|
||||||
|
operation is occurring, -2 for a move operation.
|
||||||
|
*/
|
||||||
|
int current_operation_square_;
|
||||||
|
int grid_step_x_; ///< Grid horizontal step
|
||||||
|
int grid_step_y_; ///< Grid horizontal step
|
||||||
|
QPointF first_pos_; ///< First point involved within the current resizing operation
|
||||||
|
QPointF latest_pos_; ///< Latest point involved within the current resizing operation
|
||||||
|
QPointF mouse_offset_; ///< Offset between the mouse position and the point to be snapped to grid when moving selection
|
||||||
|
bool moving_by_keys_; ///< Whether we are currently moving our decorated items using the arrow keys
|
||||||
|
QPointF keys_movement_; ///< Movement applied to our decorated items using the arrow keys
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
|
int m_vector_index = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -32,8 +32,9 @@
|
|||||||
#include "nameslist.h"
|
#include "nameslist.h"
|
||||||
#include "ui/elementpropertieseditorwidget.h"
|
#include "ui/elementpropertieseditorwidget.h"
|
||||||
#include "eseventinterface.h"
|
#include "eseventinterface.h"
|
||||||
#include <algorithm>
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -524,27 +525,45 @@ QETElementEditor* ElementScene::editor() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Selectionne une liste de parties
|
* @brief ElementScene::slot_select
|
||||||
@param content liste des parties a selectionner
|
* Select the item in content, every others items in the scene are deselected
|
||||||
*/
|
* @param content
|
||||||
void ElementScene::slot_select(const ElementContent &content) {
|
*/
|
||||||
|
void ElementScene::slot_select(const ElementContent &content)
|
||||||
|
{
|
||||||
blockSignals(true);
|
blockSignals(true);
|
||||||
|
|
||||||
|
//Befor clear selection, we must to remove the handlers items in @content,
|
||||||
|
//because if in @content there are a selected item, but also its handlers items,
|
||||||
|
//When item is deselected, the item delete its handlers items,
|
||||||
|
//then handlers in content doesn't exist anymore and cause segfault
|
||||||
|
QList<QGraphicsItem*> items_list;
|
||||||
|
for (QGraphicsItem *qgi : content)
|
||||||
|
{
|
||||||
|
if(qgi->type() != QetGraphicsHandlerItem::Type)
|
||||||
|
items_list << qgi;
|
||||||
|
}
|
||||||
clearSelection();
|
clearSelection();
|
||||||
foreach(QGraphicsItem *qgi, content) qgi -> setSelected(true);
|
|
||||||
|
foreach(QGraphicsItem *qgi, items_list)
|
||||||
|
qgi -> setSelected(true);
|
||||||
|
|
||||||
blockSignals(false);
|
blockSignals(false);
|
||||||
emit(selectionChanged());
|
emit(selectionChanged());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Selectionne tout
|
* @brief ElementScene::slot_selectAll
|
||||||
*/
|
* Select all items
|
||||||
|
*/
|
||||||
void ElementScene::slot_selectAll() {
|
void ElementScene::slot_selectAll() {
|
||||||
slot_select(items());
|
slot_select(items());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Deselectionne tout
|
* @brief ElementScene::slot_deselectAll
|
||||||
*/
|
* deselect all item
|
||||||
|
*/
|
||||||
void ElementScene::slot_deselectAll() {
|
void ElementScene::slot_deselectAll() {
|
||||||
slot_select(ElementContent());
|
slot_select(ElementContent());
|
||||||
}
|
}
|
||||||
@@ -811,7 +830,15 @@ void ElementScene::reset()
|
|||||||
clearSelection();
|
clearSelection();
|
||||||
undoStack().clear();
|
undoStack().clear();
|
||||||
|
|
||||||
foreach (QGraphicsItem *qgi, items())
|
//We don't add handlers, because it's the role of the primitive or decorator to remove it.
|
||||||
|
QList<QGraphicsItem*> items_list;
|
||||||
|
for (QGraphicsItem *qgi : items())
|
||||||
|
{
|
||||||
|
if(qgi->type() != QetGraphicsHandlerItem::Type)
|
||||||
|
items_list << qgi;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (QGraphicsItem *qgi : items_list)
|
||||||
{
|
{
|
||||||
removeItem(qgi);
|
removeItem(qgi);
|
||||||
qgiManager().release(qgi);
|
qgiManager().release(qgi);
|
||||||
@@ -1064,14 +1091,17 @@ void ElementScene::managePrimitivesGroups()
|
|||||||
|
|
||||||
// should we hide the decorator?
|
// should we hide the decorator?
|
||||||
QList<QGraphicsItem *> selected_items = zItems(ElementScene::Selected | ElementScene::IncludeTerminals);
|
QList<QGraphicsItem *> selected_items = zItems(ElementScene::Selected | ElementScene::IncludeTerminals);
|
||||||
if (selected_items.size() == 0)
|
if (selected_items.size() <= 1)
|
||||||
|
{
|
||||||
m_decorator -> hide();
|
m_decorator -> hide();
|
||||||
else if (selected_items.size() == 1 &&
|
}
|
||||||
selected_items.first()->type() != PartText::Type &&
|
|
||||||
selected_items.first()->type() != PartTextField::Type)
|
|
||||||
m_decorator->hide();
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
for(QGraphicsItem *qgi : selected_items)
|
||||||
|
{
|
||||||
|
//We recall set selected, then every primitive will remove there handler because there are several item selected
|
||||||
|
qgi->setSelected(true);
|
||||||
|
}
|
||||||
m_decorator -> setZValue(1000000);
|
m_decorator -> setZValue(1000000);
|
||||||
m_decorator -> setPos(0, 0);
|
m_decorator -> setPos(0, 0);
|
||||||
m_decorator -> setItems(selected_items);
|
m_decorator -> setItems(selected_items);
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class ElementScene : public QGraphicsScene
|
|||||||
NonSelected = 16,
|
NonSelected = 16,
|
||||||
SelectedOrNot = 24
|
SelectedOrNot = 24
|
||||||
};
|
};
|
||||||
Q_DECLARE_FLAGS(ItemOptions, ItemOption)
|
Q_DECLARE_FLAGS(ItemOptions, ItemOption)
|
||||||
|
|
||||||
// constructors, destructor
|
// constructors, destructor
|
||||||
public:
|
public:
|
||||||
@@ -82,7 +82,7 @@ class ElementScene : public QGraphicsScene
|
|||||||
QETElementEditor *m_element_editor = nullptr;
|
QETElementEditor *m_element_editor = nullptr;
|
||||||
|
|
||||||
/// Variables to manage the paste area on the scene
|
/// Variables to manage the paste area on the scene
|
||||||
QGraphicsRectItem *m_paste_area = nullptr;
|
QGraphicsRectItem *m_paste_area;
|
||||||
QRectF m_defined_paste_area;
|
QRectF m_defined_paste_area;
|
||||||
|
|
||||||
/// Variables to handle copy/paste with offset
|
/// Variables to handle copy/paste with offset
|
||||||
@@ -168,15 +168,15 @@ class ElementScene : public QGraphicsScene
|
|||||||
void stackAction(ElementEditionCommand *);
|
void stackAction(ElementEditionCommand *);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
/// Signal emitted after one or several parts were added
|
/// Signal emitted after one or several parts were added
|
||||||
void partsAdded();
|
void partsAdded();
|
||||||
/// Signal emitted after one or several parts were removed
|
/// Signal emitted after one or several parts were removed
|
||||||
void partsRemoved();
|
void partsRemoved();
|
||||||
/// Signal emitted when the zValue of one or several parts change
|
/// Signal emitted when the zValue of one or several parts change
|
||||||
void partsZValueChanged();
|
void partsZValueChanged();
|
||||||
/// Signal emitted when users have defined the copy/paste area
|
/// Signal emitted when users have defined the copy/paste area
|
||||||
void pasteAreaDefined(const QRectF &);
|
void pasteAreaDefined(const QRectF &);
|
||||||
/// Signal emitted when need zoomFit
|
/// Signal emitted when need zoomFit
|
||||||
void needZoomFit();
|
void needZoomFit();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ void AbstractPartEllipse::setRect(const QRectF &rect)
|
|||||||
if (rect == m_rect) return;
|
if (rect == m_rect) return;
|
||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_rect = rect;
|
m_rect = rect;
|
||||||
|
|
||||||
emit rectChanged();
|
emit rectChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
#include "customelementgraphicpart.h"
|
#include "customelementgraphicpart.h"
|
||||||
|
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The AbstractPartEllipse class
|
* @brief The AbstractPartEllipse class
|
||||||
* This is the base class for all ellipse based item like ellipse, circle, arc.
|
* This is the base class for all ellipse based item like ellipse, circle, arc.
|
||||||
@@ -61,20 +63,21 @@ class AbstractPartEllipse : public CustomElementGraphicPart
|
|||||||
virtual QPointF sceneTopLeft() const;
|
virtual QPointF sceneTopLeft() const;
|
||||||
|
|
||||||
QRectF rect() const;
|
QRectF rect() const;
|
||||||
void setRect (const QRectF &rect);
|
virtual void setRect (const QRectF &rect);
|
||||||
virtual bool isUseless() const;
|
virtual bool isUseless() const;
|
||||||
|
|
||||||
int startAngle() const {return m_start_angle;}
|
int startAngle() const {return m_start_angle;}
|
||||||
void setStartAngle (const int &start_angle);
|
virtual void setStartAngle (const int &start_angle);
|
||||||
|
|
||||||
int spanAngle () const {return m_span_angle;}
|
int spanAngle () const {return m_span_angle;}
|
||||||
void setSpanAngle (const int &span_angle);
|
virtual void setSpanAngle (const int &span_angle);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QList<QPointF> saved_points_;
|
QList<QPointF> saved_points_;
|
||||||
QRectF m_rect;
|
QRectF m_rect;
|
||||||
qreal m_start_angle;
|
qreal m_start_angle;
|
||||||
qreal m_span_angle;
|
qreal m_span_angle;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ABSTRACTPARTELLIPSE_H
|
#endif // ABSTRACTPARTELLIPSE_H
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ class CustomElementGraphicPart : public QGraphicsObject, public CustomElementPar
|
|||||||
Filling _filling ;
|
Filling _filling ;
|
||||||
Color _color;
|
Color _color;
|
||||||
bool _antialiased;
|
bool _antialiased;
|
||||||
QPointF m_origin_pos, m_mouse_to_origin_pos;
|
QPointF m_origin_pos;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef CustomElementGraphicPart CEGP;
|
typedef CustomElementGraphicPart CEGP;
|
||||||
|
|||||||
@@ -49,16 +49,6 @@ QGraphicsItem *CustomElementPart::toItem() {
|
|||||||
return(dynamic_cast<QGraphicsItem *>(this));
|
return(dynamic_cast<QGraphicsItem *>(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
This method is called by the decorator when it manages only a single
|
|
||||||
primitive. This brings the possibility to implement custom behaviour, such
|
|
||||||
as text edition, points edition or specific resizing.
|
|
||||||
The default implementation does nothing.
|
|
||||||
*/
|
|
||||||
void CustomElementPart::setDecorator(ElementPrimitiveDecorator *decorator) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This method is called by the decorator when it needs to determine the best
|
This method is called by the decorator when it needs to determine the best
|
||||||
way to interactively scale a primitive. It is typically called when only a
|
way to interactively scale a primitive. It is typically called when only a
|
||||||
@@ -70,46 +60,6 @@ QET::ScalingMethod CustomElementPart::preferredScalingMethod() const {
|
|||||||
return(QET::SnapScalingPointToGrid);
|
return(QET::SnapScalingPointToGrid);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
This method is called by the decorator when it manages only a single
|
|
||||||
primitive and it received a mouse press event.
|
|
||||||
The implementation should return true if the primitive accepts the event, false otherwise.
|
|
||||||
The default implementation returns false.
|
|
||||||
*/
|
|
||||||
bool CustomElementPart::singleItemPressEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *) {
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This method is called by the decorator when it manages only a single
|
|
||||||
primitive and it received a mouse move event.
|
|
||||||
The implementation should return true if the primitive accepts the event, false otherwise.
|
|
||||||
The default implementation returns false.
|
|
||||||
*/
|
|
||||||
bool CustomElementPart::singleItemMoveEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *) {
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This method is called by the decorator when it manages only a single
|
|
||||||
primitive and it received a mouse release event.
|
|
||||||
The implementation should return true if the primitive accepts the event, false otherwise.
|
|
||||||
The default implementation returns false.
|
|
||||||
*/
|
|
||||||
bool CustomElementPart::singleItemReleaseEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *) {
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
This method is called by the decorator when it manages only a single
|
|
||||||
primitive and it received a mouse double click event.
|
|
||||||
The implementation should return true if the primitive accepts the event, false otherwise.
|
|
||||||
The default implementation returns false.
|
|
||||||
*/
|
|
||||||
bool CustomElementPart::singleItemDoubleClickEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *) {
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Helper method to map points in CustomElementPart::handleUserTransformation()
|
Helper method to map points in CustomElementPart::handleUserTransformation()
|
||||||
@param initial_selection_rect Selection rectangle when the movement started, in scene coordinates
|
@param initial_selection_rect Selection rectangle when the movement started, in scene coordinates
|
||||||
|
|||||||
@@ -103,12 +103,7 @@ class CustomElementPart {
|
|||||||
|
|
||||||
virtual QGraphicsItem *toItem();
|
virtual QGraphicsItem *toItem();
|
||||||
|
|
||||||
virtual void setDecorator(ElementPrimitiveDecorator *);
|
|
||||||
virtual QET::ScalingMethod preferredScalingMethod() const;
|
virtual QET::ScalingMethod preferredScalingMethod() const;
|
||||||
virtual bool singleItemPressEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemMoveEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemReleaseEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemDoubleClickEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QList<QPointF> mapPoints(const QRectF &, const QRectF &, const QList<QPointF> &);
|
QList<QPointF> mapPoints(const QRectF &, const QRectF &, const QList<QPointF> &);
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
#include "partarc.h"
|
#include "partarc.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,8 +39,10 @@ PartArc::PartArc(QETElementEditor *editor, QGraphicsItem *parent) :
|
|||||||
* @brief PartArc::~PartArc
|
* @brief PartArc::~PartArc
|
||||||
* Destructor
|
* Destructor
|
||||||
*/
|
*/
|
||||||
PartArc::~PartArc() {
|
PartArc::~PartArc()
|
||||||
|
{
|
||||||
if(m_undo_command) delete m_undo_command;
|
if(m_undo_command) delete m_undo_command;
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -82,15 +86,7 @@ void PartArc::paint(QPainter *painter, const QStyleOptionGraphicsItem *options,
|
|||||||
drawShadowShape(painter);
|
drawShadowShape(painter);
|
||||||
|
|
||||||
if (isSelected())
|
if (isSelected())
|
||||||
{
|
|
||||||
drawCross(m_rect.center(), painter);
|
drawCross(m_rect.center(), painter);
|
||||||
if (scene()->selectedItems().size() == 1) {
|
|
||||||
if (m_resize_mode == 3)
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForArc(m_rect, m_start_angle /16, m_span_angle /16));
|
|
||||||
else
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForRect(m_rect));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,16 +125,6 @@ void PartArc::fromXml(const QDomElement &qde) {
|
|||||||
m_span_angle = qde.attribute("angle", "-1440").toDouble() * 16;
|
m_span_angle = qde.attribute("angle", "-1440").toDouble() * 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF PartArc::boundingRect() const
|
|
||||||
{
|
|
||||||
QRectF r = AbstractPartEllipse::boundingRect();
|
|
||||||
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
r |= rect;
|
|
||||||
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartArc::shape
|
* @brief PartArc::shape
|
||||||
* @return the shape of this item
|
* @return the shape of this item
|
||||||
@@ -153,10 +139,6 @@ QPainterPath PartArc::shape() const
|
|||||||
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
||||||
shape = pps.createStroke(shape);
|
shape = pps.createStroke(shape);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
shape.addRect(rect);
|
|
||||||
|
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,135 +154,6 @@ QPainterPath PartArc::shadowShape() const
|
|||||||
return (pps.createStroke(shape));
|
return (pps.createStroke(shape));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartArc::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
if (!isSelected())
|
|
||||||
{
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_resize_mode == 1 || m_resize_mode == 2) {
|
|
||||||
int handler = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if (handler >= 0)
|
|
||||||
{
|
|
||||||
if (handler == 0 || handler == 2 || handler == 5 || handler == 7)
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else if (handler == 1 || handler == 6)
|
|
||||||
setCursor(Qt::SizeVerCursor);
|
|
||||||
else if (handler == 3 || handler == 4)
|
|
||||||
setCursor(Qt::SizeHorCursor);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (m_resize_mode == 3) {
|
|
||||||
if (m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForArc(m_rect, m_start_angle /16, m_span_angle /16)) >= 0) {
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartArc::mousePressEvent
|
|
||||||
* Handle mouse press event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartArc::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (event->button() == Qt::LeftButton)
|
|
||||||
{
|
|
||||||
setCursor(Qt::ClosedHandCursor);
|
|
||||||
if (isSelected())
|
|
||||||
{
|
|
||||||
//resize rect
|
|
||||||
if (m_resize_mode == 1 || m_resize_mode == 2) {
|
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 7) //User click on an handler
|
|
||||||
{
|
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
|
||||||
m_undo_command->setText(tr("Modifier un arc"));
|
|
||||||
m_undo_command->enableAnimation();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//resize angle
|
|
||||||
if (m_resize_mode == 3) {
|
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForArc(m_rect, m_start_angle /16, m_span_angle /16));
|
|
||||||
if (m_handler_index == 0) {
|
|
||||||
m_span_point = m_handler.pointsForArc(m_rect, m_start_angle /16, m_span_angle /16).at(1);
|
|
||||||
|
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "startAngle", QVariant(m_start_angle));
|
|
||||||
m_undo_command->setText(tr("Modifier un arc"));
|
|
||||||
m_undo_command->enableAnimation();
|
|
||||||
|
|
||||||
m_undo_command2 = new QPropertyUndoCommand(this, "spanAngle", QVariant(m_span_angle), m_undo_command);
|
|
||||||
m_undo_command2->setText(tr("Modifier un arc"));
|
|
||||||
m_undo_command2->enableAnimation();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (m_handler_index == 1) {
|
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "spanAngle", QVariant(m_span_angle));
|
|
||||||
m_undo_command->setText(tr("Modifier un arc"));
|
|
||||||
m_undo_command->enableAnimation();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CustomElementGraphicPart::mousePressEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartArc::mouseMoveEvent
|
|
||||||
* Handle mouse move event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartArc::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (m_resize_mode == 1 || m_resize_mode == 2) {
|
|
||||||
if (m_handler_index >= 0 && m_handler_index <= 7) {
|
|
||||||
QPointF pos_ = event->modifiers() == Qt::ControlModifier ? event->pos() : mapFromScene(elementScene()->snapToGrid(event->scenePos()));
|
|
||||||
prepareGeometryChange();
|
|
||||||
|
|
||||||
if (m_resize_mode == 1)
|
|
||||||
setRect(m_handler.rectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
else
|
|
||||||
setRect(m_handler.mirrorRectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (m_resize_mode == 3) {
|
|
||||||
if (m_handler_index == 0 || m_handler_index == 1) {
|
|
||||||
QLineF line(m_rect.center(), event->pos());
|
|
||||||
prepareGeometryChange();
|
|
||||||
|
|
||||||
if (m_handler_index == 0) {
|
|
||||||
setStartAngle(line.angle()*16);
|
|
||||||
setSpanAngle(line.angleTo(QLineF(m_rect.center(), m_span_point))*16);
|
|
||||||
}
|
|
||||||
else if (m_handler_index == 1) {
|
|
||||||
QLineF line2(m_rect.center(), m_handler.pointsForArc(m_rect, m_start_angle/16, m_span_angle/16).at(0));
|
|
||||||
setSpanAngle (line2.angleTo(line)*16);
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CustomElementGraphicPart::mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartArc::mouseReleaseEvent
|
* @brief PartArc::mouseReleaseEvent
|
||||||
* Handle mouse release event
|
* Handle mouse release event
|
||||||
@@ -308,59 +161,317 @@ void PartArc::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
*/
|
*/
|
||||||
void PartArc::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartArc::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton && event->buttonDownPos(Qt::LeftButton) == event->pos())
|
||||||
setCursor(Qt::OpenHandCursor);
|
switchResizeMode();
|
||||||
if (event->buttonDownPos(Qt::LeftButton) == event->pos())
|
|
||||||
switchResizeMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_resize_mode == 1 || m_resize_mode == 2) {
|
CustomElementGraphicPart::mouseReleaseEvent(event);
|
||||||
if (m_handler_index >= 0 && m_handler_index <= 7) {
|
}
|
||||||
if (!m_rect.isValid())
|
|
||||||
m_rect = m_rect.normalized();
|
|
||||||
|
|
||||||
m_undo_command->setNewValue(QVariant(m_rect));
|
/**
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
* @brief PartArc::itemChange
|
||||||
m_undo_command = nullptr;
|
* @param change
|
||||||
m_handler_index = -1;
|
* @param value
|
||||||
return;
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant PartArc::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
|
{
|
||||||
|
if (change == ItemSelectedHasChanged && scene())
|
||||||
|
{
|
||||||
|
if (value.toBool() == true)
|
||||||
|
{
|
||||||
|
//When item is selected, he must to be up to date whene the selection in the scene change, for display or not the handler,
|
||||||
|
//according to the number of selected items.
|
||||||
|
connect(scene(), &QGraphicsScene::selectionChanged, this, &PartArc::sceneSelectionChanged);
|
||||||
|
|
||||||
|
if (scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartArc::sceneSelectionChanged);
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m_resize_mode == 3) {
|
else if (change == ItemPositionHasChanged)
|
||||||
if (m_handler_index == 0) {
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneChange)
|
||||||
|
{
|
||||||
|
if(scene())
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartArc::sceneSelectionChanged);
|
||||||
|
|
||||||
|
setSelected(false); //This is item removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsItem::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool PartArc::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::switchResizeMode
|
||||||
|
*/
|
||||||
|
void PartArc::switchResizeMode()
|
||||||
|
{
|
||||||
|
if (m_resize_mode == 1)
|
||||||
|
{
|
||||||
|
m_resize_mode = 2;
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::darkGreen);
|
||||||
|
}
|
||||||
|
else if (m_resize_mode == 2)
|
||||||
|
{
|
||||||
|
m_resize_mode = 3;
|
||||||
|
|
||||||
|
//From rect mode to angle mode, then numbers of handlers change
|
||||||
|
removeHandler();
|
||||||
|
addHandler();
|
||||||
|
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::magenta);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_resize_mode = 1;
|
||||||
|
|
||||||
|
//From angle mode to rect mode, then numbers of handlers change
|
||||||
|
removeHandler();
|
||||||
|
addHandler();
|
||||||
|
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::blue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::adjusteHandlerPos
|
||||||
|
*/
|
||||||
|
void PartArc::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QVector <QPointF> points_vector;
|
||||||
|
|
||||||
|
if(m_resize_mode == 3)
|
||||||
|
points_vector = QetGraphicsHandlerUtility::pointsForArc(m_rect, m_start_angle/16, m_span_angle/16);
|
||||||
|
else
|
||||||
|
points_vector = QetGraphicsHandlerUtility::pointsForRect(m_rect);
|
||||||
|
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == points_vector.size())
|
||||||
|
{
|
||||||
|
points_vector = mapToScene(points_vector);
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartArc::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
if (m_resize_mode == 3) //Resize angle
|
||||||
|
{
|
||||||
|
if (m_vector_index == 0)
|
||||||
|
{
|
||||||
|
m_span_point = QetGraphicsHandlerUtility::pointsForArc(m_rect, m_start_angle /16, m_span_angle /16).at(1);
|
||||||
|
|
||||||
|
m_undo_command = new QPropertyUndoCommand(this, "startAngle", QVariant(m_start_angle));
|
||||||
|
m_undo_command->setText(tr("Modifier un arc"));
|
||||||
|
m_undo_command->enableAnimation();
|
||||||
|
|
||||||
|
m_undo_command2 = new QPropertyUndoCommand(this, "spanAngle", QVariant(m_span_angle), m_undo_command);
|
||||||
|
m_undo_command2->setText(tr("Modifier un arc"));
|
||||||
|
m_undo_command2->enableAnimation();
|
||||||
|
}
|
||||||
|
else if (m_vector_index == 1)
|
||||||
|
{
|
||||||
|
m_undo_command = new QPropertyUndoCommand(this, "spanAngle", QVariant(m_span_angle));
|
||||||
|
m_undo_command->setText(tr("Modifier un arc"));
|
||||||
|
m_undo_command->enableAnimation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //resize rect
|
||||||
|
{
|
||||||
|
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
||||||
|
m_undo_command->setText(tr("Modifier un arc"));
|
||||||
|
m_undo_command->enableAnimation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartArc::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = elementScene()->snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
if (m_resize_mode == 1)
|
||||||
|
setRect(QetGraphicsHandlerUtility::rectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
else if (m_resize_mode == 2)
|
||||||
|
setRect(QetGraphicsHandlerUtility::mirrorRectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QLineF line(m_rect.center(), mapFromItem(qghi, event->pos()));
|
||||||
|
prepareGeometryChange();
|
||||||
|
|
||||||
|
if (m_vector_index == 0) {
|
||||||
|
setStartAngle(line.angle()*16);
|
||||||
|
setSpanAngle(line.angleTo(QLineF(m_rect.center(), m_span_point))*16);
|
||||||
|
}
|
||||||
|
else if (m_vector_index == 1) {
|
||||||
|
QLineF line2(m_rect.center(), QetGraphicsHandlerUtility::pointsForArc(m_rect, m_start_angle/16, m_span_angle/16).at(0));
|
||||||
|
setSpanAngle (line2.angleTo(line)*16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartArc::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
if (m_resize_mode == 3)
|
||||||
|
{
|
||||||
|
if (m_vector_index == 0)
|
||||||
|
{
|
||||||
m_undo_command->setNewValue(QVariant(m_start_angle));
|
m_undo_command->setNewValue(QVariant(m_start_angle));
|
||||||
m_undo_command2->setNewValue(QVariant(m_span_angle));
|
m_undo_command2->setNewValue(QVariant(m_span_angle));
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
m_undo_command = nullptr;
|
m_undo_command = nullptr;
|
||||||
m_undo_command2 = nullptr;
|
m_undo_command2 = nullptr;
|
||||||
m_handler_index = -1;
|
m_vector_index = -1;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if (m_handler_index == 1) {
|
else if (m_vector_index == 1)
|
||||||
|
{
|
||||||
m_undo_command->setNewValue(QVariant(m_span_angle));
|
m_undo_command->setNewValue(QVariant(m_span_angle));
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
m_undo_command = nullptr;
|
m_undo_command = nullptr;
|
||||||
m_handler_index = -1;
|
m_vector_index = -1;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!m_rect.isValid())
|
||||||
|
m_rect = m_rect.normalized();
|
||||||
|
|
||||||
CustomElementGraphicPart::mouseReleaseEvent(event);
|
m_undo_command->setNewValue(QVariant(m_rect));
|
||||||
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
|
m_undo_command = nullptr;
|
||||||
|
m_vector_index = -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartArc::switchResizeMode()
|
/**
|
||||||
|
* @brief PartArc::sceneSelectionChanged
|
||||||
|
* When the scene selection change, if there are several primitive selected, we remove the handler of this item
|
||||||
|
*/
|
||||||
|
void PartArc::sceneSelectionChanged()
|
||||||
{
|
{
|
||||||
if (m_resize_mode == 1) {
|
if (this->isSelected() && scene()->selectedItems().size() == 1)
|
||||||
m_resize_mode = 2;
|
addHandler();
|
||||||
m_handler.setOuterColor(Qt::darkGreen);
|
else
|
||||||
}
|
removeHandler();
|
||||||
else if (m_resize_mode == 2 ) {
|
}
|
||||||
m_resize_mode = 3;
|
|
||||||
m_handler.setOuterColor(Qt::magenta);
|
/**
|
||||||
}
|
* @brief PartArc::addHandler
|
||||||
else {
|
* Add handlers for this item
|
||||||
m_resize_mode = 1;
|
*/
|
||||||
m_handler.setOuterColor(Qt::blue);
|
void PartArc::addHandler()
|
||||||
}
|
{
|
||||||
update();
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
if(m_resize_mode == 3)
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(QetGraphicsHandlerUtility::pointsForArc(m_rect, m_start_angle/16, m_span_angle/16)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(QetGraphicsHandlerUtility::pointsForRect(m_rect)));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
QColor color = Qt::blue;
|
||||||
|
if (m_resize_mode == 2)
|
||||||
|
color = Qt::darkGreen;
|
||||||
|
else if (m_resize_mode == 3)
|
||||||
|
color = Qt::magenta;
|
||||||
|
|
||||||
|
handler->setColor(color);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartArc::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void PartArc::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
#define PART_ARC_H
|
#define PART_ARC_H
|
||||||
|
|
||||||
#include "abstractpartellipse.h"
|
#include "abstractpartellipse.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
class QPropertyUndoCommand;
|
class QPropertyUndoCommand;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The PartArc class
|
* @brief The PartArc class
|
||||||
@@ -54,25 +54,34 @@ class PartArc : public AbstractPartEllipse
|
|||||||
virtual const QDomElement toXml (QDomDocument &) const;
|
virtual const QDomElement toXml (QDomDocument &) const;
|
||||||
virtual void fromXml (const QDomElement &);
|
virtual void fromXml (const QDomElement &);
|
||||||
|
|
||||||
virtual QRectF boundingRect() const;
|
|
||||||
virtual QPainterPath shape() const;
|
virtual QPainterPath shape() const;
|
||||||
virtual QPainterPath shadowShape() const;
|
virtual QPainterPath shadowShape() const;
|
||||||
|
virtual void setRect(const QRectF &rect) {AbstractPartEllipse::setRect(rect); adjusteHandlerPos();}
|
||||||
|
virtual void setStartAngle(const int &start_angle) {AbstractPartEllipse::setStartAngle(start_angle); adjusteHandlerPos();}
|
||||||
|
virtual void setSpanAngle(const int &span_angle) {AbstractPartEllipse::setSpanAngle(span_angle); adjusteHandlerPos();}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void switchResizeMode();
|
void switchResizeMode();
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void sceneSelectionChanged ();
|
||||||
|
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QetGraphicsHandlerUtility m_handler = 10;
|
|
||||||
int m_handler_index = -1;
|
|
||||||
QPropertyUndoCommand *m_undo_command = nullptr;
|
QPropertyUndoCommand *m_undo_command = nullptr;
|
||||||
QPropertyUndoCommand *m_undo_command2 = nullptr;
|
QPropertyUndoCommand *m_undo_command2 = nullptr;
|
||||||
int m_resize_mode = 1;
|
int m_resize_mode = 1,
|
||||||
|
m_vector_index = -1;
|
||||||
QPointF m_span_point;
|
QPointF m_span_point;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
#include "partellipse.h"
|
#include "partellipse.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartEllipse::PartEllipse
|
* @brief PartEllipse::PartEllipse
|
||||||
@@ -27,8 +29,6 @@
|
|||||||
*/
|
*/
|
||||||
PartEllipse::PartEllipse(QETElementEditor *editor, QGraphicsItem *parent) :
|
PartEllipse::PartEllipse(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
AbstractPartEllipse(editor, parent),
|
AbstractPartEllipse(editor, parent),
|
||||||
m_handler(10),
|
|
||||||
m_handler_index(-1),
|
|
||||||
m_undo_command(nullptr)
|
m_undo_command(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@@ -36,8 +36,10 @@ PartEllipse::PartEllipse(QETElementEditor *editor, QGraphicsItem *parent) :
|
|||||||
* @brief PartEllipse::~PartEllipse
|
* @brief PartEllipse::~PartEllipse
|
||||||
* Destructor
|
* Destructor
|
||||||
*/
|
*/
|
||||||
PartEllipse::~PartEllipse() {
|
PartEllipse::~PartEllipse()
|
||||||
|
{
|
||||||
if(m_undo_command) delete m_undo_command;
|
if(m_undo_command) delete m_undo_command;
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,11 +67,7 @@ void PartEllipse::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
|
|||||||
drawShadowShape(painter);
|
drawShadowShape(painter);
|
||||||
|
|
||||||
if (isSelected())
|
if (isSelected())
|
||||||
{
|
|
||||||
drawCross(m_rect.center(), painter);
|
drawCross(m_rect.center(), painter);
|
||||||
if (scene()->selectedItems().size() == 1)
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForRect(m_rect));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -125,16 +123,6 @@ void PartEllipse::fromXml(const QDomElement &qde)
|
|||||||
QSizeF(width, height));
|
QSizeF(width, height));
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF PartEllipse::boundingRect() const
|
|
||||||
{
|
|
||||||
QRectF r = AbstractPartEllipse::boundingRect();
|
|
||||||
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
r |= rect;
|
|
||||||
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartEllipse::shape
|
* @brief PartEllipse::shape
|
||||||
* @return the shape of this item
|
* @return the shape of this item
|
||||||
@@ -148,10 +136,6 @@ QPainterPath PartEllipse::shape() const
|
|||||||
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
||||||
shape = pps.createStroke(shape);
|
shape = pps.createStroke(shape);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
shape.addRect(rect);
|
|
||||||
|
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,77 +150,6 @@ QPainterPath PartEllipse::shadowShape() const
|
|||||||
return (pps.createStroke(shape));
|
return (pps.createStroke(shape));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartEllipse::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
if (!isSelected())
|
|
||||||
{
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int handler = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if (handler >= 0)
|
|
||||||
{
|
|
||||||
if (handler == 0 || handler == 2 || handler == 5 || handler == 7)
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else if (handler == 1 || handler == 6)
|
|
||||||
setCursor(Qt::SizeVerCursor);
|
|
||||||
else if (handler == 3 || handler == 4)
|
|
||||||
setCursor(Qt::SizeHorCursor);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartEllipse::mousePressEvent
|
|
||||||
* Handle mouse press event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartEllipse::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (event->button() == Qt::LeftButton)
|
|
||||||
{
|
|
||||||
setCursor(Qt::ClosedHandCursor);
|
|
||||||
if (isSelected())
|
|
||||||
{
|
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 7) //User click on an handler
|
|
||||||
{
|
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
|
||||||
m_undo_command->setText(tr("Modifier une ellipse"));
|
|
||||||
m_undo_command->enableAnimation();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CustomElementGraphicPart::mousePressEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartEllipse::mouseMoveEvent
|
|
||||||
* Handle mouse move event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartEllipse::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 7)
|
|
||||||
{
|
|
||||||
QPointF pos_ = event->modifiers() == Qt::ControlModifier ? event->pos() : mapFromScene(elementScene()->snapToGrid(event->scenePos()));
|
|
||||||
prepareGeometryChange();
|
|
||||||
|
|
||||||
if (m_resize_mode == 1)
|
|
||||||
setRect(m_handler.rectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
else
|
|
||||||
setRect(m_handler.mirrorRectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartEllipse::mouseReleaseEvent
|
* @brief PartEllipse::mouseReleaseEvent
|
||||||
* Handle mouse release event
|
* Handle mouse release event
|
||||||
@@ -244,35 +157,225 @@ void PartEllipse::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
*/
|
*/
|
||||||
void PartEllipse::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartEllipse::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton && event->buttonDownPos(Qt::LeftButton) == event->pos())
|
||||||
setCursor(Qt::OpenHandCursor);
|
switchResizeMode();
|
||||||
if (event->buttonDownPos(Qt::LeftButton) == event->pos())
|
|
||||||
switchResizeMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_handler_index >= 0 && m_handler_index <= 7)
|
CustomElementGraphicPart::mouseReleaseEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::itemChange
|
||||||
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant PartEllipse::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
|
{
|
||||||
|
if (change == ItemSelectedHasChanged && scene())
|
||||||
{
|
{
|
||||||
if (!m_rect.isValid())
|
if (value.toBool() == true)
|
||||||
m_rect = m_rect.normalized();
|
{
|
||||||
|
//When item is selected, he must to be up to date whene the selection in the scene change, for display or not the handler,
|
||||||
|
//according to the number of selected items.
|
||||||
|
connect(scene(), &QGraphicsScene::selectionChanged, this, &PartEllipse::sceneSelectionChanged);
|
||||||
|
|
||||||
m_undo_command->setNewValue(QVariant(m_rect));
|
if (scene()->selectedItems().size() == 1)
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
addHandler();
|
||||||
m_undo_command = nullptr;
|
}
|
||||||
m_handler_index = -1;
|
else
|
||||||
|
{
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartEllipse::sceneSelectionChanged);
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (change == ItemPositionHasChanged)
|
||||||
CustomElementGraphicPart::mouseReleaseEvent(event);
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneChange)
|
||||||
|
{
|
||||||
|
if(scene())
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartEllipse::sceneSelectionChanged);
|
||||||
|
|
||||||
|
setSelected(false); //This item is removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsItem::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool PartEllipse::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartEllipse::switchResizeMode()
|
void PartEllipse::switchResizeMode()
|
||||||
{
|
{
|
||||||
if (m_resize_mode == 1) {
|
if (m_resize_mode == 1)
|
||||||
|
{
|
||||||
m_resize_mode = 2;
|
m_resize_mode = 2;
|
||||||
m_handler.setOuterColor(Qt::darkGreen);
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::darkGreen);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
m_resize_mode = 1;
|
m_resize_mode = 1;
|
||||||
m_handler.setOuterColor(Qt::blue);
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::blue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::adjusteHandlerPos
|
||||||
|
*/
|
||||||
|
void PartEllipse::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QVector <QPointF> points_vector = QetGraphicsHandlerUtility::pointsForRect(m_rect);
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == points_vector.size())
|
||||||
|
{
|
||||||
|
points_vector = mapToScene(points_vector);
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartEllipse::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
||||||
|
m_undo_command->setText(tr("Modifier un rectangle"));
|
||||||
|
m_undo_command->enableAnimation();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartEllipse::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = elementScene()->snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
if (m_resize_mode == 1)
|
||||||
|
setRect(QetGraphicsHandlerUtility::rectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
else
|
||||||
|
setRect(QetGraphicsHandlerUtility::mirrorRectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartEllipse::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command->setNewValue(QVariant(m_rect));
|
||||||
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
|
m_undo_command = nullptr;
|
||||||
|
m_vector_index = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::sceneSelectionChanged
|
||||||
|
* When the scene selection change, if there are several primitive selected, we remove the handler of this item
|
||||||
|
*/
|
||||||
|
void PartEllipse::sceneSelectionChanged()
|
||||||
|
{
|
||||||
|
if (this->isSelected() && scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
else
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void PartEllipse::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(QetGraphicsHandlerUtility::pointsForRect(m_rect)));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
QColor color = Qt::blue;
|
||||||
|
if (m_resize_mode == 2)
|
||||||
|
color = Qt::darkGreen;
|
||||||
|
|
||||||
|
handler->setColor(color);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartEllipse::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void PartEllipse::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
}
|
}
|
||||||
update();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
#define PART_ELLIPSE_H
|
#define PART_ELLIPSE_H
|
||||||
|
|
||||||
#include "abstractpartellipse.h"
|
#include "abstractpartellipse.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
class QPropertyUndoCommand;
|
class QPropertyUndoCommand;
|
||||||
|
|
||||||
@@ -55,24 +54,29 @@ class PartEllipse : public AbstractPartEllipse
|
|||||||
virtual QString xmlName() const { return(QString("ellipse")); }
|
virtual QString xmlName() const { return(QString("ellipse")); }
|
||||||
virtual const QDomElement toXml (QDomDocument &) const;
|
virtual const QDomElement toXml (QDomDocument &) const;
|
||||||
virtual void fromXml (const QDomElement &);
|
virtual void fromXml (const QDomElement &);
|
||||||
|
|
||||||
virtual QRectF boundingRect() const;
|
|
||||||
virtual QPainterPath shape() const;
|
virtual QPainterPath shape() const;
|
||||||
virtual QPainterPath shadowShape() const;
|
virtual QPainterPath shadowShape() const;
|
||||||
|
virtual void setRect(const QRectF &rect) {AbstractPartEllipse::setRect(rect); adjusteHandlerPos();}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void switchResizeMode();
|
void switchResizeMode();
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void sceneSelectionChanged ();
|
||||||
|
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QetGraphicsHandlerUtility m_handler;
|
|
||||||
int m_handler_index;
|
|
||||||
QPropertyUndoCommand *m_undo_command;
|
QPropertyUndoCommand *m_undo_command;
|
||||||
int m_resize_mode = 1;
|
int m_resize_mode = 1,
|
||||||
|
m_vector_index = -1;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -33,14 +34,16 @@ PartLine::PartLine(QETElementEditor *editor, QGraphicsItem *parent) :
|
|||||||
first_length(1.5),
|
first_length(1.5),
|
||||||
second_end(Qet::None),
|
second_end(Qet::None),
|
||||||
second_length(1.5),
|
second_length(1.5),
|
||||||
m_handler(10),
|
|
||||||
m_handler_index(-1),
|
|
||||||
m_undo_command(nullptr)
|
m_undo_command(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
/// Destructeur
|
/// Destructeur
|
||||||
PartLine::~PartLine() {
|
PartLine::~PartLine()
|
||||||
if(m_undo_command) delete m_undo_command;
|
{
|
||||||
|
if(m_undo_command)
|
||||||
|
delete m_undo_command;
|
||||||
|
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,9 +93,6 @@ void PartLine::paint(QPainter *painter, const QStyleOptionGraphicsItem *options,
|
|||||||
if (m_hovered)
|
if (m_hovered)
|
||||||
drawShadowShape(painter);
|
drawShadowShape(painter);
|
||||||
|
|
||||||
if (isSelected() && scene()->selectedItems().size() == 1)
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForLine(m_line));
|
|
||||||
|
|
||||||
painter->restore();
|
painter->restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,69 +140,206 @@ void PartLine::fromXml(const QDomElement &qde) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartLine::mousePressEvent
|
* @brief PartLine::itemChange
|
||||||
* Handle mouse press event
|
* @param change
|
||||||
* @param event
|
* @param value
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
void PartLine::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
QVariant PartLine::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
{
|
{
|
||||||
if(event->button() == Qt::LeftButton)
|
if (change == ItemSelectedHasChanged && scene())
|
||||||
{
|
{
|
||||||
setCursor(Qt::ClosedHandCursor);
|
if (value.toBool() == true)
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
{
|
{
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForLine(m_line));
|
//When item is selected, he must to be up to date whene the selection in the scene change, for display or not the handler,
|
||||||
|
//according to the number of selected items.
|
||||||
|
connect(scene(), &QGraphicsScene::selectionChanged, this, &PartLine::sceneSelectionChanged);
|
||||||
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 1) //User click on an handler
|
if (scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartLine::sceneSelectionChanged);
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (change == ItemPositionHasChanged)
|
||||||
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneChange)
|
||||||
|
{
|
||||||
|
if(scene())
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartLine::sceneSelectionChanged);
|
||||||
|
|
||||||
|
setSelected(false); //This is item removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsItem::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartLine::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool PartLine::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
{
|
{
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "line", QVariant(m_line));
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
m_undo_command->setText(tr("Modifier une ligne"));
|
{
|
||||||
m_undo_command->enableAnimation();
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
return;
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomElementGraphicPart::mousePressEvent(event);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartLine::mouseMoveEvent
|
* @brief PartLine::adjusteHandlerPos
|
||||||
* Handle pouse move event
|
* Adjust the position of the handler item
|
||||||
* @param event
|
|
||||||
*/
|
*/
|
||||||
void PartLine::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
void PartLine::adjusteHandlerPos()
|
||||||
{
|
{
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 1)
|
if(m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QVector<QPointF> points_vector;
|
||||||
|
points_vector << m_line.p1() << m_line.p2();
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == points_vector.size())
|
||||||
{
|
{
|
||||||
QPointF pos_ = event->modifiers() == Qt::ControlModifier ? event->pos() : mapFromScene(elementScene()->snapToGrid(event->scenePos()));
|
points_vector = mapToScene(points_vector);
|
||||||
prepareGeometryChange();
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
setLine(m_handler.lineForPosAtIndex(m_line, pos_, m_handler_index));
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
}
|
}
|
||||||
else
|
|
||||||
CustomElementGraphicPart::mouseMoveEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartLine::mouseReleaseEvent
|
* @brief PartLine::handlerMousePressEvent
|
||||||
* Handle mouse release event
|
* @param qghi
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void PartLine::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartLine::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton)
|
Q_UNUSED(qghi);
|
||||||
setCursor(Qt::OpenHandCursor);
|
Q_UNUSED(event);
|
||||||
|
|
||||||
if (m_handler_index >= 0 && m_handler_index <= 1)
|
m_undo_command = new QPropertyUndoCommand(this, "line", QVariant(m_line));
|
||||||
{
|
m_undo_command->setText(tr("Modifier une ligne"));
|
||||||
m_undo_command->setNewValue(QVariant(m_line));
|
m_undo_command->enableAnimation();
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
return;
|
||||||
m_undo_command = nullptr;
|
}
|
||||||
m_handler_index = -1;
|
|
||||||
}
|
/**
|
||||||
|
* @brief PartLine::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartLine::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = elementScene()->snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
prepareGeometryChange();
|
||||||
|
if (m_vector_index == 0)
|
||||||
|
m_line.setP1(new_pos);
|
||||||
else
|
else
|
||||||
CustomElementGraphicPart::mouseReleaseEvent(event);
|
m_line.setP2(new_pos);
|
||||||
|
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartLine::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartLine::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command->setNewValue(QVariant(m_line));
|
||||||
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
|
m_undo_command = nullptr;
|
||||||
|
m_vector_index = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartLine::sceneSelectionChanged
|
||||||
|
* When the scene selection change, if there are several primitive selected, we remove the handler of this item
|
||||||
|
*/
|
||||||
|
void PartLine::sceneSelectionChanged()
|
||||||
|
{
|
||||||
|
if (this->isSelected() && scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
else
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartLine::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void PartLine::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
QVector<QPointF> points_vector;
|
||||||
|
points_vector << m_line.p1() << m_line.p2();
|
||||||
|
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(points_vector));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
handler->setColor(Qt::blue);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartLine::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void PartLine::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -243,10 +380,6 @@ QPainterPath PartLine::shape() const
|
|||||||
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
||||||
shape = pps.createStroke(shape);
|
shape = pps.createStroke(shape);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForLine(m_line)))
|
|
||||||
shape.addRect(rect);
|
|
||||||
|
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,9 +535,6 @@ QRectF PartLine::boundingRect() const
|
|||||||
bound = bound.normalized();
|
bound = bound.normalized();
|
||||||
bound.adjust(-adjust, -adjust, adjust, adjust);
|
bound.adjust(-adjust, -adjust, adjust, adjust);
|
||||||
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForLine(m_line)))
|
|
||||||
bound |= rect;
|
|
||||||
|
|
||||||
return bound;
|
return bound;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -496,6 +626,7 @@ void PartLine::setLine(const QLineF &line)
|
|||||||
if (m_line == line) return;
|
if (m_line == line) return;
|
||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_line = line;
|
m_line = line;
|
||||||
|
adjusteHandlerPos();
|
||||||
emit lineChanged();
|
emit lineChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,20 +664,6 @@ void PartLine::setSecondEndLength(const qreal &l)
|
|||||||
emit secondEndLengthChanged();
|
emit secondEndLengthChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartLine::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
if (!isSelected())
|
|
||||||
{
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForLine(m_line)) >= 0)
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartLine::path
|
* @brief PartLine::path
|
||||||
* @return this line has a QPainterPath.
|
* @return this line has a QPainterPath.
|
||||||
|
|||||||
@@ -20,9 +20,9 @@
|
|||||||
|
|
||||||
#include "customelementgraphicpart.h"
|
#include "customelementgraphicpart.h"
|
||||||
#include "qet.h"
|
#include "qet.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
class QPropertyUndoCommand;
|
class QPropertyUndoCommand;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This class represents a line primitive which may be used to compose the
|
This class represents a line primitive which may be used to compose the
|
||||||
@@ -96,19 +96,26 @@ class PartLine : public CustomElementGraphicPart
|
|||||||
void setSecondEndLength(const qreal &l);
|
void setSecondEndLength(const qreal &l);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPainterPath path() const;
|
void adjusteHandlerPos();
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void sceneSelectionChanged ();
|
||||||
|
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
|
QPainterPath path() const;
|
||||||
QList<QPointF> fourShapePoints() const;
|
QList<QPointF> fourShapePoints() const;
|
||||||
QRectF firstEndCircleRect() const;
|
QRectF firstEndCircleRect() const;
|
||||||
QRectF secondEndCircleRect() const;
|
QRectF secondEndCircleRect() const;
|
||||||
void debugPaint(QPainter *);
|
void debugPaint(QPainter *);
|
||||||
|
|
||||||
|
/*****************/
|
||||||
Qet::EndType first_end;
|
Qet::EndType first_end;
|
||||||
qreal first_length;
|
qreal first_length;
|
||||||
|
|
||||||
@@ -116,8 +123,8 @@ class PartLine : public CustomElementGraphicPart
|
|||||||
qreal second_length;
|
qreal second_length;
|
||||||
QList<QPointF> saved_points_;
|
QList<QPointF> saved_points_;
|
||||||
QLineF m_line;
|
QLineF m_line;
|
||||||
QetGraphicsHandlerUtility m_handler;
|
int m_vector_index = -1;
|
||||||
int m_handler_index;
|
|
||||||
QPropertyUndoCommand *m_undo_command;
|
QPropertyUndoCommand *m_undo_command;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "partpolygon.h"
|
#include "partpolygon.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,16 +30,16 @@
|
|||||||
PartPolygon::PartPolygon(QETElementEditor *editor, QGraphicsItem *parent) :
|
PartPolygon::PartPolygon(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
CustomElementGraphicPart(editor, parent),
|
CustomElementGraphicPart(editor, parent),
|
||||||
m_closed(false),
|
m_closed(false),
|
||||||
m_handler(10),
|
|
||||||
m_handler_index(-1),
|
|
||||||
m_undo_command(nullptr)
|
m_undo_command(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartPolygon::~PartPolygon
|
* @brief PartPolygon::~PartPolygon
|
||||||
*/
|
*/
|
||||||
PartPolygon::~PartPolygon() {
|
PartPolygon::~PartPolygon()
|
||||||
|
{
|
||||||
if(m_undo_command) delete m_undo_command;
|
if(m_undo_command) delete m_undo_command;
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -64,9 +65,6 @@ void PartPolygon::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
|
|||||||
|
|
||||||
if (m_hovered)
|
if (m_hovered)
|
||||||
drawShadowShape(painter);
|
drawShadowShape(painter);
|
||||||
|
|
||||||
if (isSelected() && scene()->selectedItems().size() == 1)
|
|
||||||
m_handler.drawHandler(painter, m_polygon);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -199,6 +197,7 @@ void PartPolygon::setPolygon(const QPolygonF &polygon)
|
|||||||
if (m_polygon == polygon) return;
|
if (m_polygon == polygon) return;
|
||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_polygon = polygon;
|
m_polygon = polygon;
|
||||||
|
adjusteHandlerPos();
|
||||||
emit polygonChanged();
|
emit polygonChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,83 +247,195 @@ void PartPolygon::setClosed(bool close)
|
|||||||
emit closedChange();
|
emit closedChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartPolygon::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
/**
|
||||||
|
* @brief PartPolygon::itemChange
|
||||||
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant PartPolygon::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
{
|
{
|
||||||
if (!isSelected())
|
if (change == ItemSelectedHasChanged && scene())
|
||||||
{
|
{
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
if (value.toBool() == true)
|
||||||
return;
|
{
|
||||||
|
//When item is selected, he must to be up to date whene the selection in the scene change, for display or not the handler,
|
||||||
|
//according to the number of selected items.
|
||||||
|
connect(scene(), &QGraphicsScene::selectionChanged, this, &PartPolygon::sceneSelectionChanged);
|
||||||
|
|
||||||
|
if (scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartPolygon::sceneSelectionChanged);
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (change == ItemPositionHasChanged)
|
||||||
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneChange)
|
||||||
|
{
|
||||||
|
if(scene())
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartPolygon::sceneSelectionChanged);
|
||||||
|
|
||||||
|
setSelected(false); //This is item removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_handler.pointIsHoverHandler(event->pos(), m_polygon) >= 0)
|
return QGraphicsItem::itemChange(change, value);
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartPolygon::mousePressEvent
|
* @brief PartPolygon::sceneEventFilter
|
||||||
* Handle mouse press event
|
* @param watched
|
||||||
* @param event
|
* @param event
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
void PartPolygon::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
bool PartPolygon::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton)
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
{
|
{
|
||||||
setCursor(Qt::ClosedHandCursor);
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
if(isSelected())
|
|
||||||
{
|
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_polygon);
|
|
||||||
|
|
||||||
if(m_handler_index >= 0) //User click on an handler
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
{
|
{
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "polygon", QVariant(m_polygon));
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
m_undo_command->setText(tr("Modifier un polygone"));
|
{
|
||||||
return;
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomElementGraphicPart::mousePressEvent(event);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartPolygon::mouseMoveEvent
|
* @brief PartPolygon::adjusteHandlerPos
|
||||||
* Handle mouse move event
|
|
||||||
* @param event
|
|
||||||
*/
|
*/
|
||||||
void PartPolygon::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
void PartPolygon::adjusteHandlerPos()
|
||||||
{
|
{
|
||||||
if(m_handler_index >= 0)
|
if(m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == m_polygon.size())
|
||||||
{
|
{
|
||||||
QPointF pos_ = event->modifiers() == Qt::ControlModifier ? event->pos() : mapFromScene(elementScene()->snapToGrid(event->scenePos()));
|
QVector <QPointF> points_vector = mapToScene(m_polygon);
|
||||||
prepareGeometryChange();
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
m_polygon.replace(m_handler_index, pos_);
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
emit polygonChanged();
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
CustomElementGraphicPart::mouseMoveEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartPolygon::mouseReleaseEvent
|
* @brief PartPolygon::handlerMousePressEvent
|
||||||
* Handle mouse release event
|
* @param qghi
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void PartPolygon::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartPolygon::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton)
|
Q_UNUSED(qghi);
|
||||||
setCursor(Qt::OpenHandCursor);
|
Q_UNUSED(event);
|
||||||
|
|
||||||
if (m_handler_index >= 0)
|
m_undo_command = new QPropertyUndoCommand(this, "polygon", QVariant(m_polygon));
|
||||||
{
|
m_undo_command->setText(tr("Modifier un polygone"));
|
||||||
m_undo_command->setNewValue(QVariant(m_polygon));
|
}
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
|
||||||
m_undo_command = nullptr;
|
/**
|
||||||
m_handler_index = -1;
|
* @brief PartPolygon::handlerMouseMoveEvent
|
||||||
}
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartPolygon::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = elementScene()->snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
prepareGeometryChange();
|
||||||
|
m_polygon.replace(m_vector_index, new_pos);
|
||||||
|
adjusteHandlerPos();
|
||||||
|
emit polygonChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartPolygon::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartPolygon::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command->setNewValue(QVariant(m_polygon));
|
||||||
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
|
m_undo_command = nullptr;
|
||||||
|
m_vector_index = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartPolygon::sceneSelectionChanged
|
||||||
|
* When the scene selection change, if there are several primitive selected, we remove the handler of this item
|
||||||
|
*/
|
||||||
|
void PartPolygon::sceneSelectionChanged()
|
||||||
|
{
|
||||||
|
if (this->isSelected() && scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
else
|
else
|
||||||
CustomElementGraphicPart::mouseReleaseEvent(event);
|
removeHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartPolygon::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void PartPolygon::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(m_polygon));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
handler->setColor(Qt::blue);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartPolygon::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void PartPolygon::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -343,10 +454,6 @@ QPainterPath PartPolygon::shape() const
|
|||||||
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
||||||
shape = pps.createStroke(shape);
|
shape = pps.createStroke(shape);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_polygon))
|
|
||||||
shape.addRect(rect);
|
|
||||||
|
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -379,8 +486,5 @@ QRectF PartPolygon::boundingRect() const
|
|||||||
|
|
||||||
r.adjust(-adjust, -adjust, adjust, adjust);
|
r.adjust(-adjust, -adjust, adjust, adjust);
|
||||||
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_polygon))
|
|
||||||
r |=rect;
|
|
||||||
|
|
||||||
return(r);
|
return(r);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,10 +20,9 @@
|
|||||||
|
|
||||||
#include <QPolygonF>
|
#include <QPolygonF>
|
||||||
#include "customelementgraphicpart.h"
|
#include "customelementgraphicpart.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
|
|
||||||
class QPropertyUndoCommand;
|
class QPropertyUndoCommand;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The PartPolygon class
|
* @brief The PartPolygon class
|
||||||
@@ -85,17 +84,25 @@ class PartPolygon : public CustomElementGraphicPart
|
|||||||
void setClosed (bool close);
|
void setClosed (bool close);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void sceneSelectionChanged ();
|
||||||
|
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
|
|
||||||
bool m_closed;
|
bool m_closed;
|
||||||
QList<QPointF> saved_points_;
|
QList<QPointF> saved_points_;
|
||||||
QPolygonF m_polygon;
|
QPolygonF m_polygon;
|
||||||
QetGraphicsHandlerUtility m_handler;
|
|
||||||
int m_handler_index;
|
|
||||||
QPropertyUndoCommand *m_undo_command;
|
QPropertyUndoCommand *m_undo_command;
|
||||||
|
int m_vector_index = -1;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
#include "partrectangle.h"
|
#include "partrectangle.h"
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartRectangle::PartRectangle
|
* @brief PartRectangle::PartRectangle
|
||||||
@@ -27,16 +29,16 @@
|
|||||||
*/
|
*/
|
||||||
PartRectangle::PartRectangle(QETElementEditor *editor, QGraphicsItem *parent) :
|
PartRectangle::PartRectangle(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
CustomElementGraphicPart(editor, parent),
|
CustomElementGraphicPart(editor, parent),
|
||||||
m_handler(10),
|
|
||||||
m_handler_index(-1),
|
|
||||||
m_undo_command(nullptr)
|
m_undo_command(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartRectangle::~PartRectangle
|
* @brief PartRectangle::~PartRectangle
|
||||||
*/
|
*/
|
||||||
PartRectangle::~PartRectangle() {
|
PartRectangle::~PartRectangle()
|
||||||
|
{
|
||||||
if(m_undo_command) delete m_undo_command;
|
if(m_undo_command) delete m_undo_command;
|
||||||
|
removeHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,11 +71,7 @@ void PartRectangle::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
|
|||||||
drawShadowShape(painter);
|
drawShadowShape(painter);
|
||||||
|
|
||||||
if (isSelected())
|
if (isSelected())
|
||||||
{
|
|
||||||
drawCross(m_rect.center(), painter);
|
drawCross(m_rect.center(), painter);
|
||||||
if (scene()->selectedItems().size() == 1)
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForRect(m_rect));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,6 +127,7 @@ void PartRectangle::setRect(const QRectF &rect)
|
|||||||
if (rect == m_rect) return;
|
if (rect == m_rect) return;
|
||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_rect = rect;
|
m_rect = rect;
|
||||||
|
adjusteHandlerPos();
|
||||||
emit rectChanged();
|
emit rectChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,10 +163,6 @@ QPainterPath PartRectangle::shape() const
|
|||||||
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
pps.setWidth(m_hovered? penWeight()+SHADOWS_HEIGHT : penWeight());
|
||||||
shape = pps.createStroke(shape);
|
shape = pps.createStroke(shape);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
shape.addRect(rect);
|
|
||||||
|
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,9 +191,6 @@ QRectF PartRectangle::boundingRect() const
|
|||||||
QRectF r = m_rect.normalized();
|
QRectF r = m_rect.normalized();
|
||||||
r.adjust(-adjust, -adjust, adjust, adjust);
|
r.adjust(-adjust, -adjust, adjust, adjust);
|
||||||
|
|
||||||
foreach(QRectF rect, m_handler.handlerRect(m_handler.pointsForRect(m_rect)))
|
|
||||||
r |= rect;
|
|
||||||
|
|
||||||
return(r);
|
return(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,77 +229,6 @@ void PartRectangle::handleUserTransformation(const QRectF &initial_selection_rec
|
|||||||
setRect(QRectF(mapFromScene(mapped_points.at(0)), mapFromScene(mapped_points.at(1))));
|
setRect(QRectF(mapFromScene(mapped_points.at(0)), mapFromScene(mapped_points.at(1))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartRectangle::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
if (!isSelected())
|
|
||||||
{
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int handler = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if (handler >= 0)
|
|
||||||
{
|
|
||||||
if (handler == 0 || handler == 2 || handler == 5 || handler == 7)
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else if (handler == 1 || handler == 6)
|
|
||||||
setCursor(Qt::SizeVerCursor);
|
|
||||||
else if (handler == 3 || handler == 4)
|
|
||||||
setCursor(Qt::SizeHorCursor);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartRectangle::mousePressEvent
|
|
||||||
* Handle mouse press event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartRectangle::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (event->button() == Qt::LeftButton)
|
|
||||||
{
|
|
||||||
setCursor(Qt::ClosedHandCursor);
|
|
||||||
if(isSelected())
|
|
||||||
{
|
|
||||||
m_handler_index = m_handler.pointIsHoverHandler(event->pos(), m_handler.pointsForRect(m_rect));
|
|
||||||
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 7) //User click on an handler
|
|
||||||
{
|
|
||||||
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
|
||||||
m_undo_command->setText(tr("Modifier un rectangle"));
|
|
||||||
m_undo_command->enableAnimation();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CustomElementGraphicPart::mousePressEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartRectangle::mouseMoveEvent
|
|
||||||
* Handle mouse press event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void PartRectangle::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if(m_handler_index >= 0 && m_handler_index <= 7)
|
|
||||||
{
|
|
||||||
QPointF pos_ = event->modifiers() == Qt::ControlModifier ? event->pos() : mapFromScene(elementScene()->snapToGrid(event->scenePos()));
|
|
||||||
prepareGeometryChange();
|
|
||||||
|
|
||||||
if (m_resize_mode == 1)
|
|
||||||
setRect(m_handler.rectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
else
|
|
||||||
setRect(m_handler.mirrorRectForPosAtIndex(m_rect, pos_, m_handler_index));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PartRectangle::mouseReleaseEvent
|
* @brief PartRectangle::mouseReleaseEvent
|
||||||
* Handle mouse release event
|
* Handle mouse release event
|
||||||
@@ -315,35 +236,223 @@ void PartRectangle::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
*/
|
*/
|
||||||
void PartRectangle::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartRectangle::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton && event->buttonDownPos(Qt::LeftButton) == event->pos())
|
||||||
setCursor(Qt::OpenHandCursor);
|
switchResizeMode();
|
||||||
if (event->buttonDownPos(Qt::LeftButton) == event->pos())
|
|
||||||
switchResizeMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_handler_index >= 0 && m_handler_index <= 7)
|
CustomElementGraphicPart::mouseReleaseEvent(event);
|
||||||
{
|
|
||||||
if (!m_rect.isValid())
|
|
||||||
m_rect = m_rect.normalized();
|
|
||||||
|
|
||||||
m_undo_command->setNewValue(QVariant(m_rect));
|
|
||||||
elementScene()->undoStack().push(m_undo_command);
|
|
||||||
m_undo_command = nullptr;
|
|
||||||
m_handler_index = -1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CustomElementGraphicPart::mouseReleaseEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::itemChange
|
||||||
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant PartRectangle::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
|
{
|
||||||
|
if (change == ItemSelectedHasChanged && scene())
|
||||||
|
{
|
||||||
|
if (value.toBool() == true)
|
||||||
|
{
|
||||||
|
//When item is selected, he must to be up to date whene the selection in the scene change, for display or not the handler,
|
||||||
|
//according to the number of selected items.
|
||||||
|
connect(scene(), &QGraphicsScene::selectionChanged, this, &PartRectangle::sceneSelectionChanged);
|
||||||
|
|
||||||
|
if (scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartRectangle::sceneSelectionChanged);
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (change == ItemPositionHasChanged)
|
||||||
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneChange)
|
||||||
|
{
|
||||||
|
if(scene())
|
||||||
|
disconnect(scene(), &QGraphicsScene::selectionChanged, this, &PartRectangle::sceneSelectionChanged);
|
||||||
|
|
||||||
|
setSelected(false); //This item is removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsItem::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool PartRectangle::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::switchResizeMode
|
||||||
|
*/
|
||||||
void PartRectangle::switchResizeMode()
|
void PartRectangle::switchResizeMode()
|
||||||
{
|
{
|
||||||
if (m_resize_mode == 1) {
|
if (m_resize_mode == 1)
|
||||||
|
{
|
||||||
m_resize_mode = 2;
|
m_resize_mode = 2;
|
||||||
m_handler.setOuterColor(Qt::darkGreen);
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::darkGreen);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
m_resize_mode = 1;
|
m_resize_mode = 1;
|
||||||
m_handler.setOuterColor(Qt::blue);
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::blue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::adjusteHandlerPos
|
||||||
|
*/
|
||||||
|
void PartRectangle::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QVector <QPointF> points_vector = QetGraphicsHandlerUtility::pointsForRect(m_rect);
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == points_vector.size())
|
||||||
|
{
|
||||||
|
points_vector = mapToScene(points_vector);
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartRectangle::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command = new QPropertyUndoCommand(this, "rect", QVariant(m_rect));
|
||||||
|
m_undo_command->setText(tr("Modifier un rectangle"));
|
||||||
|
m_undo_command->enableAnimation();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void PartRectangle::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = elementScene()->snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
if (m_resize_mode == 1)
|
||||||
|
setRect(QetGraphicsHandlerUtility::rectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
else
|
||||||
|
setRect(QetGraphicsHandlerUtility::mirrorRectForPosAtIndex(m_rect, new_pos, m_vector_index));
|
||||||
|
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PartRectangle::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_undo_command->setNewValue(QVariant(m_rect));
|
||||||
|
elementScene()->undoStack().push(m_undo_command);
|
||||||
|
m_undo_command = nullptr;
|
||||||
|
m_vector_index = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::sceneSelectionChanged
|
||||||
|
* When the scene selection change, if there are several primitive selected, we remove the handler of this item
|
||||||
|
*/
|
||||||
|
void PartRectangle::sceneSelectionChanged()
|
||||||
|
{
|
||||||
|
if (this->isSelected() && scene()->selectedItems().size() == 1)
|
||||||
|
addHandler();
|
||||||
|
else
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void PartRectangle::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(QetGraphicsHandlerUtility::pointsForRect(m_rect)));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
QColor color = Qt::blue;
|
||||||
|
if (m_resize_mode == 2)
|
||||||
|
color = Qt::darkGreen;
|
||||||
|
|
||||||
|
handler->setColor(color);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PartRectangle::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void PartRectangle::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
}
|
}
|
||||||
update();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
#define PART_RECTANGLE_H
|
#define PART_RECTANGLE_H
|
||||||
|
|
||||||
#include "customelementgraphicpart.h"
|
#include "customelementgraphicpart.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
|
|
||||||
class QPropertyUndoCommand;
|
class QPropertyUndoCommand;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents a rectangle primitive which may be used to compose the
|
* This class represents a rectangle primitive which may be used to compose the
|
||||||
@@ -75,20 +75,27 @@ class PartRectangle : public CustomElementGraphicPart
|
|||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void switchResizeMode();
|
void switchResizeMode();
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void sceneSelectionChanged ();
|
||||||
|
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QRectF m_rect;
|
QRectF m_rect;
|
||||||
QList<QPointF> saved_points_;
|
QList<QPointF> saved_points_;
|
||||||
QetGraphicsHandlerUtility m_handler;
|
|
||||||
int m_handler_index;
|
|
||||||
QPropertyUndoCommand *m_undo_command;
|
QPropertyUndoCommand *m_undo_command;
|
||||||
int m_resize_mode = 1;
|
int m_resize_mode = 1,
|
||||||
|
m_vector_index = -1;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -26,20 +26,17 @@
|
|||||||
Constructeur
|
Constructeur
|
||||||
@param editor L'editeur d'element concerne
|
@param editor L'editeur d'element concerne
|
||||||
@param parent Le QGraphicsItem parent de ce texte statique
|
@param parent Le QGraphicsItem parent de ce texte statique
|
||||||
@param scene La scene sur laquelle figure ce texte statique
|
|
||||||
*/
|
*/
|
||||||
PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent, ElementScene *scene) :
|
PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
QGraphicsTextItem(parent),
|
QGraphicsTextItem(parent),
|
||||||
CustomElementPart(editor),
|
CustomElementPart(editor),
|
||||||
previous_text(),
|
previous_text()
|
||||||
decorator_(0)
|
|
||||||
{
|
{
|
||||||
Q_UNUSED(scene)
|
|
||||||
document() -> setDocumentMargin(1.0);
|
document() -> setDocumentMargin(1.0);
|
||||||
setDefaultTextColor(Qt::black);
|
setDefaultTextColor(Qt::black);
|
||||||
setFont(QETApp::diagramTextsFont());
|
setFont(QETApp::diagramTextsFont());
|
||||||
real_font_size_ = font().pointSize();
|
real_font_size_ = font().pointSize();
|
||||||
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges);
|
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges | QGraphicsItem::ItemIsMovable);
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
setDefaultTextColor(Qt::black);
|
setDefaultTextColor(Qt::black);
|
||||||
setPlainText(QObject::tr("T", "default text when adding a text in the element editor"));
|
setPlainText(QObject::tr("T", "default text when adding a text in the element editor"));
|
||||||
@@ -231,150 +228,37 @@ void PartText::handleUserTransformation(const QRectF &initial_selection_rect, co
|
|||||||
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
Dessine le texte statique.
|
|
||||||
@param painter QPainter a utiliser pour effectuer le rendu
|
|
||||||
@param qsogi Pptions de dessin
|
|
||||||
@param widget Widget sur lequel on dessine (facultatif)
|
|
||||||
*/
|
|
||||||
void PartText::paint(QPainter *painter, const QStyleOptionGraphicsItem *qsogi, QWidget *widget) {
|
|
||||||
// According to the source code of QGraphicsTextItem::paint(), this should
|
|
||||||
// avoid the drawing of the dashed rectangle around the text.
|
|
||||||
QStyleOptionGraphicsItem our_qsogi(*qsogi);
|
|
||||||
our_qsogi.state = QStyle::State_None;
|
|
||||||
|
|
||||||
QGraphicsTextItem::paint(painter, &our_qsogi, widget);
|
void PartText::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
if((event->buttons() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable))
|
||||||
painter -> setPen(Qt::blue);
|
{
|
||||||
painter -> drawRect(boundingRect());
|
QPointF pos = event->scenePos() + (m_origine_pos - event->buttonDownScenePos(Qt::LeftButton));
|
||||||
|
event->modifiers() == Qt::ControlModifier ? setPos(pos) : setPos(elementScene()->snapToGrid(pos));
|
||||||
painter -> setPen(Qt::red);
|
}
|
||||||
drawPoint(painter, QPointF(0, 0));
|
else
|
||||||
|
QGraphicsObject::mouseMoveEvent(event);
|
||||||
painter -> setPen(Qt::green);
|
|
||||||
drawPoint(painter, mapFromScene(pos()));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
void PartText::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
Handle context menu events.
|
{
|
||||||
@param event Object describing the context menu event to handle.
|
if(event->button() == Qt::LeftButton)
|
||||||
*/
|
m_origine_pos = this->pos();
|
||||||
void PartText::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) {
|
|
||||||
Q_UNUSED(event);
|
QGraphicsObject::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
void PartText::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
Handle events generated when the mouse hovers over the decorator.
|
{
|
||||||
@param event Object describing the hover event.
|
if((event->button() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable) && m_origine_pos != pos())
|
||||||
*/
|
{
|
||||||
void PartText::hoverMoveEvent(QGraphicsSceneHoverEvent *event) {
|
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "pos", QVariant(m_origine_pos), QVariant(pos()));
|
||||||
// force the cursor when the text is being edited
|
undo->setText(tr("Déplacer un texte"));
|
||||||
if (hasFocus() && decorator_) {
|
undo->enableAnimation();
|
||||||
decorator_ -> setCursor(Qt::IBeamCursor);
|
elementScene()->undoStack().push(undo);
|
||||||
}
|
}
|
||||||
QGraphicsTextItem::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
QGraphicsObject::mouseReleaseEvent(event);
|
||||||
@reimp CustomElementPart::setDecorator(ElementPrimitiveDecorator *)
|
|
||||||
Install or remove a sceneEventFilter on the decorator and ensure it will
|
|
||||||
adjust itself while the text is being edited.
|
|
||||||
*/
|
|
||||||
void PartText::setDecorator(ElementPrimitiveDecorator *decorator) {
|
|
||||||
if (decorator) {
|
|
||||||
decorator -> installSceneEventFilter(this);
|
|
||||||
// ensure the decorator will adjust itself when the text area expands or shrinks
|
|
||||||
connect(document(), SIGNAL(contentsChanged()), decorator, SLOT(adjust()));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
decorator_ -> removeSceneEventFilter(this);
|
|
||||||
endEdition();
|
|
||||||
}
|
|
||||||
decorator_ = decorator;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@reimp QGraphicsItem::sceneEventFilter(QGraphicsItem *, QEvent *).
|
|
||||||
Intercepts events before they reach the watched target, i.e. typically the
|
|
||||||
primitives decorator.
|
|
||||||
This method mainly works with key strokes (F2, escape) and double clicks to
|
|
||||||
begin or end text edition.
|
|
||||||
*/
|
|
||||||
bool PartText::sceneEventFilter(QGraphicsItem *watched, QEvent *event) {
|
|
||||||
if (watched != decorator_) return(false);
|
|
||||||
|
|
||||||
QPointF event_scene_pos = QET::graphicsSceneEventPos(event);
|
|
||||||
if (!event_scene_pos.isNull()) {
|
|
||||||
if (contains(mapFromScene(event_scene_pos))) {
|
|
||||||
if (hasFocus()) {
|
|
||||||
return sceneEvent(event); // manually deliver the event to this item
|
|
||||||
return(true); // prevent this event from being delivered to any item
|
|
||||||
} else {
|
|
||||||
if (event -> type() == QEvent::GraphicsSceneMouseDoubleClick) {
|
|
||||||
mouseDoubleClickEvent(static_cast<QGraphicsSceneMouseEvent *>(event));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (event -> type() == QEvent::KeyRelease || event -> type() == QEvent::KeyPress) {
|
|
||||||
// Intercept F2 and escape keystrokes to focus in and out
|
|
||||||
QKeyEvent *key_event = static_cast<QKeyEvent *>(event);
|
|
||||||
if (!hasFocus() && key_event -> key() == Qt::Key_F2) {
|
|
||||||
setEditable(true);
|
|
||||||
QTextCursor qtc = textCursor();
|
|
||||||
qtc.setPosition(qMax(0, document()->characterCount() - 1));
|
|
||||||
setTextCursor(qtc);
|
|
||||||
} else if (hasFocus() && key_event -> key() == Qt::Key_Escape) {
|
|
||||||
endEdition();
|
|
||||||
}
|
|
||||||
if (hasFocus()) {
|
|
||||||
sceneEvent(event); // manually deliver the event to this item
|
|
||||||
return(true); // prevent this event from being delivered to any item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartText::singleItemPressEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartText::singleItemMoveEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartText::singleItemReleaseEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartText::singleItemDoubleClickEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
// calling mouseDoubleClickEvent() will set this text item editable and grab keyboard focus
|
|
||||||
if (event -> button() == Qt::LeftButton) {
|
|
||||||
mouseDoubleClickEvent(event);
|
|
||||||
return(true);
|
|
||||||
}
|
|
||||||
return(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -442,27 +326,4 @@ void PartText::endEdition()
|
|||||||
setTextCursor(qtc);
|
setTextCursor(qtc);
|
||||||
|
|
||||||
setEditable(false);
|
setEditable(false);
|
||||||
if (decorator_) {
|
|
||||||
decorator_ -> setFocus();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
|
||||||
/**
|
|
||||||
Dessine deux petites fleches pour mettre un point en valeur
|
|
||||||
@param painter QPainter a utiliser pour effectuer le rendu
|
|
||||||
@param point Point a dessiner
|
|
||||||
*/
|
|
||||||
void PartText::drawPoint(QPainter *painter, const QPointF &point) {
|
|
||||||
qreal px = point.x();
|
|
||||||
qreal py = point.y();
|
|
||||||
qreal size_1 = 5.0;
|
|
||||||
qreal size_2 = 1.0;
|
|
||||||
painter -> drawLine(QLineF(px, py, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px + size_1 - size_2, py - size_2, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px + size_1 - size_2, py + size_2, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px, py, px, py + size_1));
|
|
||||||
painter -> drawLine(QLineF(px, py + size_1, px - size_2, py + size_1 - size_2));
|
|
||||||
painter -> drawLine(QLineF(px, py + size_1, px + size_2, py + size_1 - size_2));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
|
|
||||||
// constructors, destructor
|
// constructors, destructor
|
||||||
public:
|
public:
|
||||||
PartText(QETElementEditor *, QGraphicsItem * = 0, ElementScene * = 0);
|
PartText(QETElementEditor *, QGraphicsItem * = 0);
|
||||||
virtual ~PartText();
|
virtual ~PartText();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -55,12 +55,6 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
virtual QRectF sceneGeometricRect() const;
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
|
||||||
virtual void setDecorator(ElementPrimitiveDecorator *);
|
|
||||||
virtual bool singleItemPressEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemMoveEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemReleaseEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemDoubleClickEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
|
|
||||||
///PROPERTY
|
///PROPERTY
|
||||||
void setProperty(const char *name, const QVariant &value) {QGraphicsTextItem::setProperty(name, value);}
|
void setProperty(const char *name, const QVariant &value) {QGraphicsTextItem::setProperty(name, value);}
|
||||||
@@ -81,31 +75,29 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
Q_PROPERTY(QString text READ toPlainText WRITE setPlainText)
|
Q_PROPERTY(QString text READ toPlainText WRITE setPlainText)
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void adjustItemPosition(int = 0);
|
void adjustItemPosition(int = 0);
|
||||||
void setEditable(bool);
|
void setEditable(bool);
|
||||||
void startEdition();
|
void startEdition();
|
||||||
void endEdition();
|
void endEdition();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *);
|
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *);
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual bool sceneEventFilter(QGraphicsItem *, QEvent *);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void focusInEvent(QFocusEvent *);
|
virtual void focusInEvent(QFocusEvent *);
|
||||||
virtual void focusOutEvent(QFocusEvent *);
|
virtual void focusOutEvent(QFocusEvent *);
|
||||||
virtual void keyPressEvent(QKeyEvent *);
|
virtual void keyPressEvent(QKeyEvent *);
|
||||||
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
|
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
|
||||||
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
||||||
QRectF boundingRect() const;
|
QRectF boundingRect() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointF margin() const;
|
QPointF margin() const;
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
QString previous_text;
|
||||||
void drawPoint(QPainter *, const QPointF &);
|
qreal real_font_size_;
|
||||||
#endif
|
QPointF saved_point_;
|
||||||
QString previous_text;
|
qreal saved_font_size_;
|
||||||
qreal real_font_size_;
|
QGraphicsItem *decorator_;
|
||||||
QPointF saved_point_;
|
QPointF m_origine_pos;
|
||||||
qreal saved_font_size_;
|
|
||||||
QGraphicsItem *decorator_;
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -20,26 +20,24 @@
|
|||||||
#include "elementprimitivedecorator.h"
|
#include "elementprimitivedecorator.h"
|
||||||
#include "qetapp.h"
|
#include "qetapp.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
|
#include "elementscene.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Constructeur
|
Constructeur
|
||||||
@param editor L'editeur d'element concerne
|
@param editor L'editeur d'element concerne
|
||||||
@param parent Le QGraphicsItem parent de ce champ de texte
|
@param parent Le QGraphicsItem parent de ce champ de texte
|
||||||
@param scene La scene sur laquelle figure ce champ de texte
|
|
||||||
*/
|
*/
|
||||||
PartTextField::PartTextField(QETElementEditor *editor, QGraphicsItem *parent, QGraphicsScene *scene) :
|
PartTextField::PartTextField(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
QGraphicsTextItem(parent),
|
QGraphicsTextItem(parent),
|
||||||
CustomElementPart(editor),
|
CustomElementPart(editor),
|
||||||
follow_parent_rotations(true),
|
follow_parent_rotations(true),
|
||||||
m_tagg("none"),
|
m_tagg("none"),
|
||||||
previous_text(),
|
previous_text()
|
||||||
decorator_(0)
|
|
||||||
{
|
{
|
||||||
Q_UNUSED(scene);
|
|
||||||
setDefaultTextColor(Qt::black);
|
setDefaultTextColor(Qt::black);
|
||||||
setFont(QETApp::diagramTextsFont());
|
setFont(QETApp::diagramTextsFont());
|
||||||
real_font_size_ = font().pointSize();
|
real_font_size_ = font().pointSize();
|
||||||
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges);
|
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges | QGraphicsItem::ItemIsMovable);
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
setPlainText(QObject::tr("_", "default text when adding a textfield in the element editor"));
|
setPlainText(QObject::tr("_", "default text when adding a textfield in the element editor"));
|
||||||
|
|
||||||
@@ -112,73 +110,43 @@ QPointF PartTextField::margin() const {
|
|||||||
return(QPointF(0.0, boundingRect().bottom() / 2.0));
|
return(QPointF(0.0, boundingRect().bottom() / 2.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
void PartTextField::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||||
Handle context menu events.
|
{
|
||||||
@param event Object describing the context menu event to handle.
|
if((event->buttons() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable))
|
||||||
*/
|
{
|
||||||
void PartTextField::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) {
|
QPointF pos = event->scenePos() + (m_origine_pos - event->buttonDownScenePos(Qt::LeftButton));
|
||||||
Q_UNUSED(event);
|
event->modifiers() == Qt::ControlModifier ? setPos(pos) : setPos(elementScene()->snapToGrid(pos));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
QGraphicsObject::mouseMoveEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PartTextField::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
if(event->button() == Qt::LeftButton)
|
||||||
|
m_origine_pos = this->pos();
|
||||||
|
|
||||||
|
QGraphicsObject::mousePressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PartTextField::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
if((event->button() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable) && m_origine_pos != pos())
|
||||||
|
{
|
||||||
|
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "pos", QVariant(m_origine_pos), QVariant(pos()));
|
||||||
|
undo->setText(tr("Déplacer un champ texte"));
|
||||||
|
undo->enableAnimation();
|
||||||
|
elementScene()->undoStack().push(undo);
|
||||||
|
}
|
||||||
|
|
||||||
|
QGraphicsObject::mouseReleaseEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Handle events generated when the mouse hovers over the decorator.
|
* @brief PartTextField::focusInEvent
|
||||||
@param event Object describing the hover event.
|
* @param e The QFocusEvent object describing the focus gain.
|
||||||
*/
|
Start text edition when the item gains focus.
|
||||||
void PartTextField::hoverMoveEvent(QGraphicsSceneHoverEvent *event) {
|
*/
|
||||||
// force the cursor when the text is being edited
|
|
||||||
if (hasFocus() && decorator_) {
|
|
||||||
decorator_ -> setCursor(Qt::IBeamCursor);
|
|
||||||
}
|
|
||||||
QGraphicsTextItem::hoverMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@reimp QGraphicsItem::sceneEventFilter(QGraphicsItem *, QEvent *).
|
|
||||||
Intercepts events before they reach the watched target, i.e. typically the
|
|
||||||
primitives decorator.
|
|
||||||
This method mainly works with key strokes (F2, escape) and double clicks to
|
|
||||||
begin or end text edition.
|
|
||||||
*/
|
|
||||||
bool PartTextField::sceneEventFilter(QGraphicsItem *watched, QEvent *event) {
|
|
||||||
if (watched != decorator_) return(false);
|
|
||||||
|
|
||||||
QPointF event_scene_pos = QET::graphicsSceneEventPos(event);
|
|
||||||
if (!event_scene_pos.isNull()) {
|
|
||||||
if (contains(mapFromScene(event_scene_pos))) {
|
|
||||||
if (hasFocus()) {
|
|
||||||
return sceneEvent(event); // manually deliver the event to this item
|
|
||||||
return(true); // prevent this event from being delivered to any item
|
|
||||||
} else {
|
|
||||||
if (event -> type() == QEvent::GraphicsSceneMouseDoubleClick) {
|
|
||||||
mouseDoubleClickEvent(static_cast<QGraphicsSceneMouseEvent *>(event));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (event -> type() == QEvent::KeyRelease || event -> type() == QEvent::KeyPress) {
|
|
||||||
// Intercept F2 and escape keystrokes to focus in and out
|
|
||||||
QKeyEvent *key_event = static_cast<QKeyEvent *>(event);
|
|
||||||
if (!hasFocus() && key_event -> key() == Qt::Key_F2) {
|
|
||||||
setEditable(true);
|
|
||||||
QTextCursor qtc = textCursor();
|
|
||||||
qtc.setPosition(qMax(0, document()->characterCount() - 1));
|
|
||||||
setTextCursor(qtc);
|
|
||||||
} else if (hasFocus() && key_event -> key() == Qt::Key_Escape) {
|
|
||||||
endEdition();
|
|
||||||
}
|
|
||||||
if (hasFocus()) {
|
|
||||||
sceneEvent(event); // manually deliver the event to this item
|
|
||||||
return(true); // prevent this event from being delivered to any item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@reimp QGraphicsItem::focusInEvent(QFocusEvent *)
|
|
||||||
@param e The QFocusEvent object describing the focus gain.
|
|
||||||
Start text edition when the item gains focus.
|
|
||||||
*/
|
|
||||||
void PartTextField::focusInEvent(QFocusEvent *e) {
|
void PartTextField::focusInEvent(QFocusEvent *e) {
|
||||||
startEdition();
|
startEdition();
|
||||||
QGraphicsTextItem::focusInEvent(e);
|
QGraphicsTextItem::focusInEvent(e);
|
||||||
@@ -286,88 +254,6 @@ void PartTextField::handleUserTransformation(const QRectF &initial_selection_rec
|
|||||||
qreal new_font_size = saved_font_size_ * sy;
|
qreal new_font_size = saved_font_size_ * sy;
|
||||||
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
Dessine le texte statique.
|
|
||||||
@param painter QPainter a utiliser pour effectuer le rendu
|
|
||||||
@param qsogi Pptions de dessin
|
|
||||||
@param widget Widget sur lequel on dessine (facultatif)
|
|
||||||
*/
|
|
||||||
void PartTextField::paint(QPainter *painter, const QStyleOptionGraphicsItem *qsogi, QWidget *widget) {
|
|
||||||
// According to the source code of QGraphicsTextItem::paint(), this should
|
|
||||||
// avoid the drawing of the dashed rectangle around the text.
|
|
||||||
QStyleOptionGraphicsItem our_qsogi(*qsogi);
|
|
||||||
our_qsogi.state = QStyle::State_None;
|
|
||||||
|
|
||||||
QGraphicsTextItem::paint(painter, &our_qsogi, widget);
|
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
|
||||||
painter -> setPen(Qt::blue);
|
|
||||||
painter -> drawRect(boundingRect());
|
|
||||||
|
|
||||||
painter -> setPen(Qt::red);
|
|
||||||
drawPoint(painter, QPointF(0, 0));
|
|
||||||
|
|
||||||
painter -> setPen(QColor("#800000"));
|
|
||||||
drawPoint(painter, mapFromScene(pos()));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@reimp CustomElementPart::setDecorator(ElementPrimitiveDecorator *)
|
|
||||||
Install or remove a sceneEventFilter on the decorator and ensure it will
|
|
||||||
adjust itself while the text is being edited.
|
|
||||||
*/
|
|
||||||
void PartTextField::setDecorator(ElementPrimitiveDecorator *decorator) {
|
|
||||||
if (decorator) {
|
|
||||||
decorator -> installSceneEventFilter(this);
|
|
||||||
// ensure the decorator will adjust itself when the text area expands or shrinks
|
|
||||||
connect(document(), SIGNAL(contentsChanged()), decorator, SLOT(adjust()));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
decorator_ -> removeSceneEventFilter(this);
|
|
||||||
endEdition();
|
|
||||||
}
|
|
||||||
decorator_ = decorator;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartTextField::singleItemPressEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartTextField::singleItemMoveEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartTextField::singleItemReleaseEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
Q_UNUSED(event)
|
|
||||||
return(hasFocus());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Accept the mouse \a event relayed by \a decorator if this text item has focus.
|
|
||||||
*/
|
|
||||||
bool PartTextField::singleItemDoubleClickEvent(ElementPrimitiveDecorator *decorator, QGraphicsSceneMouseEvent *event) {
|
|
||||||
Q_UNUSED(decorator)
|
|
||||||
// calling mouseDoubleClickEvent() will set this text item editable and grab keyboard focus
|
|
||||||
if (event -> button() == Qt::LeftButton) {
|
|
||||||
mouseDoubleClickEvent(event);
|
|
||||||
return(true);
|
|
||||||
}
|
|
||||||
return(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Cette methode s'assure que la position du champ de texte est coherente
|
Cette methode s'assure que la position du champ de texte est coherente
|
||||||
@@ -434,27 +320,4 @@ void PartTextField::endEdition()
|
|||||||
setTextCursor(qtc);
|
setTextCursor(qtc);
|
||||||
|
|
||||||
setEditable(false);
|
setEditable(false);
|
||||||
if (decorator_) {
|
|
||||||
decorator_ -> setFocus();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
|
||||||
/**
|
|
||||||
Dessine deux petites fleches pour mettre un point en valeur
|
|
||||||
@param painter QPainter a utiliser pour effectuer le rendu
|
|
||||||
@param point Point a dessiner
|
|
||||||
*/
|
|
||||||
void PartTextField::drawPoint(QPainter *painter, const QPointF &point) {
|
|
||||||
qreal px = point.x();
|
|
||||||
qreal py = point.y();
|
|
||||||
qreal size_1 = 5.0;
|
|
||||||
qreal size_2 = 1.0;
|
|
||||||
painter -> drawLine(QLineF(px, py, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px + size_1 - size_2, py - size_2, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px + size_1 - size_2, py + size_2, px + size_1, py));
|
|
||||||
painter -> drawLine(QLineF(px, py, px, py + size_1));
|
|
||||||
painter -> drawLine(QLineF(px, py + size_1, px - size_2, py + size_1 - size_2));
|
|
||||||
painter -> drawLine(QLineF(px, py + size_1, px + size_2, py + size_1 - size_2));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -29,12 +29,13 @@ class ElementPrimitiveDecorator;
|
|||||||
a default value. The field will remain editable once the element is added onto
|
a default value. The field will remain editable once the element is added onto
|
||||||
a diagram. lorsque l'element sera pose sur un schema.
|
a diagram. lorsque l'element sera pose sur un schema.
|
||||||
*/
|
*/
|
||||||
class PartTextField : public QGraphicsTextItem, public CustomElementPart {
|
class PartTextField : public QGraphicsTextItem, public CustomElementPart
|
||||||
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
// constructors, destructor
|
// constructors, destructor
|
||||||
public:
|
public:
|
||||||
PartTextField(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0);
|
PartTextField(QETElementEditor *, QGraphicsItem * = 0);
|
||||||
virtual ~PartTextField();
|
virtual ~PartTextField();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -61,12 +62,6 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
virtual QRectF sceneGeometricRect() const;
|
virtual QRectF sceneGeometricRect() const;
|
||||||
virtual void startUserTransformation(const QRectF &);
|
virtual void startUserTransformation(const QRectF &);
|
||||||
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
virtual void handleUserTransformation(const QRectF &, const QRectF &);
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0 );
|
|
||||||
virtual void setDecorator(ElementPrimitiveDecorator *);
|
|
||||||
virtual bool singleItemPressEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemMoveEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemReleaseEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
virtual bool singleItemDoubleClickEvent(ElementPrimitiveDecorator *, QGraphicsSceneMouseEvent *);
|
|
||||||
|
|
||||||
///PROPERTY
|
///PROPERTY
|
||||||
virtual void setProperty(const char *name, const QVariant &value) {QGraphicsTextItem::setProperty(name, value);}
|
virtual void setProperty(const char *name, const QVariant &value) {QGraphicsTextItem::setProperty(name, value);}
|
||||||
@@ -102,25 +97,22 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
void endEdition();
|
void endEdition();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *);
|
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *);
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual bool sceneEventFilter(QGraphicsItem *, QEvent *);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void focusInEvent(QFocusEvent *);
|
virtual void focusInEvent(QFocusEvent *);
|
||||||
virtual void focusOutEvent(QFocusEvent *);
|
virtual void focusOutEvent(QFocusEvent *);
|
||||||
virtual void keyPressEvent(QKeyEvent *);
|
virtual void keyPressEvent(QKeyEvent *);
|
||||||
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
|
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
|
||||||
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
||||||
QRectF boundingRect() const;
|
QRectF boundingRect() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointF margin() const;
|
QPointF margin() const;
|
||||||
#ifdef QET_DEBUG_EDITOR_TEXTS
|
QString previous_text;
|
||||||
void drawPoint(QPainter *, const QPointF &);
|
qreal real_font_size_;
|
||||||
#endif
|
QPointF saved_point_;
|
||||||
QString previous_text;
|
qreal saved_font_size_;
|
||||||
qreal real_font_size_;
|
QPointF m_origine_pos;
|
||||||
QPointF saved_point_;
|
|
||||||
qreal saved_font_size_;
|
|
||||||
QGraphicsItem *decorator_;
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace QET {
|
|||||||
/// QElectroTech version (as string, used to mark projects and elements XML documents)
|
/// QElectroTech version (as string, used to mark projects and elements XML documents)
|
||||||
const QString version = "0.60";
|
const QString version = "0.60";
|
||||||
/// QElectroTech displayed version
|
/// QElectroTech displayed version
|
||||||
const QString displayedVersion = "0.60-RC2";
|
const QString displayedVersion = "0.60-RC3";
|
||||||
QString license();
|
QString license();
|
||||||
|
|
||||||
/// Oriented movements
|
/// Oriented movements
|
||||||
|
|||||||
@@ -2180,27 +2180,28 @@ QMessageBox::warning(0,
|
|||||||
"\n"
|
"\n"
|
||||||
"Requires python 3.5 or above.\n"
|
"Requires python 3.5 or above.\n"
|
||||||
">> First install on Linux\n"
|
">> First install on Linux\n"
|
||||||
"1. check you have pip3 installed: pip3 --version.\n"
|
"1. check you have pip3 installed: pip3 --version\n"
|
||||||
"If not install with: sudo apt-get install python3-pip\n"
|
"If not install with: sudo apt-get install python3-pip\n"
|
||||||
"2. Install the program: sudo pip3 install qet_tb_generator\n"
|
"2. Install the program: sudo pip3 install qet_tb_generator\n"
|
||||||
"3. Run the program: qet_tb_generator\n"
|
"3. Run the program: qet_tb_generator\n"
|
||||||
">> Update on Linux\n"
|
">> Update on Linux\n"
|
||||||
"sudo pip3 install --upgrade qet_tb_generator\n"
|
"sudo pip3 install --upgrade qet_tb_generator \n"
|
||||||
"\n"
|
"\n"
|
||||||
">> First install on Windows\n"
|
">> First install on Windows\n"
|
||||||
"1. Install, if required, python 3.5 or above\n"
|
"1. Install, if required, python 3.5 or above \n"
|
||||||
"2. pip install qet_generator\n"
|
"2. pip install qet_tb_generator\n"
|
||||||
">> Update on Windows\n"
|
">> Update on Windows\n"
|
||||||
"python -m pip install --upgrade qet_tb_generator\n"
|
"python -m pip install --upgrade qet_tb_generator\n"
|
||||||
">> First install on macOSX\n"
|
">>user could launch in a terminal this script in this directory \n"
|
||||||
"1. Install, if required, python 3.5 or above\n"
|
" C:\\users\\XXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\Scripts \n"
|
||||||
"2. Install tkinter with Tcl/Tk\n"
|
"\n"
|
||||||
"3. Visit https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674\n"
|
">> First install on macOSX \n"
|
||||||
"2. pip3 install qet_generator\n"
|
"1. Install, if required, python 3.5 or above \n"
|
||||||
">> Update on macOSX\n"
|
" Visit https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674 \n"
|
||||||
"pip3 install --upgrade qet_tb_generator\n"
|
"2. pip3 install qet_tb_generator \n"
|
||||||
|
">> Update on macOSX \n"
|
||||||
|
" pip3 install --upgrade qet_tb_generator \n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,17 +78,16 @@ Conductor::Conductor(Terminal *p1, Terminal* p2) :
|
|||||||
terminal1(p1),
|
terminal1(p1),
|
||||||
terminal2(p2),
|
terminal2(p2),
|
||||||
m_mouse_over(false),
|
m_mouse_over(false),
|
||||||
m_handler(10),
|
|
||||||
m_text_item(0),
|
m_text_item(0),
|
||||||
segments(NULL),
|
segments(NULL),
|
||||||
moving_segment(false),
|
m_moving_segment(false),
|
||||||
modified_path(false),
|
modified_path(false),
|
||||||
has_to_save_profile(false),
|
has_to_save_profile(false),
|
||||||
must_highlight_(Conductor::None)
|
must_highlight_(Conductor::None)
|
||||||
{
|
{
|
||||||
//set Zvalue at 11 to be upper than the DiagramImageItem and element
|
//set Zvalue at 11 to be upper than the DiagramImageItem and element
|
||||||
setZValue(11);
|
setZValue(11);
|
||||||
previous_z_value = zValue();
|
m_previous_z_value = zValue();
|
||||||
|
|
||||||
//Add this conductor to the list of conductor of each of the two terminal
|
//Add this conductor to the list of conductor of each of the two terminal
|
||||||
bool ajout_p1 = terminal1 -> addConductor(this);
|
bool ajout_p1 = terminal1 -> addConductor(this);
|
||||||
@@ -117,7 +116,7 @@ Conductor::Conductor(Terminal *p1, Terminal* p2) :
|
|||||||
|
|
||||||
//Generate the path of this conductor.
|
//Generate the path of this conductor.
|
||||||
generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation());
|
generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation());
|
||||||
setFlags(QGraphicsItem::ItemIsSelectable);
|
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsScenePositionChanges);
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
|
|
||||||
// Add the text field
|
// Add the text field
|
||||||
@@ -137,6 +136,7 @@ Conductor::Conductor(Terminal *p1, Terminal* p2) :
|
|||||||
*/
|
*/
|
||||||
Conductor::~Conductor()
|
Conductor::~Conductor()
|
||||||
{
|
{
|
||||||
|
removeHandler();
|
||||||
terminal1->removeConductor(this);
|
terminal1->removeConductor(this);
|
||||||
terminal2->removeConductor(this);
|
terminal2->removeConductor(this);
|
||||||
deleteSegments();
|
deleteSegments();
|
||||||
@@ -171,30 +171,39 @@ void Conductor::updatePath(const QRectF &rect) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Genere le QPainterPath a partir de la liste des points
|
* @brief Conductor::segmentsToPath
|
||||||
*/
|
* Generate the QPainterPath from the list of points
|
||||||
void Conductor::segmentsToPath() {
|
*/
|
||||||
// chemin qui sera dessine
|
void Conductor::segmentsToPath()
|
||||||
|
{
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
|
|
||||||
// s'il n'y a pa des segments, on arrete la
|
if (segments == NULL)
|
||||||
if (segments == NULL) setPath(path);
|
setPath(path);
|
||||||
|
|
||||||
// demarre le chemin
|
//Start the path
|
||||||
path.moveTo(segments -> firstPoint());
|
path.moveTo(segments -> firstPoint());
|
||||||
|
//Each segments
|
||||||
// parcourt les segments pour dessiner le chemin
|
|
||||||
ConductorSegment *segment = segments;
|
ConductorSegment *segment = segments;
|
||||||
while(segment -> hasNextSegment()) {
|
while(segment -> hasNextSegment()) {
|
||||||
path.lineTo(segment -> secondPoint());
|
path.lineTo(segment -> secondPoint());
|
||||||
segment = segment -> nextSegment();
|
segment = segment -> nextSegment();
|
||||||
}
|
}
|
||||||
|
//Finish the path
|
||||||
// termine le chemin
|
|
||||||
path.lineTo(segment -> secondPoint());
|
path.lineTo(segment -> secondPoint());
|
||||||
|
|
||||||
// affecte le chemin au conducteur
|
|
||||||
setPath(path);
|
setPath(path);
|
||||||
|
|
||||||
|
//If conductor is selected and he's not being modified
|
||||||
|
//we update the position of the handlers
|
||||||
|
if (isSelected() && !m_moving_segment)
|
||||||
|
{
|
||||||
|
if(handlerPoints().size() == m_handler_vector.size())
|
||||||
|
adjusteHandlerPos();
|
||||||
|
else
|
||||||
|
removeHandler();
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -467,7 +476,7 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi
|
|||||||
qp -> save();
|
qp -> save();
|
||||||
qp -> setRenderHint(QPainter::Antialiasing, false);
|
qp -> setRenderHint(QPainter::Antialiasing, false);
|
||||||
|
|
||||||
// determine la couleur du conducteur
|
// Set the color of conductor
|
||||||
QColor final_conductor_color(m_properties.color);
|
QColor final_conductor_color(m_properties.color);
|
||||||
if (must_highlight_ == Normal) {
|
if (must_highlight_ == Normal) {
|
||||||
final_conductor_color = QColor::fromRgb(69, 137, 255, 255);
|
final_conductor_color = QColor::fromRgb(69, 137, 255, 255);
|
||||||
@@ -486,24 +495,25 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi
|
|||||||
//Draw the conductor bigger when is hovered
|
//Draw the conductor bigger when is hovered
|
||||||
conductor_pen.setWidthF(m_mouse_over? (m_properties.cond_size) +4 : (m_properties.cond_size));
|
conductor_pen.setWidthF(m_mouse_over? (m_properties.cond_size) +4 : (m_properties.cond_size));
|
||||||
|
|
||||||
// affectation du QPen et de la QBrush modifies au QPainter
|
//Set the QPen and QBrush to the QPainter
|
||||||
qp -> setBrush(conductor_brush);
|
qp -> setBrush(conductor_brush);
|
||||||
QPen final_conductor_pen = conductor_pen;
|
QPen final_conductor_pen = conductor_pen;
|
||||||
|
|
||||||
// modification du QPen generique pour lui affecter la couleur et le style adequats
|
//Set the conductor style
|
||||||
final_conductor_pen.setColor(final_conductor_color);
|
final_conductor_pen.setColor(final_conductor_color);
|
||||||
final_conductor_pen.setStyle(m_properties.style);
|
final_conductor_pen.setStyle(m_properties.style);
|
||||||
final_conductor_pen.setJoinStyle(Qt::SvgMiterJoin); // meilleur rendu des pointilles
|
final_conductor_pen.setJoinStyle(Qt::SvgMiterJoin); // better rendering with dot
|
||||||
|
|
||||||
// utilisation d'un trait "cosmetique" en-dessous d'un certain zoom
|
//Use a cosmetique line, below a certain zoom
|
||||||
if (options && options -> levelOfDetail < 1.0) {
|
if (options && options -> levelOfDetail < 1.0) {
|
||||||
final_conductor_pen.setCosmetic(true);
|
final_conductor_pen.setCosmetic(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
qp -> setPen(final_conductor_pen);
|
qp -> setPen(final_conductor_pen);
|
||||||
|
|
||||||
// dessin du conducteur
|
//Draw the conductor
|
||||||
qp -> drawPath(path());
|
qp -> drawPath(path());
|
||||||
|
|
||||||
if (m_properties.type == ConductorProperties::Single) {
|
if (m_properties.type == ConductorProperties::Single) {
|
||||||
qp -> setBrush(final_conductor_color);
|
qp -> setBrush(final_conductor_color);
|
||||||
m_properties.singleLineProperties.draw(
|
m_properties.singleLineProperties.draw(
|
||||||
@@ -514,11 +524,7 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi
|
|||||||
if (isSelected()) qp -> setBrush(Qt::NoBrush);
|
if (isSelected()) qp -> setBrush(Qt::NoBrush);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Draw the squares used to modify the path of conductor when he is selected
|
//Draw the junctions
|
||||||
if (isSelected())
|
|
||||||
m_handler.drawHandler(qp, handlerPoints());
|
|
||||||
|
|
||||||
// dessine les eventuelles jonctions
|
|
||||||
QList<QPointF> junctions_list = junctions();
|
QList<QPointF> junctions_list = junctions();
|
||||||
if (!junctions_list.isEmpty()) {
|
if (!junctions_list.isEmpty()) {
|
||||||
final_conductor_pen.setStyle(Qt::SolidLine);
|
final_conductor_pen.setStyle(Qt::SolidLine);
|
||||||
@@ -587,70 +593,18 @@ void Conductor::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
|
|||||||
*/
|
*/
|
||||||
void Conductor::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
void Conductor::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
//Left clic
|
|
||||||
if (event->buttons() & Qt::LeftButton)
|
|
||||||
{
|
|
||||||
//If user click on a handler (square used to modify the path of conductor),
|
|
||||||
//we get the segment corresponding to the handler
|
|
||||||
int index = m_handler.pointIsHoverHandler(event->pos(), handlerPoints());
|
|
||||||
if (index > -1)
|
|
||||||
{
|
|
||||||
moving_segment = true;
|
|
||||||
moved_segment = segmentsList().at(index+1);
|
|
||||||
before_mov_text_pos_ = m_text_item -> pos();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QGraphicsPathItem::mousePressEvent(event);
|
QGraphicsPathItem::mousePressEvent(event);
|
||||||
|
|
||||||
if (event -> modifiers() & Qt::ControlModifier)
|
if (event->modifiers() & Qt::ControlModifier)
|
||||||
setSelected(!isSelected());
|
setSelected(!isSelected());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Conductor::mouseMoveEvent
|
|
||||||
* Manage the mouse move event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void Conductor::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
//Left clic
|
|
||||||
if ((event->buttons() & Qt::LeftButton) && moving_segment)
|
|
||||||
{
|
|
||||||
//Snap the mouse pos to grid
|
|
||||||
QPointF pos_ = Diagram::snapToGrid(event->pos());
|
|
||||||
|
|
||||||
//Position of the last point
|
|
||||||
QPointF p = moved_segment -> middle();
|
|
||||||
|
|
||||||
//Calcul the movement
|
|
||||||
moved_segment -> moveX(pos_.x() - p.x());
|
|
||||||
moved_segment -> moveY(pos_.y() - p.y());
|
|
||||||
|
|
||||||
//Apply the movement
|
|
||||||
modified_path = true;
|
|
||||||
has_to_save_profile = true;
|
|
||||||
segmentsToPath();
|
|
||||||
calculateTextItemPosition();
|
|
||||||
}
|
|
||||||
|
|
||||||
QGraphicsPathItem::mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Conductor::mouseReleaseEvent
|
* @brief Conductor::mouseReleaseEvent
|
||||||
* Manage the mouse release event
|
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void Conductor::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void Conductor::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
moving_segment = false;
|
|
||||||
if (has_to_save_profile)
|
|
||||||
{
|
|
||||||
saveProfile();
|
|
||||||
has_to_save_profile = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(event -> modifiers() & Qt::ControlModifier))
|
if (!(event -> modifiers() & Qt::ControlModifier))
|
||||||
QGraphicsPathItem::mouseReleaseEvent(event);
|
QGraphicsPathItem::mouseReleaseEvent(event);
|
||||||
}
|
}
|
||||||
@@ -678,56 +632,214 @@ void Conductor::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Conductor::hoverMoveEvent conductor
|
* @brief Conductor::itemChange
|
||||||
* @param e QGraphicsSceneHoverEvent describing the event
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
void Conductor::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value)
|
||||||
{
|
{
|
||||||
if (isSelected())
|
if (change == QGraphicsItem::ItemSelectedChange)
|
||||||
{
|
{
|
||||||
//If user hover an handler (square used to modify the path of conductor),
|
if (value.toBool())
|
||||||
//we get the segment corresponding to the handler
|
|
||||||
int index = m_handler.pointIsHoverHandler(event->pos(), handlerPoints());
|
|
||||||
if (index > -1)
|
|
||||||
{
|
{
|
||||||
ConductorSegment *segment_ = segmentsList().at(index+1);
|
m_previous_z_value = zValue();
|
||||||
if (m_handler.pointIsInHandler(event->pos(), segment_->secondPoint()))
|
setZValue(qAbs(m_previous_z_value) + 10000);
|
||||||
setCursor(Qt::ForbiddenCursor);
|
addHandler();
|
||||||
else if (m_handler.pointIsInHandler(event->pos(), segment_->middle()))
|
|
||||||
setCursor(segmentsList().at(index+1)->isVertical() ? Qt::SplitHCursor : Qt::SplitVCursor);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
setCursor(Qt::ArrowCursor);
|
{
|
||||||
|
setZValue(m_previous_z_value);
|
||||||
|
removeHandler();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (change == QGraphicsItem::ItemSceneHasChanged)
|
||||||
|
{
|
||||||
|
calculateTextItemPosition();
|
||||||
|
|
||||||
|
if(!scene())
|
||||||
|
removeHandler();
|
||||||
|
else if (scene() && isSelected())
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
else if (change == QGraphicsItem::ItemVisibleHasChanged) {
|
||||||
|
calculateTextItemPosition();
|
||||||
|
}
|
||||||
|
else if (change == QGraphicsItem::ItemPositionHasChanged && isSelected()) {
|
||||||
|
adjusteHandlerPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
QGraphicsPathItem::hoverMoveEvent(event);
|
return(QGraphicsPathItem::itemChange(change, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gere les changements relatifs au conducteur
|
* @brief Conductor::sceneEventFilter
|
||||||
Reimplemente ici pour :
|
* @param watched
|
||||||
* positionner le conducteur en avant-plan lorsqu'il est selectionne
|
* @param event
|
||||||
@param change Type de changement
|
* @return
|
||||||
@param value Valeur relative au changement
|
*/
|
||||||
*/
|
bool Conductor::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value) {
|
{
|
||||||
if (change == QGraphicsItem::ItemSelectedChange) {
|
//Watched must be an handler
|
||||||
if (value.toBool()) {
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
// le conducteur vient de se faire selectionner
|
{
|
||||||
previous_z_value = zValue();
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
setZValue(qAbs(previous_z_value) + 10000);
|
|
||||||
} else {
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
// le conducteur vient de se faire deselectionner
|
{
|
||||||
setZValue(previous_z_value);
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseDoubleClick) //Double click
|
||||||
|
{
|
||||||
|
editProperty();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (change == QGraphicsItem::ItemSceneHasChanged) {
|
|
||||||
// permet de positionner correctement le texte du conducteur lors de son ajout a un schema
|
|
||||||
calculateTextItemPosition();
|
|
||||||
} else if (change == QGraphicsItem::ItemVisibleHasChanged) {
|
|
||||||
// permet de positionner correctement le texte du conducteur lors de son ajout a un schema
|
|
||||||
calculateTextItemPosition();
|
|
||||||
}
|
}
|
||||||
return(QGraphicsPathItem::itemChange(change, value));
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::adjusteHandlerPos
|
||||||
|
* Adjust the position of the handler item
|
||||||
|
*/
|
||||||
|
void Conductor::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == handlerPoints().size())
|
||||||
|
{
|
||||||
|
QVector <QPointF> points_vector = mapToScene(handlerPoints());
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void Conductor::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
//we get the segment corresponding to the handler
|
||||||
|
if (m_vector_index > -1)
|
||||||
|
{
|
||||||
|
qghi->setColor(Qt::cyan);
|
||||||
|
m_moving_segment = true;
|
||||||
|
m_moved_segment = segmentsList().at(m_vector_index+1);
|
||||||
|
before_mov_text_pos_ = m_text_item -> pos();
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
if(handler != qghi)
|
||||||
|
handler->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void Conductor::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (m_moving_segment)
|
||||||
|
{
|
||||||
|
//Snap the mouse pos to grid
|
||||||
|
QPointF pos_ = Diagram::snapToGrid(mapFromItem(qghi, event->pos()));
|
||||||
|
|
||||||
|
//Position of the last point
|
||||||
|
QPointF p = m_moved_segment -> middle();
|
||||||
|
|
||||||
|
//Calcul the movement
|
||||||
|
m_moved_segment -> moveX(pos_.x() - p.x());
|
||||||
|
m_moved_segment -> moveY(pos_.y() - p.y());
|
||||||
|
|
||||||
|
//Apply the movement
|
||||||
|
modified_path = true;
|
||||||
|
has_to_save_profile = true;
|
||||||
|
segmentsToPath();
|
||||||
|
calculateTextItemPosition();
|
||||||
|
qghi->setPos(mapToScene(m_moved_segment->middle()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void Conductor::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event);
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
m_vector_index = -1;
|
||||||
|
|
||||||
|
m_moving_segment = false;
|
||||||
|
if (has_to_save_profile)
|
||||||
|
{
|
||||||
|
saveProfile();
|
||||||
|
has_to_save_profile = false;
|
||||||
|
}
|
||||||
|
//When handler is released, the conductor can have more segment than befor the handler was moved
|
||||||
|
//then we remove all handles and new ones are added
|
||||||
|
removeHandler();
|
||||||
|
addHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::addHandler
|
||||||
|
* Add handlers for this item
|
||||||
|
*/
|
||||||
|
void Conductor::addHandler()
|
||||||
|
{
|
||||||
|
if (m_handler_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(handlerPoints()));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
handler->setColor(Qt::blue);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
handler->setZValue(this->zValue()+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Conductor::removeHandler
|
||||||
|
* Remove the handlers of this item
|
||||||
|
*/
|
||||||
|
void Conductor::removeHandler()
|
||||||
|
{
|
||||||
|
if (!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -753,22 +865,6 @@ QPainterPath Conductor::shape() const
|
|||||||
|
|
||||||
QPainterPath shape_(pps.createStroke(path()));
|
QPainterPath shape_(pps.createStroke(path()));
|
||||||
|
|
||||||
/**
|
|
||||||
Add handle rect to path, occur a weird bug.
|
|
||||||
when the conductor is removed from the scene he continue to be painted in the scene and make artefact.
|
|
||||||
If we save (exactly when we clear the undo stack of project when saving), Qet crash,
|
|
||||||
Don't add the handle rect to the path seem to work well.
|
|
||||||
More information here :
|
|
||||||
https://qelectrotech.org/bugtracker/view.php?id=107
|
|
||||||
https://qelectrotech.org/forum/viewtopic.php?pid=5619#p5619
|
|
||||||
https://qelectrotech.org/forum/viewtopic.php?pid=5067#p5067
|
|
||||||
**/
|
|
||||||
// if (isSelected()) {
|
|
||||||
// foreach (QRectF rect, m_handler.handlerRect(handlerPoints())) {
|
|
||||||
// shape_.addRect(rect);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
return shape_;
|
return shape_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
#include "conductorproperties.h"
|
#include "conductorproperties.h"
|
||||||
#include <QGraphicsPathItem>
|
#include <QGraphicsPathItem>
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
|
||||||
#include "assignvariables.h"
|
#include "assignvariables.h"
|
||||||
|
|
||||||
class ConductorProfile;
|
class ConductorProfile;
|
||||||
@@ -32,6 +31,8 @@ class ConductorTextItem;
|
|||||||
class Element;
|
class Element;
|
||||||
class QETDiagramEditor;
|
class QETDiagramEditor;
|
||||||
class NumerotationContext;
|
class NumerotationContext;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
typedef QPair<QPointF, Qt::Corner> ConductorBend;
|
typedef QPair<QPointF, Qt::Corner> ConductorBend;
|
||||||
typedef QHash<Qt::Corner, ConductorProfile> ConductorProfilesGroup;
|
typedef QHash<Qt::Corner, ConductorProfile> ConductorProfilesGroup;
|
||||||
/**
|
/**
|
||||||
@@ -133,36 +134,45 @@ class Conductor : public QObject, public QGraphicsPathItem
|
|||||||
protected:
|
protected:
|
||||||
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
|
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
|
||||||
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
|
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
|
||||||
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
|
|
||||||
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
|
||||||
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void addHandler();
|
||||||
|
void removeHandler();
|
||||||
|
|
||||||
|
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
|
int m_vector_index = -1;
|
||||||
bool m_mouse_over;
|
bool m_mouse_over;
|
||||||
QetGraphicsHandlerUtility m_handler;
|
/// Functional properties
|
||||||
/// Functional properties
|
|
||||||
ConductorProperties m_properties;
|
ConductorProperties m_properties;
|
||||||
/// Text input for non simple, non-singleline conductors
|
/// Text input for non simple, non-singleline conductors
|
||||||
ConductorTextItem *m_text_item;
|
ConductorTextItem *m_text_item;
|
||||||
/// Segments composing the conductor
|
/// Segments composing the conductor
|
||||||
ConductorSegment *segments;
|
ConductorSegment *segments;
|
||||||
/// Attributs related to mouse interaction
|
/// Attributs related to mouse interaction
|
||||||
bool moving_segment;
|
bool m_moving_segment;
|
||||||
int moved_point;
|
int moved_point;
|
||||||
qreal previous_z_value;
|
qreal m_previous_z_value;
|
||||||
ConductorSegment *moved_segment;
|
ConductorSegment *m_moved_segment;
|
||||||
QPointF before_mov_text_pos_;
|
QPointF before_mov_text_pos_;
|
||||||
/// Whether the conductor was manually modified by users
|
/// Whether the conductor was manually modified by users
|
||||||
bool modified_path;
|
bool modified_path;
|
||||||
/// Whether the current profile should be saved as soon as possible
|
/// Whether the current profile should be saved as soon as possible
|
||||||
bool has_to_save_profile;
|
bool has_to_save_profile;
|
||||||
/// conductor profile: "photography" of what the conductor is supposed to look
|
/// conductor profile: "photography" of what the conductor is supposed to look
|
||||||
/// like - there is one profile per kind of traject
|
/// like - there is one profile per kind of traject
|
||||||
ConductorProfilesGroup conductor_profiles;
|
ConductorProfilesGroup conductor_profiles;
|
||||||
/// Define whether and how the conductor should be highlighted
|
/// Define whether and how the conductor should be highlighted
|
||||||
Highlight must_highlight_;
|
Highlight must_highlight_;
|
||||||
bool m_valid;
|
bool m_valid;
|
||||||
bool m_freeze_label = false;
|
bool m_freeze_label = false;
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "shapegraphicsitempropertieswidget.h"
|
#include "shapegraphicsitempropertieswidget.h"
|
||||||
#include "PropertiesEditor/propertieseditordialog.h"
|
#include "PropertiesEditor/propertieseditordialog.h"
|
||||||
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
#include "QPropertyUndoCommand/qpropertyundocommand.h"
|
||||||
|
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
||||||
#include "qetxml.h"
|
#include "qetxml.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,18 +38,20 @@ QetShapeItem::QetShapeItem(QPointF p1, QPointF p2, ShapeType type, QGraphicsItem
|
|||||||
m_shapeType(type),
|
m_shapeType(type),
|
||||||
m_P1 (p1),
|
m_P1 (p1),
|
||||||
m_P2 (p2),
|
m_P2 (p2),
|
||||||
m_hovered(false),
|
m_hovered(false)
|
||||||
m_mouse_grab_handler(false),
|
|
||||||
m_handler(10)
|
|
||||||
{
|
{
|
||||||
if (type == Polygon) m_polygon << m_P1 << m_P2;
|
if (type == Polygon) m_polygon << m_P1 << m_P2;
|
||||||
setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
|
setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges);
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
m_pen.setStyle(Qt::DashLine);
|
m_pen.setStyle(Qt::DashLine);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QetShapeItem::~QetShapeItem() {}
|
QetShapeItem::~QetShapeItem()
|
||||||
|
{
|
||||||
|
if(!m_handler_vector.isEmpty())
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief QetShapeItem::setPen
|
* @brief QetShapeItem::setPen
|
||||||
@@ -109,6 +112,7 @@ bool QetShapeItem::setLine(const QLineF &line)
|
|||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_P1 = line.p1();
|
m_P1 = line.p1();
|
||||||
m_P2 = line.p2();
|
m_P2 = line.p2();
|
||||||
|
adjusteHandlerPos();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,6 +129,7 @@ bool QetShapeItem::setRect(const QRectF &rect)
|
|||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_P1 = rect.topLeft();
|
m_P1 = rect.topLeft();
|
||||||
m_P2 = rect.bottomRight();
|
m_P2 = rect.bottomRight();
|
||||||
|
adjusteHandlerPos();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,6 +147,7 @@ bool QetShapeItem::setPolygon(const QPolygonF &polygon)
|
|||||||
if (Q_UNLIKELY(m_shapeType != Polygon)) return false;
|
if (Q_UNLIKELY(m_shapeType != Polygon)) return false;
|
||||||
prepareGeometryChange();
|
prepareGeometryChange();
|
||||||
m_polygon = polygon;
|
m_polygon = polygon;
|
||||||
|
adjusteHandlerPos();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,23 +252,6 @@ QPainterPath QetShapeItem::shape() const
|
|||||||
pps.setJoinStyle(Qt::RoundJoin);
|
pps.setJoinStyle(Qt::RoundJoin);
|
||||||
path = pps.createStroke(path);
|
path = pps.createStroke(path);
|
||||||
|
|
||||||
if (isSelected())
|
|
||||||
{
|
|
||||||
QVector <QPointF> vector;
|
|
||||||
|
|
||||||
if (m_shapeType == Line)
|
|
||||||
vector << m_P1 << m_P2;
|
|
||||||
else if (m_shapeType == Rectangle || m_shapeType == Ellipse) {
|
|
||||||
QRectF rect (m_P1, m_P2);
|
|
||||||
vector << rect.topLeft() << rect.topRight() << rect.bottomRight() << rect.bottomLeft();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
vector = m_polygon;
|
|
||||||
|
|
||||||
foreach(QRectF r, m_handler.handlerRect(vector))
|
|
||||||
path.addRect(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (path);
|
return (path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -294,34 +283,15 @@ void QetShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opti
|
|||||||
painter -> restore ();
|
painter -> restore ();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Draw the shape and handlers if is selected
|
switch (m_shapeType)
|
||||||
switch (m_shapeType)
|
{
|
||||||
{
|
case Line: painter->drawLine(QLineF(m_P1, m_P2)); break;
|
||||||
case Line:
|
case Rectangle: painter->drawRect(QRectF(m_P1, m_P2)); break;
|
||||||
painter->drawLine(QLineF(m_P1, m_P2));
|
case Ellipse: painter->drawEllipse(QRectF(m_P1, m_P2)); break;
|
||||||
if (isSelected())
|
case Polygon: m_close ? painter->drawPolygon(m_polygon) : painter->drawPolyline(m_polygon); break;
|
||||||
m_handler.drawHandler(painter, QVector<QPointF>{m_P1, m_P2});
|
}
|
||||||
break;
|
|
||||||
|
|
||||||
case Rectangle:
|
painter->restore();
|
||||||
painter->drawRect(QRectF(m_P1, m_P2));
|
|
||||||
if (isSelected())
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForRect(QRectF(m_P1, m_P2)));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Ellipse:
|
|
||||||
painter->drawEllipse(QRectF(m_P1, m_P2));
|
|
||||||
if (isSelected())
|
|
||||||
m_handler.drawHandler(painter, m_handler.pointsForRect(QRectF(m_P1, m_P2)));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Polygon:
|
|
||||||
m_close ? painter->drawPolygon(m_polygon) : painter->drawPolyline(m_polygon);
|
|
||||||
if (isSelected())
|
|
||||||
m_handler.drawHandler(painter, m_polygon);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
painter->restore();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -329,142 +299,23 @@ void QetShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opti
|
|||||||
* Handle hover enter event
|
* Handle hover enter event
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void QetShapeItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) {
|
void QetShapeItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
||||||
|
{
|
||||||
m_hovered = true;
|
m_hovered = true;
|
||||||
QetGraphicsItem::hoverEnterEvent(event);
|
QetGraphicsItem::hoverEnterEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QetShapeItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
|
||||||
{
|
|
||||||
if (!isSelected()) return;
|
|
||||||
|
|
||||||
QVector <QPointF> vector;
|
|
||||||
switch (m_shapeType)
|
|
||||||
{
|
|
||||||
case Line: vector << m_P1 << m_P2; break;
|
|
||||||
case Rectangle: vector = m_handler.pointsForRect(QRectF(m_P1, m_P2)); break;
|
|
||||||
case Ellipse: vector = m_handler.pointsForRect(QRectF(m_P1, m_P2)); break;
|
|
||||||
case Polygon: vector = m_polygon; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
int handler = m_handler.pointIsHoverHandler(event->pos(), vector);
|
|
||||||
if (handler >= 0)
|
|
||||||
{
|
|
||||||
if (m_shapeType & (Line | Polygon)) {
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (handler == 0 || handler == 2 || handler == 5 || handler == 7)
|
|
||||||
setCursor(Qt::SizeAllCursor);
|
|
||||||
else if (handler == 1 || handler == 6)
|
|
||||||
setCursor(Qt::SizeVerCursor);
|
|
||||||
else if (handler == 3 || handler == 4)
|
|
||||||
setCursor(Qt::SizeHorCursor);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
setCursor(Qt::OpenHandCursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief QetShapeItem::hoverLeaveEvent
|
* @brief QetShapeItem::hoverLeaveEvent
|
||||||
* Handle hover leave event
|
* Handle hover leave event
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
void QetShapeItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) {
|
void QetShapeItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
|
{
|
||||||
m_hovered = false;
|
m_hovered = false;
|
||||||
unsetCursor();
|
|
||||||
QetGraphicsItem::hoverLeaveEvent(event);
|
QetGraphicsItem::hoverLeaveEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetShapeItem::mousePressEvent
|
|
||||||
* Handle mouse press event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void QetShapeItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (event->button() == Qt::LeftButton)
|
|
||||||
{
|
|
||||||
setCursor(Qt::ClosedHandCursor);
|
|
||||||
//Shape is selected, we see if user click in a handler
|
|
||||||
if (isSelected())
|
|
||||||
{
|
|
||||||
QVector <QPointF> vector;
|
|
||||||
switch (m_shapeType)
|
|
||||||
{
|
|
||||||
case Line: vector << m_P1 << m_P2; break;
|
|
||||||
case Rectangle: vector = m_handler.pointsForRect(QRectF(m_P1, m_P2)); break;
|
|
||||||
case Ellipse: vector = m_handler.pointsForRect(QRectF(m_P1, m_P2)); break;
|
|
||||||
case Polygon: vector = m_polygon; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_vector_index = m_handler.pointIsHoverHandler(event->pos(), vector);
|
|
||||||
if (m_vector_index != -1)
|
|
||||||
{
|
|
||||||
//User click on an handler
|
|
||||||
m_mouse_grab_handler = true;
|
|
||||||
m_old_P1 = m_P1;
|
|
||||||
m_old_P2 = m_P2;
|
|
||||||
m_old_polygon = m_polygon;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QetGraphicsItem::mousePressEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QetShapeItem::mouseMoveEvent
|
|
||||||
* Handle move event
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void QetShapeItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|
||||||
{
|
|
||||||
if (m_mouse_grab_handler)
|
|
||||||
{
|
|
||||||
QPointF new_pos = event->pos();
|
|
||||||
if (event->modifiers() != Qt::ControlModifier)
|
|
||||||
new_pos = mapFromScene(Diagram::snapToGrid(event->scenePos()));
|
|
||||||
|
|
||||||
switch (m_shapeType)
|
|
||||||
{
|
|
||||||
case Line:
|
|
||||||
prepareGeometryChange();
|
|
||||||
m_vector_index == 0 ? m_P1 = new_pos : m_P2 = new_pos;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Rectangle:
|
|
||||||
if (m_resize_mode == 1) {
|
|
||||||
setRect(m_handler.rectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
setRect(m_handler.mirrorRectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Ellipse:
|
|
||||||
if (m_resize_mode == 1) {
|
|
||||||
setRect(m_handler.rectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
setRect(m_handler.mirrorRectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case Polygon:
|
|
||||||
prepareGeometryChange();
|
|
||||||
m_polygon.replace(m_vector_index, new_pos);
|
|
||||||
break;
|
|
||||||
} //End switch
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
QetGraphicsItem::mouseMoveEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief QetShapeItem::mouseReleaseEvent
|
* @brief QetShapeItem::mouseReleaseEvent
|
||||||
* Handle mouse release event
|
* Handle mouse release event
|
||||||
@@ -472,52 +323,251 @@ void QetShapeItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||||||
*/
|
*/
|
||||||
void QetShapeItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void QetShapeItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if ((m_shapeType & (Rectangle | Ellipse)) && event->buttonDownPos(Qt::LeftButton) == event->pos())
|
if (event->buttonDownPos(Qt::LeftButton) == event->pos())
|
||||||
switchResizeMode();
|
switchResizeMode();
|
||||||
|
|
||||||
if (m_mouse_grab_handler)
|
QetGraphicsItem::mouseReleaseEvent(event);
|
||||||
{
|
|
||||||
m_mouse_grab_handler = false;
|
|
||||||
if (diagram())
|
|
||||||
{
|
|
||||||
QPropertyUndoCommand *undo = nullptr;
|
|
||||||
if ((m_shapeType & (Line | Rectangle | Ellipse)) && (m_P1 != m_old_P1 || m_P2 != m_old_P2))
|
|
||||||
{
|
|
||||||
switch(m_shapeType)
|
|
||||||
{
|
|
||||||
case Line: undo = new QPropertyUndoCommand(this, "line",QLineF(m_old_P1, m_old_P2), QLineF(m_P1, m_P2)); break;
|
|
||||||
case Rectangle: undo = new QPropertyUndoCommand(this, "rect",QRectF(m_old_P1, m_old_P2), QRectF(m_P1, m_P2)); break;
|
|
||||||
case Ellipse: undo = new QPropertyUndoCommand(this, "rect",QRectF(m_old_P1, m_old_P2), QRectF(m_P1, m_P2)); break;
|
|
||||||
case Polygon: break;
|
|
||||||
}
|
|
||||||
if (undo) undo->enableAnimation();
|
|
||||||
}
|
|
||||||
else if (m_shapeType == Polygon && (m_polygon != m_old_polygon))
|
|
||||||
undo = new QPropertyUndoCommand(this, "polygon", m_old_polygon, m_polygon);
|
|
||||||
|
|
||||||
if(undo)
|
|
||||||
{
|
|
||||||
undo->setText(tr("Modifier %1").arg(name()));
|
|
||||||
diagram()->undoStack().push(undo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setCursor(Qt::OpenHandCursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
QetGraphicsItem::mouseReleaseEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::itemChange
|
||||||
|
* @param change
|
||||||
|
* @param value
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
QVariant QetShapeItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
|
||||||
|
{
|
||||||
|
if (change == ItemSelectedHasChanged)
|
||||||
|
{
|
||||||
|
if (value.toBool() == true) //If this is selected, wa add handlers.
|
||||||
|
{
|
||||||
|
QVector <QPointF> points_vector;
|
||||||
|
switch (m_shapeType)
|
||||||
|
{
|
||||||
|
case Line: points_vector << m_P1 << m_P2; break;
|
||||||
|
case Rectangle: points_vector = QetGraphicsHandlerUtility::pointsForRect(QRectF(m_P1, m_P2)); break;
|
||||||
|
case Ellipse: points_vector = QetGraphicsHandlerUtility::pointsForRect(QRectF(m_P1, m_P2)); break;
|
||||||
|
case Polygon: points_vector = m_polygon; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!points_vector.isEmpty() && scene())
|
||||||
|
{
|
||||||
|
m_handler_vector = QetGraphicsHandlerItem::handlerForPoint(mapToScene(points_vector));
|
||||||
|
|
||||||
|
for(QetGraphicsHandlerItem *handler : m_handler_vector)
|
||||||
|
{
|
||||||
|
handler->setColor(Qt::blue);
|
||||||
|
scene()->addItem(handler);
|
||||||
|
handler->installSceneEventFilter(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //Else this is deselected, we remove handlers
|
||||||
|
{
|
||||||
|
if(!m_handler_vector.isEmpty())
|
||||||
|
{
|
||||||
|
qDeleteAll(m_handler_vector);
|
||||||
|
m_handler_vector.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (change == ItemPositionHasChanged)
|
||||||
|
{
|
||||||
|
adjusteHandlerPos();
|
||||||
|
}
|
||||||
|
else if (change == ItemSceneHasChanged)
|
||||||
|
{
|
||||||
|
if (!scene()) //This is removed from scene, then we deselect this, and so, the handlers is also removed.
|
||||||
|
{
|
||||||
|
setSelected(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return QGraphicsItem::itemChange(change, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::sceneEventFilter
|
||||||
|
* @param watched
|
||||||
|
* @param event
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool QetShapeItem::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
//Watched must be an handler
|
||||||
|
if(watched->type() == QetGraphicsHandlerItem::Type)
|
||||||
|
{
|
||||||
|
QetGraphicsHandlerItem *qghi = qgraphicsitem_cast<QetGraphicsHandlerItem *>(watched);
|
||||||
|
|
||||||
|
if(m_handler_vector.contains(qghi)) //Handler must be in m_vector_index, then we can start resize
|
||||||
|
{
|
||||||
|
m_vector_index = m_handler_vector.indexOf(qghi);
|
||||||
|
if (m_vector_index != -1)
|
||||||
|
{
|
||||||
|
if(event->type() == QEvent::GraphicsSceneMousePress) //Click
|
||||||
|
{
|
||||||
|
handlerMousePressEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(event->type() == QEvent::GraphicsSceneMouseMove) //Move
|
||||||
|
{
|
||||||
|
handlerMouseMoveEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (event->type() == QEvent::GraphicsSceneMouseRelease) //Release
|
||||||
|
{
|
||||||
|
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::switchResizeMode
|
||||||
|
*/
|
||||||
void QetShapeItem::switchResizeMode()
|
void QetShapeItem::switchResizeMode()
|
||||||
{
|
{
|
||||||
if (m_resize_mode == 1) {
|
if (m_shapeType & (Rectangle | Ellipse))
|
||||||
m_resize_mode = 2;
|
{
|
||||||
m_handler.setOuterColor(Qt::darkGreen);
|
if (m_resize_mode == 1)
|
||||||
|
{
|
||||||
|
m_resize_mode = 2;
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::darkGreen);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_resize_mode = 1;
|
||||||
|
for (QetGraphicsHandlerItem *qghi : m_handler_vector)
|
||||||
|
qghi->setColor(Qt::blue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
}
|
||||||
m_resize_mode = 1;
|
|
||||||
m_handler.setOuterColor(Qt::blue);
|
/**
|
||||||
|
* @brief QetShapeItem::adjusteHandlerPos
|
||||||
|
* Adjust the position of the handler item
|
||||||
|
*/
|
||||||
|
void QetShapeItem::adjusteHandlerPos()
|
||||||
|
{
|
||||||
|
QVector <QPointF> points_vector;
|
||||||
|
switch (m_shapeType)
|
||||||
|
{
|
||||||
|
case Line: points_vector << m_P1 << m_P2; break;
|
||||||
|
case Rectangle: points_vector = QetGraphicsHandlerUtility::pointsForRect(QRectF(m_P1, m_P2)); break;
|
||||||
|
case Ellipse: points_vector = QetGraphicsHandlerUtility::pointsForRect(QRectF(m_P1, m_P2)); break;
|
||||||
|
case Polygon: points_vector = m_polygon; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_handler_vector.size() == points_vector.size())
|
||||||
|
{
|
||||||
|
points_vector = mapToScene(points_vector);
|
||||||
|
for (int i = 0 ; i < points_vector.size() ; ++i)
|
||||||
|
m_handler_vector.at(i)->setPos(points_vector.at(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::handlerMousePressEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void QetShapeItem::handlerMousePressEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
m_old_P1 = m_P1;
|
||||||
|
m_old_P2 = m_P2;
|
||||||
|
m_old_polygon = m_polygon;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::handlerMouseMoveEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void QetShapeItem::handlerMouseMoveEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
|
||||||
|
QPointF new_pos = event->scenePos();
|
||||||
|
if (event->modifiers() != Qt::ControlModifier)
|
||||||
|
new_pos = Diagram::snapToGrid(event->scenePos());
|
||||||
|
new_pos = mapFromScene(new_pos);
|
||||||
|
|
||||||
|
switch (m_shapeType)
|
||||||
|
{
|
||||||
|
case Line:
|
||||||
|
prepareGeometryChange();
|
||||||
|
m_vector_index == 0 ? m_P1 = new_pos : m_P2 = new_pos;
|
||||||
|
adjusteHandlerPos();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Rectangle:
|
||||||
|
if (m_resize_mode == 1) {
|
||||||
|
setRect(QetGraphicsHandlerUtility::rectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setRect(QetGraphicsHandlerUtility::mirrorRectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Ellipse:
|
||||||
|
if (m_resize_mode == 1) {
|
||||||
|
setRect(QetGraphicsHandlerUtility::rectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setRect(QetGraphicsHandlerUtility::mirrorRectForPosAtIndex(QRectF(m_P1, m_P2), new_pos, m_vector_index));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case Polygon:
|
||||||
|
prepareGeometryChange();
|
||||||
|
m_polygon.replace(m_vector_index, new_pos);
|
||||||
|
adjusteHandlerPos();
|
||||||
|
break;
|
||||||
|
} //End switch
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QetShapeItem::handlerMouseReleaseEvent
|
||||||
|
* @param qghi
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
void QetShapeItem::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(qghi);
|
||||||
|
Q_UNUSED(event);
|
||||||
|
|
||||||
|
if (diagram())
|
||||||
|
{
|
||||||
|
QPropertyUndoCommand *undo = nullptr;
|
||||||
|
if ((m_shapeType & (Line | Rectangle | Ellipse)) && (m_P1 != m_old_P1 || m_P2 != m_old_P2))
|
||||||
|
{
|
||||||
|
switch(m_shapeType)
|
||||||
|
{
|
||||||
|
case Line: undo = new QPropertyUndoCommand(this, "line",QLineF(m_old_P1, m_old_P2), QLineF(m_P1, m_P2)); break;
|
||||||
|
case Rectangle: undo = new QPropertyUndoCommand(this, "rect",QRectF(m_old_P1, m_old_P2), QRectF(m_P1, m_P2)); break;
|
||||||
|
case Ellipse: undo = new QPropertyUndoCommand(this, "rect",QRectF(m_old_P1, m_old_P2), QRectF(m_P1, m_P2)); break;
|
||||||
|
case Polygon: break;
|
||||||
|
}
|
||||||
|
if (undo) undo->enableAnimation();
|
||||||
|
}
|
||||||
|
else if (m_shapeType == Polygon && (m_polygon != m_old_polygon))
|
||||||
|
undo = new QPropertyUndoCommand(this, "polygon", m_old_polygon, m_polygon);
|
||||||
|
|
||||||
|
if(undo)
|
||||||
|
{
|
||||||
|
undo->setText(tr("Modifier %1").arg(name()));
|
||||||
|
diagram()->undoStack().push(undo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
update();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -20,10 +20,11 @@
|
|||||||
|
|
||||||
#include <QPen>
|
#include <QPen>
|
||||||
#include "qetgraphicsitem.h"
|
#include "qetgraphicsitem.h"
|
||||||
#include "QetGraphicsItemModeler/qetgraphicshandlerutility.h"
|
#include "QetGraphicsItemModeler/qetgraphicshandleritem.h"
|
||||||
|
|
||||||
class QDomElement;
|
class QDomElement;
|
||||||
class QDomDocument;
|
class QDomDocument;
|
||||||
|
class QetGraphicsHandlerItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The QetShapeItem class
|
* @brief The QetShapeItem class
|
||||||
@@ -96,14 +97,18 @@ class QetShapeItem : public QetGraphicsItem
|
|||||||
protected:
|
protected:
|
||||||
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
||||||
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event);
|
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event);
|
||||||
virtual void hoverMoveEvent (QGraphicsSceneHoverEvent *event);
|
|
||||||
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event);
|
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event);
|
||||||
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseMoveEvent (QGraphicsSceneMouseEvent *event);
|
|
||||||
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
|
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
|
||||||
|
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
|
||||||
|
virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void switchResizeMode();
|
void switchResizeMode();
|
||||||
|
void adjusteHandlerPos();
|
||||||
|
|
||||||
|
void handlerMousePressEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseMoveEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
void handlerMouseReleaseEvent (QetGraphicsHandlerItem *qghi, QGraphicsSceneMouseEvent *event);
|
||||||
|
|
||||||
///ATTRIBUTES
|
///ATTRIBUTES
|
||||||
private:
|
private:
|
||||||
@@ -112,11 +117,10 @@ class QetShapeItem : public QetGraphicsItem
|
|||||||
QBrush m_brush;
|
QBrush m_brush;
|
||||||
QPointF m_P1, m_P2, m_old_P1, m_old_P2;
|
QPointF m_P1, m_P2, m_old_P1, m_old_P2;
|
||||||
QPolygonF m_polygon, m_old_polygon;
|
QPolygonF m_polygon, m_old_polygon;
|
||||||
bool m_hovered,
|
bool m_hovered;
|
||||||
m_mouse_grab_handler;
|
|
||||||
int m_vector_index;
|
int m_vector_index;
|
||||||
QetGraphicsHandlerUtility m_handler;
|
|
||||||
bool m_close = false;
|
bool m_close = false;
|
||||||
int m_resize_mode = 1;
|
int m_resize_mode = 1;
|
||||||
|
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||||
};
|
};
|
||||||
#endif // QETSHAPEITEM_H
|
#endif // QETSHAPEITEM_H
|
||||||
|
|||||||
@@ -68,7 +68,9 @@ ConductorPropertiesWidget::~ConductorPropertiesWidget()
|
|||||||
*/
|
*/
|
||||||
void ConductorPropertiesWidget::setProperties(const ConductorProperties &properties)
|
void ConductorPropertiesWidget::setProperties(const ConductorProperties &properties)
|
||||||
{
|
{
|
||||||
if (m_properties == properties) return;
|
if (m_properties == properties)
|
||||||
|
return;
|
||||||
|
|
||||||
m_properties = properties;
|
m_properties = properties;
|
||||||
|
|
||||||
setColorButton(m_properties.color);
|
setColorButton(m_properties.color);
|
||||||
@@ -295,7 +297,7 @@ void ConductorPropertiesWidget::on_m_color_pb_clicked() {
|
|||||||
* Set m_color_pb to @color
|
* Set m_color_pb to @color
|
||||||
* @param color
|
* @param color
|
||||||
*/
|
*/
|
||||||
void ConductorPropertiesWidget::setColorButton(const QColor &color) {
|
void ConductorPropertiesWidget::setColorButton(const QColor &color){
|
||||||
QPalette palette;
|
QPalette palette;
|
||||||
palette.setColor(QPalette::Button, color);
|
palette.setColor(QPalette::Button, color);
|
||||||
ui -> m_color_pb -> setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
|
ui -> m_color_pb -> setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
|
||||||
|
|||||||
Reference in New Issue
Block a user