Compare commits

..

36 Commits

Author SHA1 Message Date
Simon De Backer 32a90493bd TEST a Merge branch 'XMLProperties'
it gets built let's test it for bugs

 Conflicts:
	sources/ElementsCollection/fileelementcollectionitem.cpp
	sources/QetGraphicsItemModeler/qetgraphicshandleritem.h
	sources/borderproperties.cpp
	sources/conductorproperties.cpp
	sources/conductorproperties.h
	sources/diagram.cpp
	sources/diagram.h
	sources/diagramprintdialog.cpp
	sources/diagramprintdialog.h
	sources/editor/graphicspart/customelementgraphicpart.cpp
	sources/editor/graphicspart/partarc.cpp
	sources/editor/graphicspart/partdynamictextfield.cpp
	sources/editor/graphicspart/partdynamictextfield.h
	sources/editor/graphicspart/partellipse.cpp
	sources/editor/graphicspart/partline.cpp
	sources/editor/graphicspart/partpolygon.cpp
	sources/editor/graphicspart/partrectangle.cpp
	sources/editor/graphicspart/partterminal.cpp
	sources/editor/graphicspart/partterminal.h
	sources/editor/graphicspart/parttext.cpp
	sources/properties/propertiesinterface.cpp
	sources/properties/propertiesinterface.h
	sources/properties/terminaldata.cpp
	sources/properties/terminaldata.h
	sources/properties/xrefproperties.cpp
	sources/properties/xrefproperties.h
	sources/qetgraphicsitem/conductor.cpp
	sources/qetgraphicsitem/conductor.h
	sources/qetgraphicsitem/conductortextitem.h
	sources/qetgraphicsitem/dynamicelementtextitem.h
	sources/qetgraphicsitem/element.cpp
	sources/qetgraphicsitem/element.h
	sources/qetgraphicsitem/elementtextitemgroup.h
	sources/qetgraphicsitem/slaveelement.cpp
	sources/qetgraphicsitem/slaveelement.h
	sources/qetgraphicsitem/terminal.cpp
	sources/qetgraphicsitem/terminal.h
	sources/qetproject.cpp
	sources/titleblockproperties.cpp
2020-10-13 22:31:58 +02:00
Martin Marmsoler eb5494c360 Merge branch 'XMLProperties' of ssh://git.tuxfamily.org/gitroot/qet/qet into XMLProperties 2020-10-12 19:14:02 +02:00
Martin Marmsoler c0d9bf9548 use more meaningful name 2020-10-12 19:11:01 +02:00
Martin Marmsoler f79b1a52bb WIP 2020-10-11 11:05:22 +02:00
Martin Marmsoler 3509a1c7a5 add comments and move some initializations from the source file to the header file 2020-10-10 15:50:04 +02:00
Martin Marmsoler 0dfe0c1613 let conductor textitem export to xml, because the read is also made from it 2020-10-10 12:25:58 +02:00
Martin Marmsoler 497673d83b make createProperty methods static, because they can be used also outside of this class 2020-10-10 12:21:37 +02:00
Martin Marmsoler f18e6bd50f remove default parameter, because it leads only to confusion and errors 2020-10-10 12:02:38 +02:00
Martin Marmsoler 9b8c0101be new method to load properties must be used, otherwise nothing valid will be read 2020-10-10 11:17:15 +02:00
Martin Marmsoler 0cc6558281 Fix issue that conductors where connected wrong. This was, because instead of reusing the id's stored in the Terminal, new id's where created 2020-10-08 19:05:30 +02:00
Martin Marmsoler 52f886e34b add comment 2020-10-08 18:39:11 +02:00
Martin Marmsoler a1cf3711a1 Fix issues 2020-10-07 08:05:01 +02:00
Martin Marmsoler b958848194 Update conductorproperties.cpp and conductor.cpp 2020-10-06 21:40:48 +02:00
Martin Marmsoler 2d21391a09 - AlignBottom shoud be the default
- move inital values to header file
2020-10-06 18:44:14 +02:00
Martin Marmsoler beeeb252b4 fix problem of not showing reference labels 2020-10-06 17:07:16 +02:00
Martin Marmsoler 6d2a88e85f use default value if the parameter is not available 2020-10-06 12:48:39 +02:00
Martin Marmsoler 8ef8a71680 add comment 2020-10-05 21:54:26 +02:00
Martin Marmsoler 8829974852 add comment 2020-10-04 09:34:34 +02:00
Martin Marmsoler 871a2642f4 use m_pos as value to store 2020-10-04 09:34:25 +02:00
Martin Marmsoler 9153588c94 store position when exporting to xml, because terminalData will create the document from m_pos 2020-10-04 09:33:16 +02:00
Martin Marmsoler f3368f159d Fix problem that not all childs were added to the xml document 2020-10-03 20:50:08 +02:00
Martin Marmsoler 9521a8aa0b WIP 2020-10-02 15:49:35 +02:00
Martin Marmsoler c8691b243b if no uuid for the terminal is available, use write the id of the terminal to the xml file, otherwise no connection can be done after saving 2020-10-02 14:58:33 +02:00
Martin Marmsoler 9684d753ec write uuid only in partterminal to xml, because in the other case it is not needed 2020-10-02 14:57:06 +02:00
Martin Marmsoler 15ca6096ca rename f to conductor for better readability 2020-10-02 14:56:15 +02:00
Martin Marmsoler a92683f3fa add comment 2020-10-01 16:51:17 +02:00
Martin Marmsoler 9e54137224 add explanation 2020-10-01 16:39:12 +02:00
Martin Marmsoler 91a56799a7 Solves problem that terminals are not placed at the correct place 2020-10-01 16:31:15 +02:00
Martin Marmsoler 10e767c3e0 add comments 2020-10-01 16:28:48 +02:00
Martin Marmsoler 27a63bbf2b WIP 2020-10-01 14:38:08 +02:00
Martin Marmsoler adc28d32b9 revert saving title block properties in it's own child, because it makes more sense directly in the diagram 2020-09-28 16:29:09 +02:00
Martin Marmsoler 48cce42cfe fix wrong position of segments when loading file. This was, because not the segment property is asked, but the parent and this will not work
additionally support legacy orientation
2020-09-28 15:42:57 +02:00
Martin Marmsoler 6080a7b9c9 WIP 2020-09-14 21:21:32 +02:00
Martin Marmsoler c5f1705745 go on with the work 2020-08-25 20:14:38 +02:00
Martin Marmsoler a10709157d update 2020-08-24 20:34:18 +02:00
Martin Marmsoler 385d0ffd69 initial work to move everything into the propertiesinterface which is related to it 2020-08-13 23:27:11 +02:00
153 changed files with 28230 additions and 32546 deletions
-67
View File
@@ -1,67 +0,0 @@
---
BasedOnStyle: LLVM
AlignAfterOpenBracket: AlwaysBreak
AlignConsecutiveMacros: 'true'
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AlignEscapedNewlines: Right
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'false'
AllowAllConstructorInitializersOnNextLine: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortBlocksOnASingleLine: 'true'
AllowShortCaseLabelsOnASingleLine: 'true'
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Always
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: 'true'
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: 'true'
AlwaysBreakTemplateDeclarations: 'Yes'
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakAfterJavaFieldAnnotations: 'true'
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Allman
BreakBeforeTernaryOperators: 'false'
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterColon
BreakStringLiterals: 'true'
ColumnLimit: '80'
CompactNamespaces: 'false'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
Cpp11BracedListStyle: 'true'
FixNamespaceComments: 'true'
IncludeBlocks: Regroup
IndentCaseLabels: 'false'
IndentPPDirectives: AfterHash
IndentWidth: '4'
JavaScriptWrapImports: 'true'
Language: Cpp
MaxEmptyLinesToKeep: '1'
NamespaceIndentation: All
PointerAlignment: Left
ReflowComments: 'true'
SortIncludes: 'true'
SortUsingDeclarations: 'true'
SpaceAfterCStyleCast: 'true'
SpaceAfterLogicalNot: 'true'
SpaceAfterTemplateKeyword: 'true'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCpp11BracedList: 'true'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: 'true'
SpaceInEmptyParentheses: 'false'
SpacesInAngles: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInContainerLiterals: 'false'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
Standard: Cpp11
TabWidth: '4'
UseTab: Always
...
@@ -1,43 +0,0 @@
<definition version="0.80" link_type="slave" hotspot_x="70" height="60" width="80" type="element" hotspot_y="29">
<uuid uuid="{9c311281-af7f-432e-9306-bbc95b1c6a69}"/>
<names>
<name lang="en">Contactor 1 changeover 3 poles</name>
<name lang="fr">Contacteur 1 inverseur 3 poles</name>
</names>
<kindInformations>
<kindInformation name="number" show="1">3</kindInformation>
<kindInformation name="state" show="1">NO</kindInformation>
<kindInformation name="type" show="1">power</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<text rotation="0" color="#000000" text="3&#xa;L2" y="-20" x="-35" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="5&#xa;L3" y="-20" x="-15" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="4&#xa;T2" y="19" x="-36" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2&#xa;T1" y="19" x="-56" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="6&#xa;T3" y="19" x="-16" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-10" x3="-20" closed="false" antialias="true" y2="10" x1="-25" y3="20" x2="-20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-60" closed="false" antialias="true" y2="10" x1="-65" y3="20" x2="-60" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="0" length2="1.48" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-62" x2="-3" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-40" closed="false" antialias="true" y2="10" x1="-45" y3="20" x2="-40" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="10" text_width="-1" y="-10" uuid="{cf89cd93-26be-471d-aaae-5af0536b9bb9}" Valignment="AlignTop" x="-84" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-60" x2="-60" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-62.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-40" x2="-40" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-42.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-20" x2="-20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-22.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="1&#xa;L1" y="-20" x="-56" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-2" y4="-2" x3="0" antialias="false" x4="-4" y2="-2" x1="-4" y3="3" x2="4" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal name="2" orientation="s" y="20" uuid="{a30378fb-df7f-41fc-9ebf-e6237d0a70e0}" x="-60"/>
<terminal name="4" orientation="s" y="20" uuid="{4392a21d-fad7-40af-8dd1-fbdda0e000c8}" x="-40"/>
<terminal name="5" orientation="n" y="-20" uuid="{b5400f6b-82b1-41b7-b3cd-fe403daec5fc}" x="-20"/>
<terminal name="3" orientation="n" y="-20" uuid="{0a462fcf-680f-43dc-a9f9-05b790362d13}" x="-40"/>
<terminal name="5" orientation="s" y="20" uuid="{c25f281a-3b5c-4323-a71c-79504dd62e4d}" x="-20"/>
<terminal name="1" orientation="n" y="-20" uuid="{611c6946-9a08-4c22-9704-f2cf240ff731}" x="-60"/>
</description>
</definition>
@@ -1,42 +0,0 @@
<definition version="0.80" link_type="slave" hotspot_x="33" height="60" width="80" type="element" hotspot_y="29">
<uuid uuid="{5d1646da-9823-448b-9e9f-e63e783ef11a}"/>
<names>
<name lang="en">Contactor 2 changeover 3 poles</name>
<name lang="fr">Contacteur 2 inverseur 3 poles </name>
</names>
<kindInformations>
<kindInformation name="number" show="1">3</kindInformation>
<kindInformation name="state" show="1">NO</kindInformation>
<kindInformation name="type" show="1">power</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line y1="0" length2="1.48" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-27" x2="27" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="3&#xa;L2" y="-20" x="15" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="5&#xa;L3" y="-20" x="35" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="4&#xa;T2" y="19" x="14" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2&#xa;T1" y="19" x="-6" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="6&#xa;T3" y="19" x="34" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-10" x3="30" closed="false" antialias="true" y2="10" x1="25" y3="20" x2="30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-10" closed="false" antialias="true" y2="10" x1="-15" y3="20" x2="-10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="10" text_width="-1" y="-10" uuid="{cf89cd93-26be-471d-aaae-5af0536b9bb9}" Valignment="AlignTop" x="35" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<polygon y1="-10" x3="10" closed="false" antialias="true" y2="10" x1="5" y3="20" x2="10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-10" x2="-10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-12.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="10" x2="10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="7.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="30" x2="30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="27.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="1&#xa;L1" y="-20" x="-6" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<terminal name="3" orientation="n" y="-20" uuid="{08bb8a28-2da4-4630-91f2-4eb87e5850e5}" x="10"/>
<terminal name="1" orientation="n" y="-20" uuid="{3b66052a-252f-49f1-bca6-5b735daf2a84}" x="-10"/>
<terminal name="4" orientation="s" y="20" uuid="{cc6d7085-3b57-460c-8c18-b97dfce67dc3}" x="10"/>
<terminal name="2" orientation="s" y="20" uuid="{7e0fa384-4a72-42de-8563-cb8feda81215}" x="-10"/>
<terminal name="5" orientation="n" y="-20" uuid="{3942e18d-c67f-4728-9272-e96e278d5693}" x="30"/>
<terminal name="6" orientation="s" y="20" uuid="{5eda0853-bd77-487b-8ec1-568e80d15c65}" x="30"/>
</description>
</definition>
@@ -1,50 +0,0 @@
<definition version="0.80" link_type="slave" hotspot_x="90" height="60" width="100" type="element" hotspot_y="29">
<uuid uuid="{baa1b63b-88e4-4d36-bf15-73a7b845b60b}"/>
<names>
<name lang="en">Contactor 1 changeover 4 poles</name>
<name lang="fr">Contacteur 1 inverseur 4 poles</name>
</names>
<kindInformations>
<kindInformation name="number" show="1">4</kindInformation>
<kindInformation name="state" show="1">NO</kindInformation>
<kindInformation name="type" show="1">power</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line y1="0" length2="1.48" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-83" x2="-3" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="6&#xa;T3" y="18" x="-36" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="4&#xa;T2" y="18" x="-56" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="8&#xa;T4" y="18" x="-16" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-10" x3="-20" closed="false" antialias="true" y2="10" x1="-25" y3="20" x2="-20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-40" closed="false" antialias="true" y2="10" x1="-45" y3="20" x2="-40" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-60" closed="false" antialias="true" y2="10" x1="-65" y3="20" x2="-60" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-40" x2="-40" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-60" x2="-60" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="10" text_width="-1" y="-10" uuid="{cf89cd93-26be-471d-aaae-5af0536b9bb9}" Valignment="AlignTop" x="-100" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-20" x2="-20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="2&#xa;T1" y="18" x="-76" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-42.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-22.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-62.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="3&#xa;L2" y="-20" x="-55" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="5&#xa;L3" y="-20" x="-36" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="7&#xa;L4" y="-20" x="-16" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-10" x3="-80" closed="false" antialias="true" y2="10" x1="-85" y3="20" x2="-80" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-80" x2="-80" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-82.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="1&#xa;L1" y="-20" x="-76" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-2" y4="-2" x3="0" antialias="false" x4="-4" y2="-2" x1="-4" y3="3" x2="4" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal name="7" orientation="n" y="-20" uuid="{aef20556-47cf-474c-8766-ff7d847b000a}" x="-20"/>
<terminal name="3" orientation="n" y="-20" uuid="{4c167395-1a48-4105-bf26-a9498814a1f3}" x="-60"/>
<terminal name="6" orientation="s" y="20" uuid="{80aa01e9-8810-42e4-a39f-9f097cec5126}" x="-40"/>
<terminal name="1" orientation="n" y="-20" uuid="{611c6946-9a08-4c22-9704-f2cf240ff731}" x="-80"/>
<terminal name="4" orientation="s" y="20" uuid="{a82fb8b8-00ad-4fa9-bbe3-a7ef6527b523}" x="-60"/>
<terminal name="5" orientation="n" y="-20" uuid="{f4e10dc4-bf5f-41a7-8623-240a3d1ad917}" x="-40"/>
<terminal name="2" orientation="s" y="20" uuid="{a30378fb-df7f-41fc-9ebf-e6237d0a70e0}" x="-80"/>
<terminal name="8" orientation="s" y="20" uuid="{5277858a-4998-4df0-b3df-38835be0b1d0}" x="-20"/>
</description>
</definition>
@@ -1,49 +0,0 @@
<definition version="0.80" link_type="slave" hotspot_x="53" height="60" width="100" type="element" hotspot_y="29">
<uuid uuid="{ab335ee8-298b-48bb-82f8-e16a83f0d4cf}"/>
<names>
<name lang="en">Contactor 2 changeover 4 poles</name>
<name lang="fr">Contacteur 2 inverseur 4 poles</name>
</names>
<kindInformations>
<kindInformation name="number" show="1">4</kindInformation>
<kindInformation name="state" show="1">NO</kindInformation>
<kindInformation name="type" show="1">power</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<text rotation="0" color="#000000" text="8&#xa;T4" y="18" x="34" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="6&#xa;T3" y="18" x="14" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="4&#xa;T2" y="18" x="-6" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2&#xa;T1" y="18" x="-26" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<polygon y1="-10" x3="30" closed="false" antialias="true" y2="10" x1="25" y3="20" x2="30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="10" closed="false" antialias="true" y2="10" x1="5" y3="20" x2="10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-10" closed="false" antialias="true" y2="10" x1="-15" y3="20" x2="-10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="-10" x3="-30" closed="false" antialias="true" y2="10" x1="-35" y3="20" x2="-30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-30" x2="-30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="10" text_width="-1" y="-10" uuid="{cf89cd93-26be-471d-aaae-5af0536b9bb9}" Valignment="AlignTop" x="35" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="-10" x2="-10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="10" x2="10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-10" length1="1.5" end2="none" x1="30" x2="30" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="7.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="27.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-12.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-14.5" height="5" width="5" x="-32.5" start="-90" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="1&#xa;L1" y="-20" x="-26" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="3&#xa;L2" y="-20" x="-5" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="5&#xa;L3" y="-20" x="14" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="7&#xa;L4" y="-20" x="34" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<line y1="0" length2="1.5" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="27" x2="-47" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal name="2" orientation="s" y="20" uuid="{e7e9a1aa-663a-436e-a0db-1ea39bd52dc3}" x="-30"/>
<terminal name="8" orientation="s" y="20" uuid="{7ef9a0ec-d821-4219-819d-55f81620a221}" x="30"/>
<terminal name="4" orientation="s" y="20" uuid="{35ddbfa0-4ebc-4950-b948-cf206179a7dc}" x="-10"/>
<terminal name="6" orientation="s" y="20" uuid="{dc7f94cf-2452-410e-885e-1e6b6d9af658}" x="10"/>
<terminal name="7" orientation="n" y="-20" uuid="{f1181042-eebf-437d-aa07-ad82c9c9ef25}" x="30"/>
<terminal name="5" orientation="n" y="-20" uuid="{0eca74f7-8a2c-4314-abbe-9aed863da29c}" x="10"/>
<terminal name="3" orientation="n" y="-20" uuid="{b82787b8-68cb-419e-b563-64999d49d051}" x="-10"/>
<terminal name="1" orientation="n" y="-20" uuid="{0e7d0032-21d0-4f98-9146-5719c760411f}" x="-30"/>
</description>
</definition>
@@ -1,25 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="50" hotspot_y="16" hotspot_x="24" height="30">
<uuid uuid="{3a401a8c-2087-4a75-b13b-ef6474f241c8}"/>
<names>
<name lang="fr">Transformateur</name>
<name lang="cs">Tlumivka s jádrem</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-5" start="0" x="-20" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-5" start="0" x="-10" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-5" start="0" x="0" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-5" start="0" x="10" height="10" angle="180"/>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:eleve;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-10" length1="1.5" x2="-4"/>
<line antialias="false" x1="4" style="line-style:normal;line-weight:eleve;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-10" length1="1.5" x2="20"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="-20" rotation="0" x="-46" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="7" uuid="{5c02f2f0-17c0-4d09-8dca-24b1182962ad}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="5" length1="1.5" x2="-20"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="5" length1="1.5" x2="20"/>
<terminal y="5" x="-20" uuid="{4be4ef83-90c0-42ea-bb99-46ec8279a815}" name="" orientation="s"/>
<terminal y="5" x="20" uuid="{93686765-ccb3-4dff-a58b-04814173e817}" name="" orientation="s"/>
</description>
</definition>
@@ -1,56 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="50" hotspot_y="19" hotspot_x="24" height="40">
<uuid uuid="{a86902d2-4aae-4be5-a22a-c099817573fc}"/>
<names>
<name lang="fr">
Transformateur à deux enroulements</name>
<name lang="cs">Trafo se dvěma vinutími</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="90" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="90" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="90" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="90" x="10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="10" height="10" angle="90"/>
<line antialias="false" x1="-18" style="line-style:normal;line-weight:eleve;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="0" length1="1.5" x2="18"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-22" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="18" uuid="{cf8ce068-aa1f-48d3-b287-0e648121d35a}" frame="false" Halignment="AlignLeft">
<text>1</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-22" rotation="0" x="17" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="19" uuid="{a89a3e01-8ea3-4c45-a954-f1f49b690cd0}" frame="false" Halignment="AlignLeft">
<text>2</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="20" uuid="{2b0f9c48-cb72-494e-867c-1a200959d8d2}" frame="false" Halignment="AlignLeft">
<text>3</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="17" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="21" uuid="{e01ede6a-4b4c-42d4-8ecb-312650f07bc4}" frame="false" Halignment="AlignLeft">
<text>4</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="-13" rotation="0" x="-46" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="22" uuid="{a4b3aa7f-d028-4f2d-84ec-23b276264e48}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-7.5" rotation="0" x="22" font="Sans Serif,7,-1,5,50,0,0,0,0,0" z="23" uuid="{5d047a8d-0164-41d5-96ae-f4a53c0d6d35}" frame="false" Halignment="AlignLeft">
<text>_</text>
</dynamic_text>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-15" end2="none" y2="-10" length1="1.5" x2="-20"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-15" end2="none" y2="-10" length1="1.5" x2="20"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="20"/>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="-20"/>
<terminal y="15" x="20" uuid="{9cb09037-535c-4480-a4a7-db3f3bad1151}" name="4" orientation="s"/>
<terminal y="-15" x="-20" uuid="{bb3642bb-ebd5-4bc0-8235-966591fad320}" name="1" orientation="n"/>
<terminal y="-15" x="20" uuid="{d79d49ea-e09d-4686-a7d8-9a8bf99d521e}" name="2" orientation="n"/>
<terminal y="15" x="-20" uuid="{b83a2645-754a-4e05-987b-33180e32a364}" name="3" orientation="s"/>
</description>
</definition>
@@ -1,82 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="70" hotspot_y="19" hotspot_x="24" height="40">
<uuid uuid="{2f2b3de7-39a5-468c-9e85-62d1b1098cac}"/>
<names>
<name lang="fr">Transformateur à trois enroulements</name>
<name lang="cs">Trafo se třemi vinutími</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="37" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="1" uuid="{56935e11-5d97-48e4-ac04-fd8063083040}" frame="false" Halignment="AlignLeft">
<text>4</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="27" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="2" uuid="{de73ca80-7ccf-43d2-be1f-d6bd09c71a80}" frame="false" Halignment="AlignLeft">
<text>3</text>
</dynamic_text>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="30" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-20" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-10" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="20" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="30" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="10" height="10" angle="90"/>
<line antialias="false" x1="-18" style="line-style:normal;line-weight:eleve;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="0" length1="1.5" x2="38"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="17" uuid="{c44877af-791e-4316-93cc-689e2b323dd0}" frame="false" Halignment="AlignLeft">
<text>1</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="7" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="18" uuid="{8c370f9f-530a-453c-8f9f-be4ea5e2204f}" frame="false" Halignment="AlignLeft">
<text>2</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="-3" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="19" uuid="{f96dfefb-7921-4764-bc25-85b25e85a78c}" frame="false" Halignment="AlignLeft">
<text>6</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="-13" rotation="0" x="-46" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="20" uuid="{c786a125-3f40-4953-af28-372282964128}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="10.5" rotation="0" x="-42" font="Sans Serif,7,-1,5,50,0,0,0,0,0" z="21" uuid="{2070a050-464b-40d5-ba88-7b98dc7dc15f}" frame="false" Halignment="AlignLeft">
<text>_</text>
</dynamic_text>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="20" height="10" angle="180"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="23" uuid="{310aeac2-baf0-49a7-bec8-1f9d0a9f4431}" frame="false" Halignment="AlignLeft">
<text>5</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="17" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="24" uuid="{794abaee-627f-48be-be63-5d4617008888}" frame="false" Halignment="AlignLeft">
<text>7</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="37" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="25" uuid="{1c35324d-bcc4-4fa8-982e-3365ea054986}" frame="false" Halignment="AlignLeft">
<text>8</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="6" rotation="0" x="-18" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="26" uuid="{6eaa911a-6dc2-4851-a347-e1a35e77ec31}" frame="false" Halignment="AlignLeft">
<text>12V</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="6" rotation="0" x="23" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="27" uuid="{418e2800-549d-4af3-9720-7bff12dbe7fb}" frame="false" Halignment="AlignLeft">
<text>24V</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-27" rotation="0" x="10" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="28" uuid="{b57864dc-0c10-406c-9df6-a421b99dfdd9}" frame="false" Halignment="AlignLeft">
<text>230V</text>
</dynamic_text>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="-20"/>
<line antialias="false" x1="10" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="10"/>
<line antialias="false" x1="30" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="30"/>
<line antialias="false" x1="40" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="40"/>
<line antialias="false" x1="40" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="40"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="20"/>
<line antialias="false" x1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="0"/>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="-20"/>
<terminal y="-15" x="40" uuid="{dcfd8182-81f7-4a66-bd64-e28522197d2d}" name="4" orientation="n"/>
<terminal y="15" x="-20" uuid="{16a0d955-d63b-4478-a214-f841f9fc1a73}" name="5" orientation="s"/>
<terminal y="15" x="0" uuid="{8b1e81f3-f187-47a3-8971-fcbe7d30baa5}" name="6" orientation="s"/>
<terminal y="-15" x="10" uuid="{d6826dd2-61eb-4dc0-9e4a-b6e5078e4e9b}" name="2" orientation="n"/>
<terminal y="-15" x="-20" uuid="{1d6d33ac-d71c-4307-82f5-8f74aec0b049}" name="1" orientation="n"/>
<terminal y="15" x="40" uuid="{df979790-07e1-4299-9596-6e102cb76d58}" name="8" orientation="s"/>
<terminal y="-15" x="30" uuid="{cea66c19-9140-4df0-8b3f-6827050dd23b}" name="3" orientation="n"/>
<terminal y="15" x="20" uuid="{bcac8f72-35c2-4df2-8a80-22e376f5636b}" name="7" orientation="s"/>
</description>
</definition>
@@ -1,72 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="70" hotspot_y="19" hotspot_x="24" height="40">
<uuid uuid="{2ae3c800-50c5-4303-8979-2456b356b147}"/>
<names>
<name lang="fr">Transformateur à trois enroulements sans prises</name>
<name lang="cs">Trafo se třemi vinutími bez odboček</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="37" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="1" uuid="{951664ed-0649-4c2c-be03-701e01896985}" frame="false" Halignment="AlignLeft">
<text>2</text>
</dynamic_text>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="30" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-20" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="-10" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="5" start="0" x="20" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="30" height="10" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-20" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="-10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="0" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="270" x="10" height="10" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="10" height="10" angle="90"/>
<line antialias="false" x1="-18" style="line-style:normal;line-weight:eleve;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="0" length1="1.5" x2="38"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-21" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="16" uuid="{b8794432-4dc6-4984-87e2-eb09a7baf2a1}" frame="false" Halignment="AlignLeft">
<text>1</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="-3" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="17" uuid="{a20eca6e-78a0-4ed8-b0ad-ca07203ee3ae}" frame="false" Halignment="AlignLeft">
<text>4</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="-13" rotation="0" x="-46" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="18" uuid="{76e3b5f2-bca2-4f03-a65d-41ea3b3e6313}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="10.5" rotation="0" x="-42" font="Sans Serif,7,-1,5,50,0,0,0,0,0" z="19" uuid="{370f084a-20f3-472f-aab4-5c057bc63906}" frame="false" Halignment="AlignLeft">
<text>_</text>
</dynamic_text>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="-15" start="180" x="20" height="10" angle="180"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="-23" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="21" uuid="{0ebacc11-8225-4f76-ab04-ae4c47e0c0cb}" frame="false" Halignment="AlignLeft">
<text>3</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="17" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="22" uuid="{2a177faf-bfae-452d-9f0e-0e5c895569f3}" frame="false" Halignment="AlignLeft">
<text>5</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="5" rotation="0" x="37" font="Sans Serif,5,-1,5,25,0,0,0,0,0" z="23" uuid="{b388f1b5-e993-4008-8a94-80ad3ab7ef6c}" frame="false" Halignment="AlignLeft">
<text>6</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="6" rotation="0" x="-18" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="24" uuid="{6f93a423-4b65-4765-9516-d10c27938696}" frame="false" Halignment="AlignLeft">
<text>12V</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="6" rotation="0" x="22" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="25" uuid="{7aef2072-7376-4943-a7b6-cf0281f59040}" frame="false" Halignment="AlignLeft">
<text>30V</text>
</dynamic_text>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="UserText" y="-27" rotation="0" x="0" font="Sans Serif,4,-1,5,25,0,0,0,0,0" z="26" uuid="{6a05ec77-a746-4a32-abd6-17a7014de9c9}" frame="false" Halignment="AlignLeft">
<text>230V</text>
</dynamic_text>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="-20"/>
<line antialias="false" x1="40" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-10" end2="none" y2="-15" length1="1.5" x2="40"/>
<line antialias="false" x1="40" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="40"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="20"/>
<line antialias="false" x1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="0"/>
<line antialias="false" x1="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="10" end2="none" y2="15" length1="1.5" x2="-20"/>
<terminal y="-15" x="-20" uuid="{c73e0147-e2ce-4cea-b765-b86575e14a72}" name="1" orientation="n"/>
<terminal y="15" x="20" uuid="{ba5f46a2-933b-4dc7-8020-9d4d54f2b453}" name="5" orientation="s"/>
<terminal y="15" x="40" uuid="{39d9179f-ff80-494c-a266-1fb1aab768c2}" name="6" orientation="s"/>
<terminal y="15" x="0" uuid="{a9c1575b-a75a-4d87-9fa6-a41d1afea141}" name="4" orientation="s"/>
<terminal y="-15" x="40" uuid="{c9f77521-a3e6-46b4-ba26-31b91685453a}" name="2" orientation="n"/>
<terminal y="15" x="-20" uuid="{36a6036f-5cde-4f6b-9ddb-d26330350fbc}" name="3" orientation="s"/>
</description>
</definition>
@@ -0,0 +1,66 @@
<definition version="0.70" height="80" hotspot_x="50" link_type="simple" hotspot_y="39" width="100" type="element">
<uuid uuid="{c4ecef4b-8696-443d-9548-83590289d1f6}"/>
<names>
<name lang="es">Fuente de poder AC/DC 3 polos</name>
<name lang="de">Netzteil AC/DC 3-polig</name>
<name lang="pl">Zasilacz trójfazowy</name>
<name lang="fr">ABL8RPS24050</name>
<name lang="en">Power supply AC/DC 3 poles</name>
</names>
<elementInformations>
<elementInformation name="unity" show="1"></elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="designation" show="1">ABL8RPS24050</elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">schneider</elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
</elementInformations>
<informations>EN 60617: 06-14-03</informations>
<description>
<text text="AC 3~" y="-7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="-28"/>
<circle diameter="5" y="-32.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="27.5"/>
<text text="-" y="24" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="9"/>
<text text="-" y="24" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="29"/>
<text text="LV" y="-20" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="-14"/>
<line length1="1.5" y2="30" length2="1.5" end1="none" antialias="false" x1="13" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30" x2="27" end2="none"/>
<text text="DC" y="12" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="18"/>
<line length1="1.5" y2="30" length2="1.5" end1="none" antialias="false" x1="-7" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30" x2="7" end2="none"/>
<line length1="1.5" y2="30" length2="1.5" end1="none" antialias="false" x1="-27" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30" x2="-13" end2="none"/>
<text text="+" y="24" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="-12"/>
<text text="C" y="-20" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="6"/>
<circle diameter="5" y="-32.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="-12.5"/>
<text text="PE" y="-20" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="-34"/>
<text text="HV" y="-20" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="28"/>
<circle diameter="5" y="-32.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="7.5"/>
<circle diameter="5" y="27.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="-32.5"/>
<circle diameter="5" y="27.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="27.5"/>
<circle diameter="5" y="27.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="-12.5"/>
<circle diameter="5" y="27.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="7.5"/>
<dynamic_text Valignment="AlignTop" Halignment="AlignLeft" text_width="-1" y="-30" uuid="{85ca85a9-4d65-41f0-bf73-bacf801bfd0e}" text_from="ElementInfo" frame="false" z="20" rotation="0" font="Sans Serif,9,-1,5,50,0,0,0,0,0" x="-80">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<text text="+" y="24" font="Sans Serif,6,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" x="-32"/>
<polygon x3="-45" y2="30" y4="-29.8785" y5="-29.8785" closed="false" x4="-33" y6="-29.8785" x5="-33" x6="-33" antialias="false" x1="-33" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30" x2="-45" y3="-29.8785"/>
<polygon x3="45" y2="-30.1383" y4="30" y5="30" closed="false" x4="33" y6="30" x5="33" x6="33" antialias="false" x1="33" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30.1383" x2="45" y3="30"/>
<line length1="1.5" y2="-30" length2="1.5" end1="none" antialias="false" x1="-27" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" x2="-13" end2="none"/>
<line length1="1.5" y2="-30" length2="1.5" end1="none" antialias="false" x1="-7" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" x2="7" end2="none"/>
<line length1="1.5" y2="-30" length2="1.5" end1="none" antialias="false" x1="13" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" x2="27" end2="none"/>
<rect height="30" rx="0" y="-15" width="60" antialias="false" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" x="-30"/>
<line length1="1.5" y2="15" length2="1.5" end1="none" antialias="false" x1="30" style="line-style:normal;line-weight:thin;filling:none;color:black" y1="-15" x2="-30" end2="none"/>
<circle diameter="5" y="-32.5" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x="-32.5"/>
<terminal orientation="n" y="-33" x="-10"/>
<terminal orientation="n" y="-33" x="-30"/>
<terminal orientation="s" y="33" x="-30"/>
<terminal orientation="s" y="33" x="-10"/>
<terminal orientation="n" y="-33" x="10"/>
<terminal orientation="s" y="33" x="10"/>
<terminal orientation="s" y="33" x="30"/>
<terminal orientation="n" y="-33" x="30"/>
</description>
</definition>
@@ -1,38 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_x="19" height="50" width="30" type="element" hotspot_y="24">
<uuid uuid="{751b403e-f048-44ed-ac01-210d4e00bacc}"/>
<names>
<name lang="es">Paro de emergencia con pedal (NC)</name>
<name lang="nl">Voetschakelaar (NC)</name>
<name lang="el">Ποδοδιακόπτης, κλειστή επαφή</name>
<name lang="en">Foot Switch (NC)</name>
<name lang="ar">مفتاح بدوّاسة (NC)</name>
<name lang="it">Comando a pedale (NC)</name>
<name lang="cs">Pedálový spínač (NC)</name>
<name lang="fr">Interrupteur à pedale (NC)</name>
<name lang="pl">Łącznik wielozestykowy napędzany nogą NC</name>
<name lang="de">Fußschalter 2-polig Öffner</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line y1="0" length2="1.5" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-12" x2="3" style="line-style:dashed;line-weight:thin;filling:none;color:black"/>
<line y1="-9" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="0" x2="7" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-5" length2="1.5" antialias="false" end1="none" y2="5" length1="1.5" end2="none" x1="-9.7256" x2="-13.9133" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="4" text_width="-1" y="-24" uuid="{50d62516-a25d-4431-b4bb-ee70971dad6f}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0">
<text>21</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="5" text_width="-1" y="10" uuid="{d91a2d31-da0e-47e2-8236-82b8c18f7c08}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0">
<text>22</text>
</dynamic_text>
<line y1="5" length2="1.5" antialias="false" end1="none" y2="3" length1="1.5" end2="none" x1="-13.9059" x2="-16.4185" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<polygon y1="20" x3="6" closed="false" antialias="true" y2="10" x1="0" y3="-10" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="0" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="12" text_width="-1" y="5" uuid="{7cef0658-2571-4a65-b7e6-c14252e4b178}" Valignment="AlignTop" x="-10" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal name="21" orientation="n" y="-20" uuid="{faae3ab0-3906-402d-8782-ef9d0ac0413b}" x="0"/>
<terminal name="22" orientation="s" y="20" uuid="{3f32169a-026a-43e8-af61-efa7268f5512}" x="0"/>
</description>
</definition>
@@ -1,37 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_x="21" height="50" width="30" type="element" hotspot_y="24">
<uuid uuid="{4cae0bd5-396b-4dc4-9f73-f4d86cfcdc5c}"/>
<names>
<name lang="es">Paro de emergencia con pedal (NA)</name>
<name lang="nl">Voetschakelaar (NO)</name>
<name lang="el">Ποδοδιακόπτης, ανοιχτή</name>
<name lang="en">Foot Switch (NO)</name>
<name lang="ar">مفتاح بدوّاسة (NO)</name>
<name lang="it">Comando a pedale (NO)</name>
<name lang="cs">Pedálový spínač (NO)</name>
<name lang="fr">Interrupteur à pedale (NO)</name>
<name lang="pl">Łącznik wielozestykowy napędzany nogą NO</name>
<name lang="de">Fußschalter 2-polig NO</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line y1="0" length2="1.5" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-12" x2="-3" style="line-style:dashed;line-weight:thin;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="2" text_width="-1" y="-23" uuid="{103311ab-7139-4ca2-a914-9e89bc4ec8a7}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0">
<text>13</text>
</dynamic_text>
<line y1="-5" length2="1.5" antialias="false" end1="none" y2="5" length1="1.5" end2="none" x1="-9.7256" x2="-13.9133" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line y1="5" length2="1.5" antialias="false" end1="none" y2="3" length1="1.5" end2="none" x1="-13.9059" x2="-16.4185" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="6" text_width="-1" y="9" uuid="{f625d933-1de1-4066-bad0-ac16003441e6}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0">
<text>14</text>
</dynamic_text>
<polygon y1="20" x3="-6" closed="false" antialias="true" y2="10" x1="0" y3="-10" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="0" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="12" text_width="-1" y="5" uuid="{7cef0658-2571-4a65-b7e6-c14252e4b178}" Valignment="AlignTop" x="-10" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal name="13" orientation="n" y="-20" uuid="{209816c7-3f76-4f05-84d1-722f15518734}" x="0"/>
<terminal name="14" orientation="s" y="20" uuid="{f8e508cc-0ac1-420b-9b64-b9f012fbd7de}" x="0"/>
</description>
</definition>
@@ -1,48 +1,37 @@
<definition version="0.80" link_type="simple" hotspot_x="19" height="50" width="50" type="element" hotspot_y="24"> <definition width="70" version="0.3" hotspot_x="25" hotspot_y="30" height="60" type="element" orientation="dnny">
<uuid uuid="{990f5268-dfca-4943-b1d9-e82c0d4ae841}"/> <uuid uuid="{F412BF99-0EAC-4BD7-B0D8-3C38D1BA4B6D}"/><names>
<names> <name lang="ar">مفتاح بدوّاسة (NO/NC)</name>
<name lang="es">Paro de emergencia con pedal (NA/NC)</name>
<name lang="nl">Voetschakelaar (NO/NC)</name>
<name lang="el">Ποδοδιακόπτης, ανοικτή και κλειστή επαφή</name> <name lang="el">Ποδοδιακόπτης, ανοικτή και κλειστή επαφή</name>
<name lang="en">Foot Switch (NO/NC)</name> <name lang="en">Foot Switch (NO/NC)</name>
<name lang="ar">مفتاح بدوّاسة (NO/NC)</name> <name lang="es">Paro de emergencia con pedal (NA/NC)</name>
<name lang="de">Fußschalter 2-polig Schliesser/Öffner</name>
<name lang="it">Comando a pedale (NO/NC)</name> <name lang="it">Comando a pedale (NO/NC)</name>
<name lang="cs">Pedálový spínač (NO/NC)</name>
<name lang="fr">Interrupteur à pedale (NO/NC)</name> <name lang="fr">Interrupteur à pedale (NO/NC)</name>
<name lang="pl">Łącznik wielozestykowy napędzany nogą</name> <name lang="pl">Łącznik wielozestykowy napędzany nogą</name>
<name lang="de">Fußschalter 2-polig Schliesser/Öffner</name> <name lang="cs">Pedálový spínač (NO/NC)</name>
<name lang="nl">Voetschakelaar (NO/NC)</name>
</names> </names>
<elementInformations/> <kindInformations>
<kindInformation show="1" name="type">commutator</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team <informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations> License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description> <description>
<line y1="0" length2="1.5" antialias="false" end1="none" y2="0" length1="1.5" end2="none" x1="-12" x2="23" style="line-style:dashed;line-weight:thin;filling:none;color:black"/> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-9" x1="20" y2="-9" x2="27"/>
<line y1="-9" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="20" x2="27" style="line-style:normal;line-weight:normal;filling:none;color:black"/> <input x="-2" y="-14.5" size="5" rotate="true" text="13"/>
<dynamic_text frame="false" rotation="0" z="2" text_width="-1" y="-23" uuid="{103311ab-7139-4ca2-a914-9e89bc4ec8a7}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0"> <polygon antialias="true" style="line-style:normal;line-weight:thin;filling:none;color:black" closed="false" y1="2" x1="-19" y2="-4" x2="-13" y3="4" x3="-13"/>
<text>13</text> <input x="17" y="-14.5" size="5" rotate="true" text="21"/>
</dynamic_text> <input x="18" y="17.5" size="5" rotate="true" text="22"/>
<line y1="-5" length2="1.5" antialias="false" end1="none" y2="5" length1="1.5" end2="none" x1="-9.7256" x2="-13.9133" style="line-style:normal;line-weight:thin;filling:none;color:black"/> <input x="-2" y="17.5" size="5" rotate="true" text="14"/>
<dynamic_text frame="false" rotation="0" z="4" text_width="-1" y="-23" uuid="{50d62516-a25d-4431-b4bb-ee70971dad6f}" Valignment="AlignTop" x="17" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0"> <polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="20" x1="20" y2="10" x2="20" y3="-10" x3="26"/>
<text>21</text> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:dashed;line-weight:thin;filling:none;color:black" y1="0" x1="-13" y2="0" x2="23"/>
</dynamic_text> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="20" y2="-9" x2="20"/>
<dynamic_text frame="false" rotation="0" z="5" text_width="-1" y="9" uuid="{d91a2d31-da0e-47e2-8236-82b8c18f7c08}" Valignment="AlignTop" x="17" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0"> <polygon antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="20" x1="0" y2="10" x2="0" y3="-10" x3="-6"/>
<text>22</text> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20" x1="0" y2="-9" x2="0"/>
</dynamic_text> <input x="26" y="3.6666" size="9" text="_" tagg="label"/>
<dynamic_text frame="false" rotation="0" z="6" text_width="-1" y="9" uuid="{f625d933-1de1-4066-bad0-ac16003441e6}" Valignment="AlignTop" x="-3" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,3,-1,5,50,0,0,0,0,0"> <terminal x="0" y="-20" orientation="n"/>
<text>14</text> <terminal x="0" y="20" orientation="s"/>
</dynamic_text> <terminal x="20" y="-20" orientation="n"/>
<line y1="5" length2="1.5" antialias="false" end1="none" y2="3" length1="1.5" end2="none" x1="-13.9059" x2="-16.4185" style="line-style:normal;line-weight:thin;filling:none;color:black"/> <terminal x="20" y="20" orientation="s"/>
<polygon y1="20" x3="26" closed="false" antialias="true" y2="10" x1="20" y3="-10" x2="20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="20" x2="20" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<polygon y1="20" x3="-6" closed="false" antialias="true" y2="10" x1="0" y3="-10" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-20" length2="1.5" antialias="false" end1="none" y2="-9" length1="1.5" end2="none" x1="0" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="12" text_width="-1" y="-8" uuid="{7cef0658-2571-4a65-b7e6-c14252e4b178}" Valignment="AlignTop" x="26" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal name="21" orientation="n" y="-20" uuid="{faae3ab0-3906-402d-8782-ef9d0ac0413b}" x="20"/>
<terminal name="13" orientation="n" y="-20" uuid="{209816c7-3f76-4f05-84d1-722f15518734}" x="0"/>
<terminal name="22" orientation="s" y="20" uuid="{3f32169a-026a-43e8-af61-efa7268f5512}" x="20"/>
<terminal name="14" orientation="s" y="20" uuid="{f8e508cc-0ac1-420b-9b64-b9f012fbd7de}" x="0"/>
</description> </description>
</definition> </definition>
@@ -1,39 +0,0 @@
<definition type="element" link_type="simple" height="70" width="50" hotspot_y="34" version="0.80" hotspot_x="28">
<uuid uuid="{ff3971b1-115b-4ccc-bcd6-8a6c51a2760b}"/>
<names>
<name lang="it">Eccitazione separata del motore CC</name>
<name lang="pt">Excitação separada do motor DC</name>
<name lang="ru">Раздельное возбуждение двигателя постоянного тока</name>
<name lang="de">Gleichstrommotor Fremderregt</name>
<name lang="en">Separate excitation DC motor</name>
<name lang="es">Excitación separada del motor DC</name>
<name lang="fr">Moteur DC excitation séparée</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect x="-3" height="2" antialias="false" width="6" rx="0" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-17" ry="0"/>
<text x="-6" text="M" rotation="0" y="5" font="Sans Serif,11,-1,5,50,0,0,0,0,0" color="#000000"/>
<text x="-18" text="K" rotation="0" y="26" font="Sans Serif,4,-1,5,50,0,0,0,0,0" color="#000000"/>
<arc x="-23.5" angle="-180" height="5" antialias="true" width="7" start="-90" style="line-style:normal;line-weight:normal;filling:none;color:black" y="8"/>
<circle x="-15" diameter="30" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-15"/>
<text x="2" text="A2" rotation="0" y="26" font="Sans Serif,4,-1,5,50,0,0,0,0,0" color="#000000"/>
<text x="-18" text="I" rotation="0" y="-22" font="Sans Serif,4,-1,5,50,0,0,0,0,0" color="#000000"/>
<text x="2" text="A1" rotation="0" y="-22" font="Sans Serif,4,-1,5,50,0,0,0,0,0" color="#000000"/>
<arc x="-23.5" angle="-180" height="5" antialias="true" width="7" start="-90" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-12"/>
<line x1="0" end1="none" y2="30" antialias="false" y1="17" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" x2="0"/>
<arc x="-23.5" angle="-180" height="5" antialias="true" width="7" start="-90" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-2"/>
<arc x="-23.5" angle="-180" height="5" antialias="true" width="7" start="-90" style="line-style:normal;line-weight:normal;filling:none;color:black" y="3"/>
<arc x="-23.5" angle="-180" height="5" antialias="true" width="7" start="-90" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-7"/>
<line x1="0" end1="none" y2="-17" antialias="false" y1="-30" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" x2="0"/>
<line x1="-20" end1="none" y2="-12" antialias="false" y1="-30" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" x2="-20"/>
<line x1="-20" end1="none" y2="13" antialias="false" y1="30" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" x2="-20"/>
<line x1="-6" end1="none" y2="8" antialias="false" y1="8" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" x2="6"/>
<rect x="-3" height="2" antialias="false" width="6" rx="0" style="line-style:normal;line-weight:normal;filling:none;color:black" y="15" ry="0"/>
<terminal x="0" orientation="n" uuid="{ebcfbf4f-3065-4c64-901a-4f6c8f69a6e9}" name="A1" y="-30"/>
<terminal x="-20" orientation="n" uuid="{a5e81d4a-16bc-4a34-8b34-dc0fd7b44196}" name="I" y="-30"/>
<terminal x="-20" orientation="s" uuid="{739f6f62-22e8-43bc-aecf-b454a2c2b90e}" name="K" y="30"/>
<terminal x="0" orientation="s" uuid="{8152411b-db39-4479-abd1-02ca189b041f}" name="A2" y="30"/>
</description>
</definition>
@@ -1,45 +1,40 @@
<definition version="0.80" width="60" height="60" hotspot_y="37" type="element" hotspot_x="26" link_type="simple"> <definition width="60" version="0.4" hotspot_x="24" hotspot_y="28" height="60" link_type="simple" type="element" ic="true">
<uuid uuid="{c7ea8bc8-4b15-4956-8680-e289d805ba44}"/> <uuid uuid="{275C2EA0-C854-407D-967D-EDAD6D31E049}"/><names>
<names>
<name lang="pt">Motor trifásico</name>
<name lang="pl">Silnik trójfazowy</name>
<name lang="en">Three-phase engine</name>
<name lang="fr">Moteur triphasé</name>
<name lang="cs">Trojfázový motor</name>
<name lang="ru">Трёхфазный эл. мотор</name>
<name lang="it">Motore trifase</name>
<name lang="ar">محرّك ثلاثي الأوجه</name> <name lang="ar">محرّك ثلاثي الأوجه</name>
<name lang="es">Motor trifásico</name>
<name lang="de">Drehstrom Motor</name> <name lang="de">Drehstrom Motor</name>
<name lang="ru">Трёхфазный эл. мотор</name>
<name lang="pt">Motor trifásico</name>
<name lang="en">Three-phase engine</name>
<name lang="es">Motor trifásico</name>
<name lang="it">Motore trifase</name>
<name lang="fr">Moteur triphasé</name>
<name lang="pl">Silnik trójfazowy</name>
<name lang="nl">Draaistroommotor</name> <name lang="nl">Draaistroommotor</name>
<name lang="cs">Trojfázový motor</name>
</names> </names>
<elementInformations/>
<informations>Author: The QElectroTech team&#xd; <informations>Author: The QElectroTech team&#xd;
License: see http://qelectrotech.org/wiki/doc/elements_license</informations> License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description> <description>
<circle antialias="true" x="-15" diameter="30" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-15"/> <circle x="-15" y="-7" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" diameter="30"/>
<arc width="32" antialias="true" x="-14.5" height="32" angle="-80" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-15.5" start="20"/> <arc width="32" x="-14.5" y="-7.5" antialias="true" height="32" style="line-style:normal;line-weight:normal;filling:none;color:black" start="20" angle="-80"/>
<text x="21" y="-24" font="Sans Serif,4,-1,5,50,0,0,0,0,0" text="W1" rotation="0" color="#000000"/> <text x="24" y="-15" size="4" text="W1"/>
<text x="2" y="-24" font="Sans Serif,4,-1,5,50,0,0,0,0,0" text="V1" rotation="0" color="#000000"/> <text x="4" y="-16" size="4" text="V1"/>
<text x="-6" y="0" font="Sans Serif,11,-1,5,50,0,0,0,0,0" text="M" rotation="0" color="#000000"/> <text x="-6" y="8" size="11" text="M"/>
<dynamic_text Halignment="AlignLeft" x="21" text_from="ElementInfo" frame="false" z="6" uuid="{1df13766-b38e-4417-9aac-1b5844595696}" y="-12" font="Sans Serif,9,-1,5,50,0,0,0,0,0" Valignment="AlignTop" rotation="0" text_width="-1"> <input x="40" y="10.5" size="9" text="M_" tagg="label"/>
<text></text> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-22" x1="0" y2="-7" x2="0"/>
<info_name>label</info_name> <polygon antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-22" x1="-20" y2="-12" x2="-20" y3="-3" x3="-11"/>
</dynamic_text> <polygon antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="-22" x1="20" y2="-12" x2="20" y3="-3" x3="11"/>
<line end1="none" y2="-15" antialias="false" x1="0" x2="0" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" end2="none" length2="1.5" length1="1.5"/> <text x="-16" y="-15" size="4" text="U1"/>
<polygon y2="-20" antialias="false" y3="-11" x1="-20" x2="-20" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" closed="false" x3="-11"/> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="25" x1="16" y2="25" x2="24"/>
<polygon y2="-20" antialias="false" y3="-11" x1="20" x2="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30" closed="false" x3="11"/> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="27" x1="17" y2="27" x2="23"/>
<text x="-19" y="-24" font="Sans Serif,4,-1,5,50,0,0,0,0,0" text="U1" rotation="0" color="#000000"/> <line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="29" x1="18.6115" y2="29" x2="21.4209"/>
<line end1="none" y2="13" antialias="false" x1="17" x2="25" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="13" end2="none" length2="1.5" length1="1.5"/> <polygon antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" closed="false" y1="16" x1="16" y2="20" x2="20" y3="25" x3="20"/>
<line end1="none" y2="15" antialias="false" x1="18" x2="24" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="15" end2="none" length2="1.5" length1="1.5"/> <text x="-8" y="18" size="9" text="3"/>
<line end1="none" y2="17" antialias="false" x1="19.6115" x2="22.4209" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="17" end2="none" length2="1.5" length1="1.5"/> <arc width="4" x="0" y="11.5" antialias="true" height="5" style="line-style:normal;line-weight:normal;filling:none;color:black" start="0" angle="-180"/>
<polygon y2="6" antialias="false" y3="13" x1="18" x2="21" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="4" closed="false" x3="21"/> <arc width="4" x="4" y="11.5" antialias="true" height="5" style="line-style:normal;line-weight:normal;filling:none;color:black" start="-180" angle="-180"/>
<text x="-8" y="10" font="Sans Serif,9,-1,5,50,0,0,0,0,0" text="3" rotation="0" color="#000000"/> <terminal x="-20" y="-22" orientation="n"/>
<arc width="4" antialias="true" x="0" height="5" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black" y="3.5" start="0"/> <terminal x="20" y="-22" orientation="n"/>
<arc width="4" antialias="true" x="4" height="5" angle="-180" style="line-style:normal;line-weight:normal;filling:none;color:black" y="3.5" start="-180"/> <terminal x="0" y="-23" orientation="n"/>
<terminal name="" x="20" uuid="{1f50d3c6-4d98-41f8-b0d7-f30322bc7d01}" orientation="n" y="-30"/> <terminal x="20" y="20" orientation="n"/>
<terminal name="" x="-20" uuid="{fa49658e-170d-415d-8556-43ee3ef5a156}" orientation="n" y="-30"/>
<terminal name="" x="21" uuid="{14bcbcca-193a-4564-a5b2-07b4fda7e862}" orientation="n" y="7"/>
<terminal name="" x="0" uuid="{25b65584-e2f6-4c45-9a60-8b5287289312}" orientation="n" y="-30"/>
</description> </description>
</definition> </definition>
@@ -1,181 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="160" hotspot_y="15" hotspot_x="6" height="120">
<uuid uuid="{15ca4668-4676-4b6f-acf0-1858e44f4525}"/>
<names>
<name lang="fr">Micro830</name>
<name lang="en">Micro830</name>
<name lang="cs">Micro830</name>
</names>
<elementInformations>
<elementInformation show="1" name="supplier"></elementInformation>
<elementInformation show="1" name="machine_manufacturer_reference"></elementInformation>
<elementInformation show="1" name="description"></elementInformation>
<elementInformation show="1" name="manufacturer-reference"></elementInformation>
<elementInformation show="1" name="machine-manufacturer-reference"></elementInformation>
<elementInformation show="1" name="comment"></elementInformation>
<elementInformation show="1" name="designation">Micro830</elementInformation>
<elementInformation show="1" name="label"></elementInformation>
<elementInformation show="1" name="unity"></elementInformation>
<elementInformation show="1" name="manufacturer_reference"></elementInformation>
<elementInformation show="1" name="manufacturer">Allen Bradley</elementInformation>
<elementInformation show="1" name="quantity"></elementInformation>
<elementInformation show="1" name="plant"></elementInformation>
</elementInformations>
<informations></informations>
<description>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:white;color:black" width="148" y="0" x="0" ry="0" height="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="96" start="180" x="10" height="4" angle="180"/>
<line antialias="false" x1="134" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="-5" length1="1.5" x2="134"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="96" start="180" x="142" height="4" angle="180"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="60" x="110" ry="0" height="8"/>
<line antialias="false" x1="134" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="90" end2="none" y2="97" length1="1.5" x2="134"/>
<line antialias="false" x1="146" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-5" end2="none" y2="0" length1="1.5" x2="146"/>
<line antialias="false" x1="94" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="15" end2="none" y2="17" length1="1.5" x2="94"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="12" y="-11" start="0" x="134" height="12" angle="180"/>
<line antialias="false" x1="146" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="97" end2="none" y2="90" length1="1.5" x2="146"/>
<text text="Allen Bradley" color="#000000" y="42" rotation="0" x="110" font="Sans Serif,3,-1,5,50,0,0,0,0,0"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="96" start="180" x="134" height="4" angle="180"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="68" x="110" ry="0" height="8"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="51" diameter="4"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="94" start="0" x="138" height="4" angle="180"/>
<text text="Allen Bradley" color="#000000" y="42" rotation="0" x="76" font="Sans Serif,3,-1,5,50,0,0,0,0,0"/>
<line antialias="false" x1="138" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="98" end2="none" y2="97" length1="1.5" x2="138"/>
<text text="Allen Bradley" color="#000000" y="42" rotation="0" x="44" font="Sans Serif,3,-1,5,50,0,0,0,0,0"/>
<line antialias="false" x1="142" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="98" end2="none" y2="97" length1="1.5" x2="142"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="68" x="76" ry="0" height="8"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="76" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="61" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="60" x="76" ry="0" height="8"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="17" x="73" ry="0" height="7"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="66" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="17" x="107" ry="0" height="7"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="101" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="56" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="121" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="121" diameter="4"/>
<line antialias="false" x1="128" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="15" end2="none" y2="17" length1="1.5" x2="128"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="60" x="42" ry="0" height="8"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="32" y="14" x="70" ry="0" height="62"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="32" y="14" x="104" ry="0" height="62"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="111" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="86" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="110" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="110" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="24" x="73" ry="0" height="7"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="24" x="107" ry="0" height="7"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="42" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="56" diameter="4"/>
<line antialias="false" x1="35" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="90" length1="1.5" x2="35"/>
<line antialias="false" x1="135" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="22" end2="none" y2="22" length1="1.5" x2="132"/>
<line antialias="false" x1="101" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="22" end2="none" y2="22" length1="1.5" x2="98"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="101" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="116" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="91" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="114" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="46" diameter="4"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="8" y="14" start="180" x="128" height="8" angle="90"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="8" y="14" start="180" x="94" height="8" angle="90"/>
<line antialias="false" x1="137" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="90" length1="1.5" x2="137"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="114" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="50" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="16" x="96" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="66" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="16" x="130" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="106" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="15" y="15" x="20" ry="0" height="75"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="118" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="81" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="118" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="20" y="62" x="0" ry="0" height="16"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="122" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="122" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="61" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="54" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="71" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="96" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="126" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="51" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="20" y="45" x="0" ry="0" height="17"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="58" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="126" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="62" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="76" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="130" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="32" y="14" x="36" ry="0" height="62"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="130" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="86" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="4" x="46" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="111" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="116" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="91" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="106" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="81" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="96" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="71" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="81" x="46" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="83" y="2" x="44" ry="0" height="8"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="83" y="79" x="44" ry="0" height="8"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="39" x="21" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="43" x="21" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="47" x="21" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="51" x="21" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="55" x="21" ry="0" height="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="48" x="4" diameter="12"/>
<polygon antialias="false" x1="6" style="line-style:normal;line-weight:normal;filling:none;color:black" x7="6" y3="74" y4="73" x3="12" closed="false" x5="13" x6="12" y6="66" y7="66" y1="66" x4="13" y2="74" y5="67" x2="6"/>
<polygon antialias="false" x1="4" style="line-style:normal;line-weight:normal;filling:none;color:black" x7="4" y3="76" y4="73" x3="12" closed="false" x5="15" x6="12" y6="64" y7="64" y1="64" x4="15" y2="76" y5="67" x2="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="12" y="82" x="4" ry="0" height="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="82" x="8" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="11" y="14" x="137" ry="0" height="62"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="24" y="68" x="42" ry="0" height="8"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="42" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="46" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="50" diameter="4"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="54" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="58" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="62" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="76" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="80" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="84" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="88" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="92" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="62" x="96" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="84" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="80" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="76" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="88" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="92" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="70" x="96" diameter="4"/>
<line antialias="false" x1="60" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="15" end2="none" y2="17" length1="1.5" x2="60"/>
<line antialias="false" x1="67" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="22" end2="none" y2="22" length1="1.5" x2="64"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="8" y="14" start="180" x="60" height="8" angle="90"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="16" x="62" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="71" x="37" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="71" x="71" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="71" x="105" diameter="4"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="17" x="39" ry="0" height="7"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="24" x="39" ry="0" height="7"/>
<text text="Allen Bradley" color="#000000" y="8" rotation="0" x="11" font="Sans Serif,3,-1,5,50,0,0,0,0,0"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="9" rotation="0" x="2" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="133" uuid="{0088d25a-d5a7-491e-86e5-5ca54af4b001}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="50" x="6" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="50" x="9" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="50" x="12" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="53" x="5" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="53" x="9" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="53" x="13" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="56" x="7" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="56" x="11" diameter="2"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-7" x="6" diameter="4"/>
<circle antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" y="-7" x="138" diameter="4"/>
<line antialias="false" x1="2" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="0" end2="none" y2="-5" length1="1.5" x2="2"/>
<line antialias="false" x1="14" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="-5" end2="none" y2="0" length1="1.5" x2="14"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="12" y="-11" start="0" x="2" height="12" angle="180"/>
<line antialias="false" x1="2" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="90" end2="none" y2="97" length1="1.5" x2="2"/>
<line antialias="false" x1="14" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="97" end2="none" y2="90" length1="1.5" x2="14"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="96" start="180" x="2" height="4" angle="180"/>
<arc antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="94" start="0" x="6" height="4" angle="180"/>
<line antialias="false" x1="6" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="98" end2="none" y2="97" length1="1.5" x2="6"/>
<line antialias="false" x1="10" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="98" end2="none" y2="97" length1="1.5" x2="10"/>
</description>
</definition>
@@ -1,5 +0,0 @@
<qet-directory>
<names>
<name lang="fr">Cynergy 3</name>
</names>
</qet-directory>
@@ -1,97 +0,0 @@
<definition link_type="simple" type="element" version="0.80" width="80" hotspot_y="2" hotspot_x="6" height="130">
<uuid uuid="{1e4508e4-6cab-4fb7-a766-88f6bd8133fa}"/>
<names>
<name lang="fr">Frenic Ace</name>
<name lang="cs">Frenic Ace</name>
</names>
<elementInformations>
<elementInformation show="1" name="supplier"></elementInformation>
<elementInformation show="1" name="machine_manufacturer_reference"></elementInformation>
<elementInformation show="1" name="description"></elementInformation>
<elementInformation show="1" name="comment"></elementInformation>
<elementInformation show="1" name="designation">Frenic Ace</elementInformation>
<elementInformation show="1" name="label"></elementInformation>
<elementInformation show="1" name="unity"></elementInformation>
<elementInformation show="1" name="manufacturer_reference"></elementInformation>
<elementInformation show="1" name="manufacturer">Fuji</elementInformation>
<elementInformation show="1" name="quantity"></elementInformation>
<elementInformation show="1" name="plant"></elementInformation>
</elementInformations>
<informations></informations>
<description>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="68" y="0" x="0" ry="0" height="125"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="14" x="40" diameter="6"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="14" x="22" diameter="10"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="14" x="52" diameter="10"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="27" x="22" diameter="10"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="117" x="0" ry="0" height="8"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="31" x="40" diameter="6"/>
<line antialias="false" x1="45" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="12" length1="1.5" x2="50"/>
<line antialias="false" x1="37" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="12" length1="1.5" x2="42"/>
<line antialias="false" x1="29" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="12" length1="1.5" x2="34"/>
<line antialias="false" x1="38" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="7" length1="1.5" x2="43"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="68" y="0" x="0" ry="0" height="40"/>
<line antialias="false" x1="46" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="7" length1="1.5" x2="51"/>
<line antialias="false" x1="30" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="7" length1="1.5" x2="35"/>
<line antialias="false" x1="39" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="2" length1="1.5" x2="44"/>
<line antialias="false" x1="47" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="2" length1="1.5" x2="52"/>
<line antialias="false" x1="31" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="2" length1="1.5" x2="36"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="34" x="2" diameter="4"/>
<line antialias="false" x1="36" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="35"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="0" x="58" ry="0" height="8"/>
<line antialias="false" x1="52" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="51"/>
<line antialias="false" x1="44" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="43"/>
<line antialias="false" x1="51" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="12" length1="1.5" x2="50"/>
<line antialias="false" x1="43" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="12" length1="1.5" x2="42"/>
<line antialias="false" x1="35" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="12" length1="1.5" x2="34"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="27" x="52" diameter="10"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="22" x="34" diameter="6"/>
<line antialias="false" x1="39" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="38"/>
<line antialias="false" x1="31" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="30"/>
<line antialias="false" x1="47" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="46"/>
<line antialias="false" x1="45" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="7" length1="1.5" x2="46"/>
<line antialias="false" x1="37" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="7" length1="1.5" x2="38"/>
<line antialias="false" x1="29" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="7" length1="1.5" x2="30"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="12" length1="1.5" x2="25"/>
<line antialias="false" x1="21" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="7" length1="1.5" x2="26"/>
<line antialias="false" x1="22" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="2" length1="1.5" x2="27"/>
<line antialias="false" x1="27" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="26"/>
<line antialias="false" x1="26" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="7" end2="none" y2="12" length1="1.5" x2="25"/>
<line antialias="false" x1="22" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="2" end2="none" y2="7" length1="1.5" x2="21"/>
<line antialias="false" x1="20" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="12" end2="none" y2="7" length1="1.5" x2="21"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="7" x="4" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="12" x="4" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="17" x="4" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="22" x="4" ry="0" height="2"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="4" y="27" x="4" ry="0" height="2"/>
<text text="KEYPAD&#xa;CONTROL&#xa;" color="#000000" y="7.59552" rotation="0" x="9.79776" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<text text="x10" color="#000000" y="23.2584" rotation="0" x="10" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<text text="Hz" color="#000000" y="28.3933" rotation="0" x="9.86517" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<text text="A" color="#000000" y="33.3371" rotation="0" x="10" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<text text="kW" color="#000000" y="38.3259" rotation="0" x="9.93259" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<polygon antialias="false" x1="12" style="line-style:normal;line-weight:thin;filling:none;color:black" y3="22" y4="22" x3="14" closed="false" y1="18" x4="12" y2="18" x2="14"/>
<polygon antialias="false" x1="12" style="line-style:normal;line-weight:thin;filling:none;color:black" y3="28" y4="28" x3="14" closed="false" y1="24" x4="12" y2="24" x2="14"/>
<polygon antialias="false" x1="15" style="line-style:normal;line-weight:thin;filling:none;color:black" y3="28" y4="28" x3="18" closed="false" y1="18" x4="15" y2="18" x2="18"/>
<polygon x6="22" closed="false" x7="22" y3="46" y8="60" x4="30" y4="46" y7="60" x8="2" x5="30" style="line-style:normal;line-weight:normal;filling:none;color:black" y6="52" y9="42" y5="52" antialias="false" y2="42" y1="42" x2="22" x1="2" x9="2" x3="22"/>
<rect rx="0" antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" width="10" y="72" x="0" ry="0" height="6"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="73" x="4" diameter="4"/>
<text text="Fuji Electric&#xa;FRENIC - Ace" color="#000000" y="52" rotation="0" x="34" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="1" x="60" diameter="6"/>
<circle antialias="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y="118" x="2" diameter="6"/>
<text text=" PRG&#xa;RESET" color="#000000" y="17.8348" rotation="0" x="22.4736" font="Sans Serif,2,-1,5,50,0,0,0,0,0"/>
<text text="RUN" color="#000000" y="33" rotation="0" x="54" font="Sans Serif,2,-1,5,50,0,0,0,0,0"/>
<text text="STOP" color="#000000" y="42.0821" rotation="0" x="52.9946" font="Sans Serif,2,-1,5,50,0,0,0,0,0"/>
<text text="FUNC&#xa;DATA" color="#000000" y="40.1438" rotation="0" x="22.9994" font="Sans Serif,2,-1,5,50,0,0,0,0,0"/>
<polygon antialias="false" x1="36" style="line-style:normal;line-weight:normal;filling:none;color:black" y3="26" y4="26" x3="36" closed="false" y1="24" x4="36" y2="25" x2="37"/>
<polygon antialias="false" x1="38" style="line-style:normal;line-weight:normal;filling:none;color:black" y3="26" x3="38" closed="false" y1="24" y2="25" x2="39"/>
<polygon antialias="false" x1="42" style="line-style:normal;line-weight:normal;filling:none;color:black" y3="17" x3="44" closed="false" y1="17" y2="16" x2="43"/>
<polygon antialias="false" x1="42" style="line-style:normal;line-weight:normal;filling:none;color:black" y3="34" x3="44" closed="false" y1="34" y2="35" x2="43"/>
<line antialias="false" x1="24" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="19" end2="none" y2="19" length1="1.5" x2="30"/>
<line antialias="false" x1="24" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end1="none" y1="32" end2="none" y2="32" length1="1.5" x2="30"/>
<text text="PRG" color="#000000" y="23.2333" rotation="0" x="14.8899" font="Sans Serif,1,-1,5,50,0,0,0,0,0"/>
<dynamic_text Valignment="AlignTop" text_width="-1" text_from="ElementInfo" y="68.5" rotation="0" x="20" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="71" uuid="{b3940c5d-51b3-4df3-8548-e9ca000b0960}" frame="false" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
</description>
</definition>
@@ -1,5 +0,0 @@
<qet-directory>
<names>
<name lang="cs">Fuji</name>
</names>
</qet-directory>
@@ -1,46 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_x="95" height="150" width="190" type="element" hotspot_y="75">
<uuid uuid="{3989d96e-d09a-4925-806b-c776f794b191}"/>
<names>
<name lang="fr">KINCO GL043E</name>
</names>
<elementInformations>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">KINCO</elementInformation>
<elementInformation name="designation" show="1">GL043E</elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="unity" show="1"></elementInformation>
</elementInformations>
<informations></informations>
<description>
<rect antialias="false" y="50" height="16" rx="0" ry="0" width="30" x="55" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="58" x="58" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="58" x="-62" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="58" x="-42" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="58" x="78" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="1" y="57" x="59" font="Sans Serif,5,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="6" y="57" x="78" font="Sans Serif,5,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="COM0/COM2" y="50" x="55" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="GND" y="58" x="-65" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="FG" y="58" x="-43" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="-70" height="140" rx="2" ry="2" width="180" x="-90" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="KINCO GL043E" y="35" x="-35" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="-60" height="80" rx="5" ry="5" width="160" x="-80" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="DC24V" y="58" x="-85" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="50" height="16" rx="0" ry="0" width="53" x="-87" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="58" x="-82" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="46" text_width="-1" y="-70" uuid="{26fb43e7-0761-4dad-8f01-d845169a34c7}" Valignment="AlignTop" x="90" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<terminal name="" orientation="s" y="64" uuid="{9071f08c-b9bf-4923-862e-6949363e71e0}" x="80"/>
<terminal name="" orientation="s" y="64" uuid="{6ea53f6a-1b01-4c53-b56d-311af40fe016}" x="60"/>
<terminal name="" orientation="s" y="64" uuid="{f73c7b51-76f6-4c32-b981-cff7dac72933}" x="-40"/>
<terminal name="" orientation="s" y="64" uuid="{d44152aa-f747-4224-b6e5-06f35c7ea13c}" x="-60"/>
<terminal name="" orientation="s" y="64" uuid="{b54aebb1-7913-4439-9d06-7c4170ddcca7}" x="-80"/>
</description>
</definition>
@@ -1,118 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_x="175" height="110" width="320" type="element" hotspot_y="55">
<uuid uuid="{bc851738-c5d2-4126-8333-7ed6e8ddfbe5}"/>
<names>
<name lang="fr">KINCO HP043-20DT</name>
</names>
<elementInformations>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">Kinco</elementInformation>
<elementInformation name="designation" show="1">HP043-20DT</elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="unity" show="1"></elementInformation>
</elementInformations>
<informations></informations>
<description>
<text rotation="0" color="#000000" text="A-" y="35" x="77" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q1.0" y="-29" x="42" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.7" y="-29" x="21" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.6" y="-29" x="1" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="-46" height="20" rx="0" ry="0" width="60" x="70" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="24V" y="-30" x="113" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="25" height="20" rx="0" ry="0" width="80" x="50" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="98" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="I0.6" y="35" x="-17" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="AI" y="20" x="80" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I1.0" y="35" x="23" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.7" y="35" x="3" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="B-" y="35" x="116" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<circle diameter="4" antialias="false" y="-42" x="28" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="28" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="48" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="25" height="20" rx="0" ry="0" width="200" x="-160" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="B+" y="35" x="96" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="-46" height="20" rx="0" ry="0" width="220" x="-160" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="78" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="-50" height="100" rx="2" ry="2" width="309.609" x="-170" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="98" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="Q0.3" y="-29" x="-59" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<circle diameter="4" antialias="false" y="38" x="118" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="A+" y="35" x="56" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I" y="23" x="-60" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<circle diameter="4" antialias="false" y="38" x="58" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="I0.4" y="35" x="-56.625" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.5" y="35" x="-37" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.4" y="-29" x="-39" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.2" y="35" x="-97" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.0" y="35" x="-137" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.3" y="35" x="-77.2188" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="M" y="35" x="-153" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.5" y="-29" x="-19" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0V" y="-30" x="95" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1L+" y="-29" x="-136" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.2" y="-29" x="-78.4063" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.1" y="-29" x="-99" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q0.0" y="-29" x="-118.656" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="FG" y="-30" x="75" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1L-" y="-29" x="-156" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I0.1" y="35" x="-117" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<dynamic_text frame="false" rotation="0" z="46" text_width="-1" y="-50" uuid="{26fb43e7-0761-4dad-8f01-d845169a34c7}" Valignment="AlignTop" x="140" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<text rotation="0" color="#000000" text="Q" y="-18" x="-60" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<circle diameter="4" antialias="false" y="38" x="-152" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="78" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-52" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-72" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-112" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-132" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="118" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-132" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-112" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-92" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-152" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-92" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-32" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-52" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-72" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-32" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="KINCO HP043-20DT" y="0" x="30" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<terminal name="" orientation="s" y="44" uuid="{ff6ea49c-e25b-48cf-ba32-24ebcba9073a}" x="-30"/>
<terminal name="" orientation="n" y="-44" uuid="{a8d73d73-d37e-4f7f-a46a-eaecfa4b034d}" x="-30"/>
<terminal name="" orientation="n" y="-44" uuid="{d9c6337d-73fc-43b6-95e2-d7632f75d762}" x="100"/>
<terminal name="" orientation="s" y="44" uuid="{31ecd94c-11c9-48e2-9760-76b134fc938f}" x="-110"/>
<terminal name="" orientation="n" y="-44" uuid="{00102e54-6876-4c92-b9a7-3a9093122103}" x="-70"/>
<terminal name="" orientation="s" y="44" uuid="{2ca08b4d-9518-4e58-a130-1c01d8aa0f8d}" x="-130"/>
<terminal name="" orientation="n" y="-44" uuid="{072cb10d-6896-41df-9ffe-c0788548ce86}" x="-10"/>
<terminal name="" orientation="n" y="-44" uuid="{0c775bdd-d6b8-4f7b-aafe-39acddfadd81}" x="80"/>
<terminal name="" orientation="s" y="44" uuid="{0db9669d-c07e-44ad-b645-1955aa2a8f7b}" x="-50"/>
<terminal name="" orientation="n" y="-44" uuid="{9593af59-33d6-4469-a16d-beccc096d479}" x="120"/>
<terminal name="" orientation="s" y="44" uuid="{410025fa-cbf1-4916-916f-b61f43e78c1e}" x="-70"/>
<terminal name="" orientation="n" y="-44" uuid="{b78819b6-7419-41f9-b34b-f2e71295c3b9}" x="-90"/>
<terminal name="" orientation="n" y="-44" uuid="{61601629-f237-4be2-88bf-651d3f973d88}" x="-130"/>
<terminal name="" orientation="s" y="44" uuid="{e7976a0f-67dd-4797-8258-9ad3dc4c793a}" x="-150"/>
<terminal name="" orientation="n" y="-44" uuid="{c0caf5dd-9de2-4c42-9ec8-d2cef6a0a68a}" x="-150"/>
<terminal name="" orientation="n" y="-44" uuid="{ec406181-38ea-42c5-a4e5-764394dcf809}" x="-50"/>
<terminal name="" orientation="s" y="44" uuid="{2fe4768b-45b7-4c92-a706-144e047624b9}" x="-90"/>
<terminal name="" orientation="n" y="-44" uuid="{663d9fc8-88ea-4c5a-af5c-f047a59e620e}" x="-110"/>
<terminal name="" orientation="s" y="44" uuid="{8d1e8fd1-37a1-4768-902c-c187b04ca8ef}" x="30"/>
<terminal name="" orientation="s" y="44" uuid="{eec8f9f4-f913-4082-8e45-8c080954c9d6}" x="10"/>
<terminal name="" orientation="s" y="44" uuid="{35add1ec-6331-4991-aa22-555a2e91c684}" x="-10"/>
<terminal name="" orientation="n" y="-44" uuid="{588ef957-2f9f-4bdc-8787-e5478f037c3d}" x="10"/>
<terminal name="" orientation="n" y="-44" uuid="{f2b4fdbb-9c13-477f-baee-ec12baf4e0cb}" x="30"/>
<terminal name="" orientation="n" y="-44" uuid="{44f40ecd-b45f-4043-bf3e-6c34a9efe88e}" x="50"/>
<terminal name="" orientation="s" y="44" uuid="{1d90862e-3bf8-4060-9ecc-9bf99ea60271}" x="60"/>
<terminal name="" orientation="s" y="44" uuid="{3247fdc0-9dec-4a87-a1f6-b548b73324d5}" x="120"/>
<terminal name="" orientation="s" y="44" uuid="{23b64560-b245-4c24-a7e8-18b1a369275d}" x="100"/>
<terminal name="" orientation="s" y="44" uuid="{5ea06185-8896-4c5c-8446-75feec5a6c00}" x="80"/>
</description>
</definition>
@@ -1,134 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_x="185" height="110" width="330" type="element" hotspot_y="55">
<uuid uuid="{181599c5-3db6-4f4a-80b4-62a149b74cdf}"/>
<names>
<name lang="fr">KINCO K205-16DT</name>
</names>
<elementInformations>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">Kinco</elementInformation>
<elementInformation name="designation" show="1">K205-16DT</elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="unity" show="1"></elementInformation>
</elementInformations>
<informations></informations>
<description>
<line y1="-34" length2="1.5" antialias="false" end1="none" y2="-30" length1="1.5" end2="none" x1="90" x2="90" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="25" height="20" rx="0" ry="0" width="136" x="-136" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="-45" height="20" rx="0" ry="0" width="160" x="-80" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="-50" height="100" rx="2" ry="2" width="320" x="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="I/Q" y="20" x="70" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.3" y="-29" x="25" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="I" y="20" x="-71" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1.1" y="35" x="125.797" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.4" y="35" x="-34.625" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.5" y="35" x="-15.0313" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.4" y="-29" x="45" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.2" y="35" x="-75" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1.0" y="35" x="106.125" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2L+" y="35" x="24" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.0" y="35" x="-115" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2L-" y="35" x="44" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.3" y="35" x="-55.2188" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="M" y="35" x="-133" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.6" y="35" x="65" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.5" y="-29" x="65" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0V" y="-29" x="105" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1L+" y="-29" x="-56" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.2" y="-29" x="4.5937" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="B" y="-29" x="-112" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.1" y="-29" x="-15" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.0" y="-29" x="-34.6563" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="24V" y="-29" x="123.391" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1L-" y="-29" x="-76" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="PORT2" y="-20" x="-132" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.7" y="35" x="85" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0.1" y="35" x="-95" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="Q" y="-15" x="-3" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="PORT1" y="-20" x="-172" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<line y1="-30" length2="1.5" antialias="false" end1="none" y2="-30" length1="1.5" end2="none" x1="87" x2="93" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-132" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-28" length2="1.5" antialias="false" end1="none" y2="-28" length1="1.5" end2="none" x1="88" x2="92" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="88" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-26" length2="1.5" antialias="false" end1="none" y2="-26" length1="1.5" end2="none" x1="89" x2="91" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="88" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="108" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="28" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="68" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="28" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="108" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="46" text_width="-1" y="-50" uuid="{26fb43e7-0761-4dad-8f01-d845169a34c7}" Valignment="AlignTop" x="140" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<circle diameter="4" antialias="false" y="38" x="-92" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-112" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="48" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="128" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="128" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-112" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-152" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-52" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-92" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-32" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-72" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="68" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-132" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-72" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="-12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="-42" x="48" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-32" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-52" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle diameter="4" antialias="false" y="38" x="-12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="A" y="-29" x="-132" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="B" y="-29" x="-152" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<circle diameter="4" antialias="false" y="-42" x="-172" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="A" y="-29" x="-172" font="Sans Serif,7,-1,5,50,0,0,0,0,0"/>
<line y1="-34" length2="1.5" antialias="false" end1="none" y2="-30" length1="1.5" end2="none" x1="-90" x2="-90" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-30" length2="1.5" antialias="false" end1="none" y2="-30" length1="1.5" end2="none" x1="-93" x2="-87" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-28" length2="1.5" antialias="false" end1="none" y2="-28" length1="1.5" end2="none" x1="-92" x2="-88" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-26" length2="1.5" antialias="false" end1="none" y2="-26" length1="1.5" end2="none" x1="-91" x2="-89" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="30" length2="1.5" antialias="false" end1="none" y2="34" length1="1.5" end2="none" x1="8" x2="12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="34" length2="1.5" antialias="false" end1="none" y2="30" length1="1.5" end2="none" x1="8" x2="12" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="32" length2="1.5" antialias="false" end1="none" y2="32" length1="1.5" end2="none" x1="7" x2="13" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="29" length2="1.5" antialias="false" end1="none" y2="35" length1="1.5" end2="none" x1="10" x2="10" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="25" height="20" rx="0" ry="0" width="113" x="22" style="line-style:dashed;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="KINCO K205-16DT" y="0" x="30" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<terminal name="" orientation="s" y="44" uuid="{3910ddbd-6fc1-49ff-b901-adc5d4877e0f}" x="70"/>
<terminal name="" orientation="s" y="44" uuid="{8ccd3919-59ce-44ec-9ccc-11bec7983a73}" x="130"/>
<terminal name="" orientation="s" y="44" uuid="{67e15415-514e-42d0-b7c3-a03bece502ea}" x="-110"/>
<terminal name="" orientation="n" y="-44" uuid="{85eca80d-22c8-4606-9cf4-e241a312c919}" x="50"/>
<terminal name="" orientation="s" y="44" uuid="{8b388c3b-b795-45a0-91f1-31e96b5db111}" x="30"/>
<terminal name="" orientation="n" y="-44" uuid="{7fb04575-3e43-47e0-b3af-af7f9824a7e4}" x="-50"/>
<terminal name="" orientation="s" y="44" uuid="{a6a477ad-e66d-49df-aac4-32993187280f}" x="-10"/>
<terminal name="" orientation="n" y="-44" uuid="{99ba231a-9c8b-43e1-9eac-6393c59c47b8}" x="-170"/>
<terminal name="" orientation="n" y="-44" uuid="{5ffe7b7c-2a35-4786-a7e7-955cfcca9a66}" x="90"/>
<terminal name="" orientation="n" y="-44" uuid="{b2d97b48-e028-41ae-8c9d-9e19a8cd569b}" x="10"/>
<terminal name="" orientation="s" y="44" uuid="{2c63b2c2-ea1c-493a-9e79-ab9fb8868811}" x="10"/>
<terminal name="" orientation="s" y="44" uuid="{0efb7eae-0dec-47de-9b35-186c33722401}" x="90"/>
<terminal name="" orientation="s" y="44" uuid="{fb6ccfcb-0b1d-49dd-84c3-515ad40d5de9}" x="50"/>
<terminal name="" orientation="n" y="-44" uuid="{613df199-7b81-460b-9e7a-8f1ade0286a3}" x="-10"/>
<terminal name="" orientation="s" y="44" uuid="{36f06c95-c4cb-4bc5-891c-a061a507199c}" x="-50"/>
<terminal name="" orientation="n" y="-44" uuid="{38c38b37-c58f-4656-a1c4-3aa3f6aa1177}" x="130"/>
<terminal name="" orientation="s" y="44" uuid="{474e3457-673f-4b2d-aeb4-c983b53e544f}" x="-30"/>
<terminal name="" orientation="n" y="-44" uuid="{7b77f683-dc35-43f1-a8c2-c39fa08e198c}" x="70"/>
<terminal name="" orientation="n" y="-44" uuid="{e1ea8ff1-21fc-4477-91ef-52c93be5f246}" x="110"/>
<terminal name="" orientation="s" y="44" uuid="{1c5695c5-6ced-4865-b348-c3aebfd81e74}" x="-90"/>
<terminal name="" orientation="n" y="-44" uuid="{8a21e16a-8381-4e81-a705-e2f2db3054b7}" x="-150"/>
<terminal name="" orientation="n" y="-44" uuid="{79cff81c-ba35-4073-be13-de69e865d159}" x="-90"/>
<terminal name="" orientation="s" y="44" uuid="{f3ff763b-cf7c-4080-87ec-f186b6f03d11}" x="-70"/>
<terminal name="" orientation="n" y="-44" uuid="{786fc99b-95af-432d-9fb8-79faa7166cf8}" x="-130"/>
<terminal name="" orientation="n" y="-44" uuid="{57bbe0f0-56bb-4d3b-9a3c-bf64861c4ae7}" x="-30"/>
<terminal name="" orientation="s" y="44" uuid="{0228b31d-876d-49cd-8168-75898bf37a1f}" x="110"/>
<terminal name="" orientation="n" y="-44" uuid="{f6f5e348-8ad9-4f32-bec4-bf5b83e4da47}" x="-110"/>
<terminal name="" orientation="s" y="44" uuid="{69cd6080-9509-4603-989f-7a09f27566ef}" x="-130"/>
<terminal name="" orientation="n" y="-44" uuid="{1b69151b-346c-4f1c-8e34-8317583ba7e8}" x="-70"/>
<terminal name="" orientation="n" y="-44" uuid="{20134804-8df7-48ea-968c-f3a6e02fddf5}" x="30"/>
</description>
</definition>
@@ -1,5 +0,0 @@
<qet-directory>
<names>
<name lang="fr">Kinco</name>
</names>
</qet-directory>
@@ -1,182 +1,182 @@
<definition link_type="simple" hotspot_x="4" hotspot_y="34" version="0.80" type="element" height="200" width="80"> <definition type="element" width="80" hotspot_y="35" link_type="simple" hotspot_x="4" height="200" version="0.80">
<uuid uuid="{242ad528-5973-447f-bc6b-aeaa66e0b730}"/> <uuid uuid="{007cd236-b3b7-4114-9869-58f1dc955e8d}"/>
<names> <names>
<name lang="fr">4 AI</name> <name lang="fr">4 AI</name>
</names> </names>
<elementInformations> <elementInformations>
<elementInformation show="1" name="unity"></elementInformation> <elementInformation name="manufacturer" show="1">Sofrel</elementInformation>
<elementInformation show="1" name="designation">4-Ai</elementInformation> <elementInformation name="quantity" show="1"></elementInformation>
<elementInformation show="1" name="description">Carte d'entrées analogiques</elementInformation> <elementInformation name="plant" show="1"></elementInformation>
<elementInformation show="1" name="manufacturer">Sofrel</elementInformation> <elementInformation name="supplier" show="1"></elementInformation>
<elementInformation show="1" name="quantity"></elementInformation> <elementInformation name="label" show="1">4-AI</elementInformation>
<elementInformation show="1" name="supplier"></elementInformation> <elementInformation name="comment" show="1"></elementInformation>
<elementInformation show="1" name="comment"></elementInformation> <elementInformation name="designation" show="1">4-Ai</elementInformation>
<elementInformation show="1" name="plant"></elementInformation> <elementInformation name="description" show="1">Carte d'entrées analogiques</elementInformation>
<elementInformation show="1" name="label">4-AI</elementInformation> <elementInformation name="unity" show="1"></elementInformation>
</elementInformations> </elementInformations>
<informations>s.deffaux</informations> <informations>s.deffaux</informations>
<description> <description>
<rect ry="0" x="38.2803" rx="0" height="15" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="38.2803" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<text x="5.45433" text="CARTE AO" font="MS Shell Dlg 2,9,-1,5,75,0,0,0,0,0,Gras" rotation="0" color="#000000" y="-16.0774"/> <text x="5.45433" font="MS Shell Dlg 2,9,-1,5,75,0,0,0,0,0,Gras" rotation="0" text="CARTE AO" color="#000000" y="-16.0774"/>
<rect ry="0" x="34.2544" rx="0" height="15" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="34.2544" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<text x="22.3236" text="S550" font="MS Shell Dlg 2,9,-1,5,75,0,0,0,0,0,Gras" rotation="0" color="#000000" y="-4.32019"/> <text x="22.3236" font="MS Shell Dlg 2,9,-1,5,75,0,0,0,0,0,Gras" rotation="0" text="S550" color="#000000" y="-4.32019"/>
<rect ry="0" x="22" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="22" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<rect ry="0" x="42.3061" rx="0" height="15" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="42.3061" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<rect ry="0" x="26" rx="0" height="8" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="14"/> <rect x="26" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="8" y="14"/>
<rect ry="0" x="34.2544" rx="0" height="8" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:black;color:black" y="14"/> <rect x="34.2544" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="8" y="14"/>
<rect ry="0" x="22" rx="0" height="8" antialias="false" width="3.01" style="line-style:normal;line-weight:thin;filling:black;color:black" y="14"/> <rect x="22" width="3.01" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="8" y="14"/>
<rect ry="0" x="42.3061" rx="0" height="7.5" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:black;color:black" y="7"/> <rect x="42.3061" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="7"/>
<rect ry="0" x="41" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="41" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<rect ry="0" x="41" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="41" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<rect ry="0" x="41.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="41.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<rect ry="0" x="41.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="135"/> <rect x="41.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="135"/>
<rect ry="0" x="41" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="54.5"/> <rect x="41" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="54.5"/>
<rect ry="0" x="41" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="94.5"/> <rect x="41" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="94.5"/>
<rect ry="0" x="37" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="37" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<rect ry="0" x="37" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="37" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<rect ry="0" x="37.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="37.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<rect ry="0" x="33" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="33" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<rect ry="0" x="33" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="33" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<rect ry="0" x="33.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="33.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<rect ry="0" x="33" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="94.5"/> <rect x="33" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="94.5"/>
<rect ry="0" x="33" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="54.5"/> <rect x="33" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="54.5"/>
<rect ry="0" x="33.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="135"/> <rect x="33.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="135"/>
<rect ry="0" x="25" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="94.5"/> <rect x="25" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="94.5"/>
<rect ry="0" x="25.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="135"/> <rect x="25.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="135"/>
<rect ry="0" x="25" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="54.5"/> <rect x="25" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="54.5"/>
<rect ry="0" x="37" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="47"/> <rect x="37" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="47"/>
<rect ry="0" x="37" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="87"/> <rect x="37" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="87"/>
<rect ry="0" x="38.2803" rx="0" height="8" antialias="false" width="3.01939" style="line-style:normal;line-weight:thin;filling:black;color:black" y="14"/> <rect x="38.2803" width="3.01939" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="8" y="14"/>
<text x="29.5" text="C" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="29.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="C" color="#000000" y="44"/>
<text x="29.5" text="C" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="29.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="C" color="#000000" y="84"/>
<rect ry="0" x="37.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="127.5"/> <rect x="37.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="127.5"/>
<text x="21.5" text="A" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="21.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="44"/>
<text x="21.5" text="A" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="21.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="84"/>
<text x="41.5" text="F" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="41.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="F" color="#000000" y="44"/>
<text x="31" text="C" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="31" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="C" color="#000000" y="4"/>
<text x="41.5" text="F" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="41.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="F" color="#000000" y="84"/>
<text x="60" text="2A&#xa;" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="110"/> <text x="60" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="2A&#xa;" color="#000000" y="110"/>
<text x="60" text="3A&#xa;" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="70"/> <text x="60" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="3A&#xa;" color="#000000" y="70"/>
<rect ry="0" x="29" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="29" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<rect ry="0" x="29" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="29" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<text x="33.5" text="D" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="33.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="D" color="#000000" y="84"/>
<text x="33.5" text="D" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="33.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="D" color="#000000" y="44"/>
<text x="25.5" text="B" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="25.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="44"/>
<text x="25.5" text="B" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="25.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="84"/>
<text x="23" text="A" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="23" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="4"/>
<text x="31" text="G" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="116"/> <text x="31" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="G" color="#000000" y="116"/>
<text x="35" text="G" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="75"/> <text x="35" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="G" color="#000000" y="75"/>
<text x="30" text="C" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="30" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="C" color="#000000" y="124"/>
<text x="37.5" text="E" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="37.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="E" color="#000000" y="84"/>
<text x="37.5" text="E" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="37.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="E" color="#000000" y="44"/>
<text x="12" text="H" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="84"/> <text x="12" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="H" color="#000000" y="84"/>
<text x="12" text="H" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="44"/> <text x="12" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="H" color="#000000" y="44"/>
<text x="43" text="F" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="43" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="F" color="#000000" y="4"/>
<text x="33.5" text="4" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="33.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="4" color="#000000" y="105"/>
<text x="33.5" text="4" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="33.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="4" color="#000000" y="65"/>
<rect ry="0" x="25" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="25" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<rect ry="0" x="25" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="25" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<text x="21.5" text="1" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="21.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="1" color="#000000" y="105"/>
<text x="21.5" text="1" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="21.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="1" color="#000000" y="65"/>
<text x="29.5" text="3" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="29.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="3" color="#000000" y="105"/>
<text x="22" text="A" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="22" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="124"/>
<text x="29.5" text="3" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="29.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="3" color="#000000" y="65"/>
<text x="25.5" text="2" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="25.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="2" color="#000000" y="65"/>
<text x="25.5" text="2" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="25.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="2" color="#000000" y="105"/>
<text x="41.5" text="6" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="41.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="6" color="#000000" y="65"/>
<text x="41.5" text="6" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="41.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="6" color="#000000" y="105"/>
<text x="37.5" text="5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="37.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="5" color="#000000" y="65"/>
<text x="37.5" text="5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="37.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="5" color="#000000" y="105"/>
<rect ry="0" x="50" rx="1" height="40" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="80"/> <rect x="50" width="20" antialias="false" rx="1" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="80"/>
<rect ry="0" x="50" rx="1" height="40" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="40"/> <rect x="50" width="20" antialias="false" rx="1" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="40"/>
<text x="60" text="2B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="90"/> <text x="60" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="2B" color="#000000" y="90"/>
<text x="60" text="3B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="50"/> <text x="60" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="3B" color="#000000" y="50"/>
<text x="5" text="B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="65"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="65"/>
<text x="4.5" text="B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="105"/> <text x="4.5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="105"/>
<rect ry="0" x="0" rx="0" height="40" antialias="false" width="50" style="line-style:normal;line-weight:normal;filling:none;color:black" y="80"/> <rect x="0" width="50" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="80"/>
<rect ry="0" x="0" rx="0" height="40" antialias="false" width="50" style="line-style:normal;line-weight:normal;filling:none;color:black" y="40"/> <rect x="0" width="50" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="40"/>
<text x="42" text="F" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="42" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="F" color="#000000" y="124"/>
<rect ry="0" x="10" rx="0" height="20" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:none;color:black" y="45"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="20" y="45"/>
<rect ry="0" x="10" rx="0" height="20" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:none;color:black" y="85"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="20" y="85"/>
<text x="60" text="4A" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="30"/> <text x="60" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="4A" color="#000000" y="30"/>
<text x="4.5" text="A" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="92"/> <text x="4.5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="92"/>
<text x="5" text="A" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="52"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="52"/>
<rect ry="0" x="10" rx="0" height="10" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:black;color:black" y="55"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="10" y="55"/>
<rect ry="0" x="10" rx="0" height="10" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:black;color:black" y="95"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="10" y="95"/>
<rect ry="0" x="30.1518" rx="0" height="15" antialias="false" width="3.01184" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="30.1518" width="3.01184" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="112"/> <rect x="9.5" width="20" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="5" y="112"/>
<rect ry="0" x="10" rx="0" height="5" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="72"/> <rect x="10" width="20" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="5" y="72"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="10" style="line-style:normal;line-weight:normal;filling:black;color:black" y="72"/> <rect x="9.5" width="10" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="5" y="72"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="10" style="line-style:normal;line-weight:normal;filling:black;color:black" y="112"/> <rect x="9.5" width="10" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="5" y="112"/>
<rect ry="0" x="19" rx="0" height="21" antialias="false" width="27" style="line-style:normal;line-weight:thin;filling:none;color:black" y="85"/> <rect x="19" width="27" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="21" y="85"/>
<rect ry="0" x="19" rx="0" height="21" antialias="false" width="27" style="line-style:normal;line-weight:thin;filling:none;color:black" y="45"/> <rect x="19" width="27" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="21" y="45"/>
<text x="35" text="D" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="35" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="D" color="#000000" y="4"/>
<rect ry="0" x="21" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="47"/> <rect x="21" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="47"/>
<rect ry="0" x="21" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="87"/> <rect x="21" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="87"/>
<text x="27" text="B" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="27" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="4"/>
<rect ry="0" x="29" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="87"/> <rect x="29" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="87"/>
<rect ry="0" x="29" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="47"/> <rect x="29" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="47"/>
<rect ry="0" x="21" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="94.5"/> <rect x="21" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="94.5"/>
<rect ry="0" x="21" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="54.5"/> <rect x="21" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="54.5"/>
<text x="32" text="G" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="36"/> <text x="32" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="G" color="#000000" y="36"/>
<text x="39" text="E" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="39" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="E" color="#000000" y="4"/>
<text x="12" text="H" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="4"/> <text x="12" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="H" color="#000000" y="4"/>
<text x="35.2609" text="4" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="35.2609" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="4" color="#000000" y="25"/>
<rect ry="0" x="26" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="7"/> <rect x="26" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="7"/>
<text x="59.5" text="1A&#xa;" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="150.5"/> <text x="59.5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="1A&#xa;" color="#000000" y="150.5"/>
<text x="22" text="1" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="22" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="1" color="#000000" y="25"/>
<rect ry="0" x="29.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="29.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<text x="31.1558" text="3" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="31.1558" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="3" color="#000000" y="25"/>
<text x="26.136" text="2" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="26.136" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="2" color="#000000" y="25"/>
<text x="34" text="D" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="34" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="D" color="#000000" y="124"/>
<text x="43.3126" text="6" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="43.3126" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="6" color="#000000" y="25"/>
<text x="39.2867" text="5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="39.2867" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="5" color="#000000" y="25"/>
<rect ry="0" x="50" rx="1" height="40" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="0"/> <rect x="50" width="20" antialias="false" rx="1" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="0"/>
<text x="26" text="B" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="26" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="124"/>
<text x="31.5" text="G" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="156.5"/> <text x="31.5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="G" color="#000000" y="156.5"/>
<text x="59.416" text="4B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="10"/> <text x="59.416" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="4B" color="#000000" y="10"/>
<text x="5" text="B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="25"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="25"/>
<text x="38" text="E" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="38" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="E" color="#000000" y="124"/>
<rect ry="0" x="0" rx="0" height="40" antialias="false" width="50" style="line-style:normal;line-weight:normal;filling:none;color:black" y="0"/> <rect x="0" width="50" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="0"/>
<text x="11.17" text="H" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="124"/> <text x="11.17" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="H" color="#000000" y="124"/>
<rect ry="0" x="10" rx="0" height="20" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:none;color:black" y="5"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="20" y="5"/>
<text x="5" text="A" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="10"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="10"/>
<text x="34" text="4" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="34" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="4" color="#000000" y="145.5"/>
<rect ry="0" x="10" rx="0" height="10" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:black;color:black" y="15"/> <rect x="10" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="10" y="15"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="32"/> <rect x="9.5" width="20" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="5" y="32"/>
<rect ry="0" x="25.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="25.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<rect ry="0" x="8.5896" rx="0" height="5" antialias="false" width="10.0646" style="line-style:normal;line-weight:normal;filling:black;color:black" y="32"/> <rect x="8.5896" width="10.0646" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="5" y="32"/>
<rect ry="0" x="20" rx="0" height="20" antialias="false" width="27" style="line-style:normal;line-weight:thin;filling:none;color:black" y="5"/> <rect x="20" width="27" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="20" y="5"/>
<text x="22" text="1" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="22" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="1" color="#000000" y="145.5"/>
<rect ry="0" x="30.1518" rx="0" height="8" antialias="false" width="3.01184" style="line-style:normal;line-weight:thin;filling:black;color:black" y="14"/> <rect x="30.1518" width="3.01184" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="8" y="14"/>
<text x="30" text="3" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="30" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="3" color="#000000" y="145.5"/>
<text x="26" text="2" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="26" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="2" color="#000000" y="145.5"/>
<text x="42" text="6" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="42" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="6" color="#000000" y="145.5"/>
<text x="38" text="5" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="38" font="Sans Serif,2,-1,5,50,0,0,0,0,0" rotation="0" text="5" color="#000000" y="145.5"/>
<rect ry="0" x="50" rx="1" height="40" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="120"/> <rect x="50" width="20" antialias="false" rx="1" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="120"/>
<text x="59.5" text="1B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="130.5"/> <text x="59.5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="1B" color="#000000" y="130.5"/>
<text x="5" text="B" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="145.5"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="B" color="#000000" y="145.5"/>
<rect ry="0" x="0" rx="0" height="40" antialias="false" width="50" style="line-style:normal;line-weight:normal;filling:none;color:black" y="120"/> <rect x="0" width="50" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="40" y="120"/>
<rect ry="0" x="9.5" rx="0" height="20" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:none;color:black" y="125.5"/> <rect x="9.5" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="20" y="125.5"/>
<text x="5" text="A" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" color="#000000" y="132.5"/> <text x="5" font="Sans Serif,4,-1,5,50,0,0,0,0,0" rotation="0" text="A" color="#000000" y="132.5"/>
<rect ry="0" x="9.5" rx="0" height="10" antialias="false" width="5" style="line-style:normal;line-weight:normal;filling:black;color:black" y="135.5"/> <rect x="9.5" width="5" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="10" y="135.5"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="20" style="line-style:normal;line-weight:normal;filling:none;color:black" y="152"/> <rect x="9.5" width="20" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" height="5" y="152"/>
<rect ry="0" x="9.5" rx="0" height="5" antialias="false" width="10" style="line-style:normal;line-weight:normal;filling:black;color:black" y="152"/> <rect x="9.5" width="10" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:normal;filling:black;color:black" height="5" y="152"/>
<rect ry="0" x="19.5" rx="0" height="21" antialias="false" width="27" style="line-style:normal;line-weight:thin;filling:none;color:black" y="125.5"/> <rect x="19.5" width="27" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="21" y="125.5"/>
<rect ry="0" x="21.5" rx="0" height="15" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:none;color:black" y="127.5"/> <rect x="21.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:none;color:black" height="15" y="127.5"/>
<rect ry="0" x="29.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:thin;filling:black;color:black" y="127.5"/> <rect x="29.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:thin;filling:black;color:black" height="7.5" y="127.5"/>
<dynamic_text x="20" uuid="{8657c0ee-49f9-445f-9272-149d9ea58486}" text_from="ElementInfo" Halignment="AlignLeft" Valignment="AlignTop" rotation="0" font="MS Shell Dlg 2,8,-1,5,50,0,0,0,0,0,Normal" z="149" frame="false" text_width="-1" y="170"> <rect x="21.5" width="3" antialias="false" rx="0" ry="0" style="line-style:normal;line-weight:none;filling:black;color:black" height="7.5" y="135"/>
<dynamic_text x="20" z="149" font="MS Shell Dlg 2,8,-1,5,50,0,0,0,0,0,Normal" Valignment="AlignTop" rotation="0" frame="false" Halignment="AlignLeft" text_width="-1" text_from="ElementInfo" uuid="{8657c0ee-49f9-445f-9272-149d9ea58486}" y="170">
<text>4-AI</text> <text>4-AI</text>
<info_name>label</info_name> <info_name>label</info_name>
</dynamic_text> </dynamic_text>
<rect ry="0" x="21.5" rx="0" height="7.5" antialias="false" width="3" style="line-style:normal;line-weight:none;filling:black;color:black" y="135"/> <terminal x="69.5" orientation="e" y="70"/>
<terminal x="70" uuid="{81de53db-75f5-474c-bab6-e258e2b8c371}" name="3A" y="70" orientation="e"/> <terminal x="70" orientation="e" y="30"/>
<terminal x="70" uuid="{91c0d9a2-5815-497a-bc87-99e19b98795e}" name="4A" y="30" orientation="e"/> <terminal x="69.5" orientation="e" y="110"/>
<terminal x="69.5" uuid="{59ec38a0-8c11-4117-82f3-74d1b3f31aa9}" name="2A" y="110" orientation="e"/> <terminal x="69.5" orientation="e" y="90"/>
<terminal x="69.5" uuid="{e658a9e2-0a3f-414f-9c88-e8c618f5ea97}" name="2B" y="90" orientation="e"/> <terminal x="69.5" orientation="e" y="50"/>
<terminal x="69.5" uuid="{a4e771d1-c748-496e-bf2b-e4a2cf1084e8}" name="3B" y="50" orientation="e"/> <terminal x="70" orientation="e" y="10"/>
<terminal x="70" uuid="{10c8d23f-02c6-4efe-97e7-156b4595f8c7}" name="4B" y="10" orientation="e"/> <terminal x="69.5" orientation="e" y="150"/>
<terminal x="69.5" uuid="{0daea7b6-b0c9-4400-9748-24f8554546f5}" name="1A" y="150" orientation="e"/> <terminal x="69.5" orientation="e" y="130"/>
<terminal x="69.5" uuid="{da340c7e-9dba-4bdb-bdb5-a4b94d0a932b}" name="1B" y="130" orientation="e"/>
</description> </description>
</definition> </definition>
@@ -1,104 +0,0 @@
<definition version="0.80" link_type="slave" hotspot_x="200" height="180" width="300" type="element" hotspot_y="89">
<uuid uuid="{863883e5-387a-410f-b4e4-08da560f2f5f}"/>
<names>
<name lang="fr">Façade S550 implantation</name>
</names>
<kindInformations>
<kindInformation name="number" show="1">1</kindInformation>
<kindInformation name="state" show="1">NO</kindInformation>
<kindInformation name="type" show="1">simple</kindInformation>
</kindInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect antialias="false" y="-67.4598" height="149.6" rx="0" ry="0" width="271.763" x="-194.712" style="line-style:normal;line-weight:normal;filling:white;color:black"/>
<polygon y1="51.3402" x5="-169.472" y4="59.3402" x3="-155.642" closed="false" antialias="false" x4="-166.015" y2="51.3402" x1="-169.472" y5="51.3402" y3="59.3402" x2="-152.185" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="46.97" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="15.1606" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="-17.3403" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="-49.4955" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="15.559" x="-83.7252" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="7" y="69.7402" x="44.5497" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="6" y="69.7402" x="12.3946" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="5" y="69.7402" x="-20.4521" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="4" y="69.7402" x="-52.6073" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="3" y="69.7402" x="-86.4912" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="2" y="69.7402" x="-119.684" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="1" y="69.7402" x="-152.185" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<rect antialias="false" y="-61.0598" height="12.4" rx="0" ry="0" width="23.8571" x="48.6988" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<arc antialias="true" y="-60.6598" height="80" width="345.754" x="-143.886" start="-74" angle="-50" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<arc antialias="true" y="-31.8598" height="80" width="345.754" x="-195.058" start="-55" angle="-120" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="GND" y="20" x="84" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="V+" y="13" x="84" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="REF" y="5" x="84" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="T-" y="-3" x="84" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="T+" y="-9" x="84" font="Sans Serif,4,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="0" y="69.7402" x="-183.648" font="Sans Serif,9,-1,5,50,0,0,0,0,0"/>
<line y1="15.3402" length2="1.5" antialias="false" end1="none" y2="15.3402" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line y1="7.3402" length2="1.5" antialias="false" end1="none" y2="7.3402" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line y1="-0.6598" length2="1.5" antialias="false" end1="none" y2="-0.6598" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line y1="-8.6598" length2="1.5" antialias="false" end1="none" y2="-8.6598" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line y1="-16.6598" length2="1.5" antialias="false" end1="none" y2="23.3402" length1="1.5" end2="none" x1="82.9285" x2="82.9285" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-16.6598" length2="1.5" antialias="false" end1="none" y2="-16.6598" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="23.3402" length2="1.5" antialias="false" end1="none" y2="23.3402" length1="1.5" end2="none" x1="77.0507" x2="82.9285" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="-116.572" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="71.3402" height="6.8" rx="0" ry="0" width="17.2877" x="-149.073" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="70" height="6.8" rx="0" ry="0" width="15.559" x="-180" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text rotation="0" color="#000000" text="550" y="-40" x="-10" font="Sans Serif,17,-1,5,50,0,0,0,0,0"/>
<text rotation="0" color="#000000" text="s" y="-40" x="-30" font="Sans Serif,30,-1,5,50,0,0,0,0,0"/>
<ellipse antialias="true" height="4.52548" y="-6.9226" width="3.91176" x="22.6486" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<ellipse antialias="true" height="4.52548" y="-6.9226" width="3.91176" x="0.411761" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<rect antialias="false" y="-36.2598" height="22.4" rx="0" ry="0" width="51.1717" x="-12.154" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="39" text_width="-1" y="59" uuid="{d247c0c9-d5c8-4ca6-a555-252c3fac578b}" Valignment="AlignTop" x="-20" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="40" text_width="-1" y="66" uuid="{854541e9-02ba-436c-9979-b774ee21b8fb}" Valignment="AlignTop" x="14" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,5,-1,5,0,0,0,0,0,0,normal">
<text>4AI</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="41" text_width="-1" y="66" uuid="{57f68c93-e25b-472e-9884-549e6de5bf27}" Valignment="AlignTop" x="45" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,5,-1,5,0,0,0,0,0,0,normal">
<text>4AO</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="42" text_width="-1" y="59" uuid="{62e7462d-6d1b-451d-bb63-f805c15990e8}" Valignment="AlignTop" x="-87" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="43" text_width="-1" y="59" uuid="{3d6f7117-d5ac-4a59-9d5b-c320540eeb64}" Valignment="AlignTop" x="-52" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<ellipse antialias="true" height="30" y="17.9402" width="25.9316" x="18.791" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
<line y1="30.9402" length2="1.5" antialias="false" end1="none" y2="-67.4598" length1="1.5" end2="none" x1="-163.767" x2="-163.767" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="38.9402" length2="1.5" antialias="false" end1="none" y2="-67.4598" length1="1.5" end2="none" x1="-131.785" x2="-131.785" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text frame="false" rotation="0" z="47" text_width="-1" y="59" uuid="{945b8039-7fa4-4dcd-927a-0be59d0b9e87}" Valignment="AlignTop" x="-119" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<dynamic_text frame="false" rotation="0" z="48" text_width="-1" y="59" uuid="{ed382d19-3991-42aa-98b1-84fad4c9d172}" Valignment="AlignTop" x="-151" text_from="UserText" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<line y1="43.3402" length2="1.5" antialias="false" end1="none" y2="-67.4598" length1="1.5" end2="none" x1="-99.8028" x2="-99.8028" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="46.4402" length2="1.5" antialias="false" end1="none" y2="-67.4598" length1="1.5" end2="none" x1="-68.1662" x2="-68.1662" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<ellipse antialias="true" height="28" y="18.9402" width="24.2028" x="19.6554" style="line-style:normal;line-weight:normal;filling:white;color:black"/>
<dynamic_text frame="false" rotation="0" z="52" text_width="-1" y="-55.8598" uuid="{f0bbdd51-767d-454f-8459-586856d862ea}" Valignment="AlignTop" x="86.7318" text_from="ElementInfo" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal name="" orientation="s" y="82" uuid="{bc8c4d49-bf0d-4a60-a1ca-adb572889f5a}" x="15"/>
<terminal name="" orientation="s" y="82" uuid="{ea831128-209c-40f1-8297-36c6ab3d0c69}" x="-170"/>
<terminal name="" orientation="e" y="12.5402" uuid="{5ef6ae41-c7b5-4fa1-9fc9-a1aa7c3a8971}" x="83.2742"/>
<terminal name="" orientation="e" y="-3.4598" uuid="{19cfafc5-fbec-4202-b73b-01a5728d3549}" x="83.2742"/>
<terminal name="" orientation="s" y="82.1402" uuid="{bdbb57d3-509c-4258-a0bb-83f01b51b387}" x="-104.816"/>
<terminal name="" orientation="s" y="82" uuid="{f7912032-0101-4bcb-b8fa-77efabdc1736}" x="25"/>
<terminal name="" orientation="s" y="82" uuid="{db180fbd-bf61-4508-a29e-de94aef615d3}" x="50"/>
<terminal name="" orientation="s" y="82" uuid="{6eac4dcc-3b12-4763-956a-3ee88967bfee}" x="20"/>
<terminal name="" orientation="s" y="82.1402" uuid="{1c4a2e28-e236-4ce6-a9b5-146e9eea0f75}" x="-142.849"/>
<terminal name="" orientation="s" y="82.1402" uuid="{955b05d2-4254-4087-9939-ee6175348acd}" x="-135.934"/>
<terminal name="" orientation="e" y="-11.4598" uuid="{c287b014-ec5f-45af-b982-a8242b71de4f}" x="83.2742"/>
<terminal name="" orientation="s" y="82" uuid="{a072c608-8d19-4ef0-afc0-0d7114388be0}" x="30"/>
<terminal name="" orientation="s" y="82" uuid="{c3de5ad8-40d2-4a6f-98d7-b0e16b088721}" x="60"/>
<terminal name="" orientation="e" y="20.5402" uuid="{15522d63-25f5-4950-bad6-fc00e8ebd08c}" x="83.2742"/>
<terminal name="" orientation="e" y="40.5402" uuid="{67913dd7-b584-4156-b12b-021060bfa548}" x="78.4337"/>
<terminal name="" orientation="s" y="82" uuid="{807b3392-9630-4efd-bf2e-e3f2a7af3808}" x="-80"/>
<terminal name="" orientation="e" y="4.5402" uuid="{c3e57ef4-cced-4dfd-ba2b-0433db4cf505}" x="83.2742"/>
<terminal name="" orientation="s" y="82.1402" uuid="{5057d5d9-a5e4-4a13-9aa0-f965b887f93a}" x="-73.6983"/>
<terminal name="" orientation="s" y="82" uuid="{68583810-41f5-4818-a34b-f24b367c7217}" x="-110"/>
<terminal name="" orientation="s" y="82.1402" uuid="{a651bae7-1771-423d-a226-4e0160c97278}" x="-177.425"/>
</description>
</definition>
@@ -1,40 +0,0 @@
<definition type="element" hotspot_x="5" link_type="terminal" hotspot_y="4" width="30" height="130" version="0.80">
<uuid uuid="{b8d4522e-81ed-48b7-a0af-8b2fb06e04a8}"/>
<names>
<name lang="fr">Borne grise</name>
</names>
<elementInformations>
<elementInformation name="unity" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">Legrand</elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="designation" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
</elementInformations>
<informations>Author: The QElectroTech team&#xd;
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect y="0" x="0" ry="0" rx="0" width="20" height="120" antialias="false" style="line-style:normal;line-weight:normal;filling:gray;color:black"/>
<line end2="none" end1="none" x1="10" length2="1.5" length1="1.5" x2="10" y1="11" antialias="false" y2="19" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="6" length2="1.5" length1="1.5" x2="14" y1="15" antialias="false" y2="15" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="10" length2="1.5" length1="1.5" x2="10" y1="101" antialias="false" y2="109" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<circle y="101" x="6" antialias="true" diameter="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line end2="none" end1="none" x1="6" length2="1.5" length1="1.5" x2="14" y1="105" antialias="false" y2="105" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="0" length2="1.5" length1="1.5" x2="20" y1="10" antialias="false" y2="10" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="0" length2="1.5" length1="1.5" x2="20" y1="110" antialias="false" y2="110" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="1" length2="1.5" length1="1.5" x2="20" y1="100" antialias="false" y2="100" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<line end2="none" end1="none" x1="1" length2="1.5" length1="1.5" x2="20" y1="20" antialias="false" y2="20" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<circle y="11" x="6" antialias="true" diameter="8" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<dynamic_text y="150" x="0" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" text_from="ElementInfo" rotation="270" frame="false" Valignment="AlignTop" uuid="{b96ddaf4-2da5-4443-aed8-8933dd2fca18}" z="13" text_width="-1" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal y="0" name="" x="10" orientation="n" uuid="{4ea09df9-1cfe-4632-a4af-703c14d5f1a8}"/>
<terminal y="120" name="" x="10" orientation="s" uuid="{f442a6ce-3820-4349-9e3d-669ec4888a7a}"/>
</description>
</definition>
@@ -1,48 +0,0 @@
<definition link_type="terminal" type="element" height="130" hotspot_y="4" hotspot_x="5" version="0.80" width="30">
<uuid uuid="{e25aaf3d-23ef-4a75-ae0b-30dd57c09269}"/>
<names>
<name lang="it">Base P2RF 1</name>
<name lang="fr">Borne de terre</name>
<name lang="el">Βάση P2RF 1</name>
<name lang="nl">Basis P2RF 1</name>
<name lang="pl">Podstawa P2RF 1</name>
<name lang="cs">Patice P2RF 1</name>
<name lang="en">Base P2RF 1</name>
</names>
<elementInformations>
<elementInformation show="1" name="manufacturer">Legrand</elementInformation>
<elementInformation show="1" name="quantity"></elementInformation>
<elementInformation show="1" name="manufacturer_reference"></elementInformation>
<elementInformation show="1" name="supplier"></elementInformation>
<elementInformation show="1" name="plant"></elementInformation>
<elementInformation show="1" name="machine_manufacturer_reference"></elementInformation>
<elementInformation show="1" name="description"></elementInformation>
<elementInformation show="1" name="designation"></elementInformation>
<elementInformation show="1" name="comment"></elementInformation>
<elementInformation show="1" name="unity"></elementInformation>
<elementInformation show="1" name="label"></elementInformation>
</elementInformations>
<informations>Author: The QElectroTech team&#xd;
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect y="0" ry="0" style="line-style:normal;line-weight:normal;filling:yellow;color:yellow" x="10.5" height="120" rx="0" antialias="false" width="9"/>
<rect y="0" ry="0" style="line-style:normal;line-weight:normal;filling:green;color:green" x="0.5" height="120" rx="0" antialias="false" width="9"/>
<rect y="0" ry="0" style="line-style:normal;line-weight:normal;filling:none;color:black" x="0" height="120" rx="0" antialias="false" width="20"/>
<line y2="19" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="10" y1="11" antialias="false" end1="none" length2="1.5" x2="10"/>
<line y2="15" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="6" y1="15" antialias="false" end1="none" length2="1.5" x2="14"/>
<line y2="109" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="10" y1="101" antialias="false" end1="none" length2="1.5" x2="10"/>
<circle y="101" style="line-style:normal;line-weight:normal;filling:none;color:black" x="6" diameter="8" antialias="true"/>
<line y2="105" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="6" y1="105" antialias="false" end1="none" length2="1.5" x2="14"/>
<line y2="10" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="0" y1="10" antialias="false" end1="none" length2="1.5" x2="20"/>
<line y2="110" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="0" y1="110" antialias="false" end1="none" length2="1.5" x2="20"/>
<line y2="100" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="1" y1="100" antialias="false" end1="none" length2="1.5" x2="20"/>
<line y2="20" end2="none" style="line-style:normal;line-weight:thin;filling:none;color:black" length1="1.5" x1="1" y1="20" antialias="false" end1="none" length2="1.5" x2="20"/>
<dynamic_text frame="false" Halignment="AlignLeft" Valignment="AlignTop" y="150" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" z="13" x="0" text_width="-1" text_from="ElementInfo" rotation="270" uuid="{b96ddaf4-2da5-4443-aed8-8933dd2fca18}">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<circle y="11" style="line-style:normal;line-weight:normal;filling:none;color:black" x="6" diameter="8" antialias="true"/>
<terminal orientation="s" y="120" x="10" name="" uuid="{f442a6ce-3820-4349-9e3d-669ec4888a7a}"/>
<terminal orientation="n" y="0" x="10" name="" uuid="{4ea09df9-1cfe-4632-a4af-703c14d5f1a8}"/>
</description>
</definition>
@@ -1,29 +0,0 @@
<definition type="element" hotspot_x="2" link_type="terminal" hotspot_y="5" width="10" height="130" version="0.80">
<uuid uuid="{1b3a998d-3ecf-49e9-8b7c-bfb3c7bd3d7c}"/>
<names>
<name lang="fr">Cloison terminale</name>
</names>
<elementInformations>
<elementInformation name="unity" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1">Legrand</elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="designation" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
</elementInformations>
<informations>S.DEFFAUX
Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect y="0" x="0" ry="0" rx="0" width="5" height="120" antialias="false" style="line-style:normal;line-weight:normal;filling:HTMLGrayLightSlateGray;color:black"/>
<dynamic_text y="150" x="0" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" text_from="ElementInfo" rotation="270" frame="false" Valignment="AlignTop" uuid="{b96ddaf4-2da5-4443-aed8-8933dd2fca18}" z="13" text_width="-1" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
</description>
</definition>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+443 -507
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+1033 -1102
View File
File diff suppressed because it is too large Load Diff
+443 -507
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+612 -677
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+492 -556
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+515 -581
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+500 -564
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+454 -516
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+440 -504
View File
File diff suppressed because it is too large Load Diff
+443 -507
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+444 -508
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+7948 -8016
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
+439 -503
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+445 -509
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
+443 -510
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
+443 -507
View File
File diff suppressed because it is too large Load Diff
+444 -508
View File
File diff suppressed because it is too large Load Diff
+439 -503
View File
File diff suppressed because it is too large Load Diff
+439 -503
View File
File diff suppressed because it is too large Load Diff
+439 -503
View File
File diff suppressed because it is too large Load Diff
+445 -509
View File
File diff suppressed because it is too large Load Diff
+439 -503
View File
File diff suppressed because it is too large Load Diff
-47
View File
@@ -1,47 +0,0 @@
#!/bin/bash
#set -x
#delete old qet.h
rm sources/qet.h
cd sources
git reset --hard origin/master
cd ..
# get updates
git pull --recurse-submodules
sed -i 's/DEFINES += QET_EXPORT_PROJECT_DB/#DEFINES += QET_EXPORT_PROJECT_DB/' qelectrotech.pro
GITCOMMIT=$(git rev-parse --short HEAD)
A=$(git rev-list HEAD --count)
HEAD=$(($A+473))
# We recover the version number of the original
tagName=$(sed -n "s/const QString displayedVersion =\(.*\)/\1/p" sources/qet.h | cut -d\" -f2 | cut -d\" -f1 )
# On modifie l'originale avec le numéro de révision du dépôt GIT
sed -i 's/'"const QString displayedVersion =.*/const QString displayedVersion = \"$tagName+$GITCOMMIT\";"'/' sources/qet.h
rm -Rf build/
mkdir build && cd build
qmake ../qelectrotech.pro
make -j48
cd ../appdir/
rm qelectrotech/usr/bin/qelectrotech
rm -Rf qelectrotech/usr/{lib,plugins}
rm -Rf qelectrotech/usr/share/{elements,examples,titleblocks,lang,man,doc}
cp ../build/qelectrotech qelectrotech/usr/bin/
cp -r ../{elements,examples,titleblocks,lang,man} qelectrotech/usr/share/
./linuxdeployqt-continuous-x86_64.AppImage qelectrotech/usr/share/qelectrotech.desktop -appimage -bundle-non-qt-libs -verbose=1 -extra-plugins=iconengines
rm qelectrotech/AppRun
sed -i 's/'"QElectroTech_0.8-DEV.*/QElectroTech_0.8-DEV-r"$HEAD""'/' qelectrotech/qelectrotech.desktop
cp AppRun qelectrotech/
rm QElectroTech_*.AppImage
ARCH=x86_64 ./appimagetool-x86_64.AppImage qelectrotech
chmod -x QElectroTech_0.8-DEV-r$HEAD-x86_64.AppImage
-374
View File
@@ -1,374 +0,0 @@
#!/bin/bash
#nettoyage des chroots
#set -x
eval $(gpg-agent --daemon)
#variables repertoires de travail
DEFAULT_DIR="$HOME/paquet_qet"
TEMP_DIR="$HOME"
SSH_TARGET='scorpio810@ssh.tuxfamily.org:/home/qet/qelectrotech.org-web/htdocs/dl_link.inc.php'
SSH_OPTIONS=-B
cd $DEFAULT_DIR
cd qet_git
# get updates
git pull --recurse-submodules
GITCOMMIT=$(git rev-parse --short HEAD)
#Find Subversion revision number in trunk branch
if [ -z "$HEAD" ] ; then
A=$(git rev-list HEAD --count)
HEAD=$(($A+473))
# force displayed number
fi
VERSION=$(cat sources/qet.h | grep "const QString version" | cut -d\" -f2 | cut -d\" -f1) #Find version tag in Subversion sources/qet.h
tagName=$(cat sources/qet.h | grep displayedVersion | cut -d\" -f2 | cut -d\" -f1) #Find displayedVersion tag in Subversion sources/qet.h
#clean /var/cache/pbuilder/ .. / result/debs
echo -e "\033[1;31mWould you like to clean all debs n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;31mClean_all_base_environment.\033[m"
cd /var/cache/pbuilder/stable-amd64/result/ && sudo rm qe*
cd /var/cache/pbuilder/unstable-amd64/result/ && sudo rm qe*
cd /var/cache/pbuilder/stable-i386/result/ && sudo rm qe*
cd /var/cache/pbuilder/unstable-i386/result/ && sudo rm qe*
else
echo -e "\033[1;33mNo Clean_all_base_environment.\033[m"
fi
#clean all apt cache
echo -e "\033[1;31mWould you like to clean all pbuilder n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;31mClean_all_pbuilder_environment.\033[m"
DIST=stable ARCH=i386 sudo pbuilder --clean
DIST=stable ARCH=amd64 sudo pbuilder --clean
DIST=unstable ARCH=i386 sudo pbuilder --clean
DIST=unstable ARCH=amd64 sudo pbuilder --clean
else
echo -e "\033[1;33mNo Clean_all_pbuilder_environment.\033[m"
fi
#Update des chroots
echo -e "\033[1;31mWould you like to update all chroots n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;33mUpdate_all_base_environment..\033[m"
sudo DIST=stable ARCH=i386 pbuilder update --override-config --configfile /home/laurent/.pbuilderrc
sudo DIST=sid ARCH=i386 pbuilder update --override-config --configfile /home/laurent/.pbuilderrc
sudo DIST=stable pbuilder update --override-config --configfile /home/laurent/.pbuilderrc
sudo DIST=sid pbuilder update --override-config --configfile /home/laurent/.pbuilderrc
else
echo -e "\033[1;33mNo Update_all_base_environment.\033[m"
fi
echo -e "\033[1;34mdownload source qelectrotech-$VERSION.r$HEAD.\033[m"
cd $TEMP_DIR
cp -r $DEFAULT_DIR/qet_git/ $TEMP_DIR/qelectrotech-$VERSION.r$HEAD/
rm -rf qelectrotech-$VERSION.r$HEAD/.git
#create svn tarball
tar cfvz qelectrotech-$VERSION.r$HEAD.tar.gz qelectrotech-$VERSION.r$HEAD/
#copy tarball in $DEFAULT_DIR
cp qelectrotech-$VERSION.r$HEAD.tar.gz $DEFAULT_DIR
clean $TEMP_DIR
rm -Rf qelectrotech-$VERSION.r$HEAD/ && rm qelectrotech-$VERSION.r$HEAD.tar.gz
#return to working directory
cd $DEFAULT_DIR
#extract tarball and go to archive
tar zxvf qelectrotech-$VERSION.r$HEAD.tar.gz && cd qelectrotech-$VERSION.r$HEAD/
#create origin.tar.gz
dh_make -e scorpio@qelectrotech.org -c gpl2 -f ../qelectrotech-$VERSION.r$HEAD.tar.gz
#clean debian folder
cd /
rm -Rf debian/
#return to working directory
cd $DEFAULT_DIR
#copy debian folder
cp -r debian/ qelectrotech-$VERSION.r$HEAD/
#update changelog to new release
cd qelectrotech-$VERSION.r$HEAD/
dch -d -D unstable "New upstream subversion version "
#edit changelog
echo -e "\033[1;31mWould you like to edit changelog n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;31mEdit debian changelog..\033[m"
dch --edit
else
echo -e "\033[1;33mNo edit changelog.\033[m"
fi
cd debian/ && rm -rf *ex *EX README*
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/debian/patches/
sed -i 's/'"$tagName+[0-9]*"'/'"$tagName+$GITCOMMIT"'/' 03_qet.diff
#deplacement dans le paquet_qet
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/
quilt push
quilt push
quilt refresh
echo -e "\033[1;31mWould you like to build Debian packages n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
#build
echo -e "\033[1;34mBuild_all_environements.\033[m"
sudo DIST=sid ARCH=amd64 pdebuild --configfile /home/laurent/.pbuilderrc
sudo DIST=sid ARCH=i386 pdebuild --configfile /home/laurent/.pbuilderrc
dch -i -D stable "Backport stable " &&
sudo DIST=stable ARCH=amd64 pdebuild --configfile /home/laurent/.pbuilderrc
sudo DIST=stable ARCH=i386 pdebuild --configfile /home/laurent/.pbuilderrc
STRING="Build_all_environements is ready!!!"
echo $STRING
#prepare download copys
cd $DEFAULT_DIR
mkdir -p $HEAD/stable/amd64
mkdir -p $HEAD/stable/i386
mkdir -p $HEAD/sid/amd64
mkdir -p $HEAD/sid/i386
#copie des debs des results vers $HEAD
find /var/cache/pbuilder/stable-amd64/result -name "qe*" -exec cp {} $DEFAULT_DIR/$HEAD/stable/amd64 \;
find /var/cache/pbuilder/stable-i386/result -name "qe*" -exec cp {} $DEFAULT_DIR/$HEAD/stable/i386 \;
find /var/cache/pbuilder/unstable-amd64/result -name "qe*" -exec cp {} $DEFAULT_DIR/$HEAD/sid/amd64 \;
find /var/cache/pbuilder/unstable-i386/result -name "qe*" -exec cp {} $DEFAULT_DIR/$HEAD/sid/i386 \;
#debsign
echo -e "\033[1;31mWould you like to sign all packages n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
#debsign stable amd64
cd $DEFAULT_DIR/$HEAD/stable/amd64
debsign -k D3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1 *.changes
echo -e "\033[1;33mAll stable amd64 are sign.\033[m"
#debsign sid amd64
cd $DEFAULT_DIR/$HEAD/sid/amd64
debsign -k D3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1 *.changes
echo -e "\033[1;33mAll sid amd64 are sign.\033[m"
#debsign stable i386
cd $DEFAULT_DIR/$HEAD/stable/i386
debsign -k D3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1 *.changes
echo -e "\033[1;33mAll stable i386 are sign.\033[m"
#debsign sid i386
cd $DEFAULT_DIR/$HEAD/sid/i386
debsign -k D3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1 *.changes
echo -e "\033[1;33mAll sid i386 are sign.\033[m"
else
echo -e "\033[1;33mExit.\033[m"
fi
#upload vers incoming
echo -e "\033[1;31mWould you like to upload to incoming n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;33mUpload qelectrotech-$VERSION.r$HEAD.\033[m"
cd ~/apt
reprepro -vb . include unstable $DEFAULT_DIR/$HEAD/sid/amd64/*.changes
reprepro -vb . includedeb unstable $DEFAULT_DIR/$HEAD/sid/i386/*i386.deb
reprepro -vb . include stable $DEFAULT_DIR/$HEAD/stable/amd64/*.changes
reprepro -vb . includedeb stable $DEFAULT_DIR/$HEAD/stable/i386/*i386.deb
reprepro -b . export
else
echo -e "\033[1;33mExit.\033[m"
fi
#rsync to TF
echo -e "\033[1;31mWould you like to RSYNC Debian packages to TF n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
echo -e "\033[1;33mRsync to TF qelectrotech-$VERSION.r$HEAD .\033[m"
echo -e "\033[1;31mrsync to TF password ssh and TF\033[m"
cd $DEFAULT_DIR/script
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress --exclude-from=ExclusionRSync ~/apt/ scorpio810@ssh.tuxfamily.org:/home/qet/qet-repository/debian/
if [ $? != 0 ]; then
{
echo "RSYNC ERROR: problem syncing qelectrotech-$VERSION.r$HEAD "
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress --exclude-from=ExclusionRSync ~/apt/ scorpio810@ssh.tuxfamily.org:/home/qet/qet-repository/debian/
} fi
else
echo -e "\033[1;33mExit.\033[m"
fi
else
echo -e "\033[1;33mExit.\033[m"
fi
############# Ubuntu packages ################################################################################################
echo -e "\033[1;31mWould you like to build Ubuntu PPA packages n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
#deplacement dans le paquet_qet
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/
dch -i -D bionic "Bionic Upload to ppa"
debuild -S -sa -kD3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1
dch -i -D eoan "Eoan Upload to ppa"
debuild -S -kD3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1
dch -i -D disco "Disco Upload to ppa"
debuild -S -kD3439F4E2273F7DCD3228C9EBC9F825E1D4FB6C1
cd $DEFAULT_DIR/
dput my-ppa-dev qelectrotech_$VERSION.r$HEAD-*ubuntu1_source.changes
dput my-ppa-dev qelectrotech_$VERSION.r$HEAD-*ubuntu2_source.changes
dput my-ppa-dev qelectrotech_$VERSION.r$HEAD-*ubuntu3_source.changes
else
echo -e "\033[1;33mExit.\033[m"
fi
############# Windows packages ################################################################################################
#copy and update folders of nsis_base skeleton
echo -e "\033[1;31mWould you like to build Window packages n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
# 32 bits
cd $DEFAULT_DIR
cp -r qelectrotech-$VERSION.r$HEAD/ qelectrotech-$VERSION.r$HEAD-XP/
cp -r nsis_base nsis_base$HEAD
cd qelectrotech-$VERSION.r$HEAD/
cp -r {elements,examples,titleblocks} /$DEFAULT_DIR/nsis_base$HEAD/files
cp -r lang/*.qm /$DEFAULT_DIR/nsis_base$HEAD/files/lang
cd $DEFAULT_DIR
cd qelectrotech-$VERSION.r$HEAD/build-aux/windows/
cp {lang_extra.nsh,QET.nsi,lang_extra_fr.nsh} /$DEFAULT_DIR/nsis_base$HEAD/
# 64 bits
cd $DEFAULT_DIR
cp -r nsis_base nsis_base64$HEAD
cd qelectrotech-$VERSION.r$HEAD/
cp -r {elements,examples,titleblocks} /$DEFAULT_DIR/nsis_base64$HEAD/files
cp -r lang/*.qm /$DEFAULT_DIR/nsis_base64$HEAD/files/lang
cd $DEFAULT_DIR
cd qelectrotech-$VERSION.r$HEAD/build-aux/windows/
cp {lang_extra.nsh,QET64.nsi,lang_extra_fr.nsh} /$DEFAULT_DIR/nsis_base64$HEAD/
#copy and update folders of readytouse_base skeleton
cd $DEFAULT_DIR
cp -r readytouse_base qelectrotech-$tagName+git$HEAD-x86-win32-readytouse
cd qelectrotech-$VERSION.r$HEAD/
cp -r {elements,examples,titleblocks} /$DEFAULT_DIR/qelectrotech-$tagName+git$HEAD-x86-win32-readytouse
cp -r lang/*.qm /$DEFAULT_DIR/qelectrotech-$tagName+git$HEAD-x86-win32-readytouse/lang
#################################################################################################################
export PATH=/media/backup6/digikam_new2/project/bundles/mxe/build.win32/usr/bin:$PATH
#cross-compil 32 bits
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD
mkdir build/ && cd build
/media/backup6/digikam_new2/project/bundles/mxe/build.win32/usr/bin/i686-w64-mingw32.static-qmake-qt5 $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/qelectrotech.pro
make -j$(nproc)
#copy 32 bits binarie to /bin Windows packages
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/build/release/
cp qelectrotech.exe /$DEFAULT_DIR/nsis_base$HEAD/files/bin
cp qelectrotech.exe /$DEFAULT_DIR/qelectrotech-$tagName+git$HEAD-x86-win32-readytouse/bin
#tag $HEAD by sed for nsis script
cd $DEFAULT_DIR/nsis_base$HEAD
sed -i 's/'"0.5-dev+[0-9]*"'/'"$tagName"+git"$HEAD"'/' QET.nsi
#build Windows installer
makensis QET.nsi
#################################################################################################################
export PATH=/media/backup6/digikam_new2/project/bundles/mxe/build.win64/usr/bin:$PATH
#cross-compil 64 bits
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD
rm -r build/
mkdir build/ && cd build
#mxe: qmake-qt5 x86_64-w64
/media/backup6/digikam_new2/project/bundles/mxe/build.win64/usr/bin/x86_64-w64-mingw32.static-qmake-qt5 $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/qelectrotech.pro
make -j$(nproc)
cd $DEFAULT_DIR/qelectrotech-$VERSION.r$HEAD/build/release/
mv qelectrotech.exe /$DEFAULT_DIR/nsis_base64$HEAD/files/bin
cd $DEFAULT_DIR/nsis_base64$HEAD
sed -i 's/'"0.5-dev_x86_64-win64+[0-9]*"'/'"$tagName"_x86_64-win64+git"$HEAD"'/' QET64.nsi
makensis QET64.nsi
#crompress readytouse
cd $DEFAULT_DIR
7za a -m0=lzma qelectrotech-$tagName+git$HEAD-x86-win32-readytouse.7z qelectrotech-$tagName+git$HEAD-x86-win32-readytouse/
echo -e "\033[1;31mWould you like to prepare to RSYNC Windows packages /Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
cd /home/laurent/builds/nightly/
name=$(date +%Y-%m-%d-) #defined a name based on the date
#start increment to 1
i=1
#increment by i if the builds have already been created
while [ "$(ls /home/$USER/builds/nightly/ | grep $name$i)" != "" ]; do
((i++))
done
#create a new folder incremented by 1
mkdir /home/$USER/builds/nightly/$name$i
cd $DEFAULT_DIR/
cp qelectrotech-$tagName+git$HEAD-x86-win32-readytouse.7z /home/laurent/builds/nightly/$name$i
cd /$DEFAULT_DIR/nsis_base$HEAD
cp Installer_QElectroTech-$tagName+git$HEAD-1.exe /home/laurent/builds/nightly/$name$i
cd $DEFAULT_DIR/nsis_base64$HEAD
cp Installer_QElectroTech-$tagName"_x86_64-win64+git"$HEAD-1.exe /home/laurent/builds/nightly/$name$i
else
echo -e "\033[1;33mExit.\033[m"
fi
#rsync to TF Windows builds
echo -e "\033[1;31mWould you like to upload Windows packages n/Y?.\033[m"
read a
if [[ $a == "Y" || $a == "y" ]]; then
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress /home/laurent/builds/nightly/ scorpio810@ssh.tuxfamily.org:/home/qet/qet-repository/builds/nightly/
if [ $? != 0 ]; then
{
echo "RSYNC ERROR: problem syncing qelectrotech-$VERSION.r$HEAD "
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress /home/laurent/builds/nightly/ scorpio810@ssh.tuxfamily.org:/home/qet/qet-repository/builds/nightly/
} fi
else
echo -e "\033[1;33mExit.\033[m"
fi
else
echo -e "\033[1;33mExit.\033[m"
fi
exit
-31
View File
@@ -1,31 +0,0 @@
#!/bin/bash
#set -x
#delete old qet.h
rm sources/qet.h
cd sources
git reset --hard origin/master
cd ..
# get updates
git pull --recurse-submodules
sed -i 's/DEFINES += QET_EXPORT_PROJECT_DB/#DEFINES += QET_EXPORT_PROJECT_DB/' qelectrotech.pro
# get the number of the new revision
GITCOMMIT=$(git rev-parse --short HEAD)
tagName=$(cat sources/qet.h | grep displayedVersion | cut -d\" -f2 | cut -d\" -f1) #Find displayedVersion tag in GIT sources/qet.h
# We recover the version number of the original
tagName=$(sed -n "s/const QString displayedVersion =\(.*\)/\1/p" sources/qet.h | cut -d\" -f2 | cut -d\" -f1 )
# We modify the original with the revision number of the svn repository
sed -i 's/'"const QString displayedVersion =.*/const QString displayedVersion = \"$tagName+$GITCOMMIT\";"'/' sources/qet.h
cd ~
flatpak-builder --force-clean --ccache --repo=qet_git/0.8-dev qet_git/build-dir qet_git/build-aux/flatpak/org.qelectrotech.QElectroTech.json --gpg-sign=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --gpg-homedir=gpg
flatpak build-update-repo qet_git/0.8-dev --title="Development builds of QElectroTech" --prune --prune-depth=4 --generate-static-deltas --gpg-sign=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --gpg-homedir=gpg
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress qet_git/0.8-dev/ scorpio810@ssh.tuxfamily.org:/home/qet/qet-repository/builds/Flatpak/
+15 -10
View File
@@ -24,6 +24,7 @@
#include "element.h" #include "element.h"
#include "qetxml.h" #include "qetxml.h"
#include <QPicture> #include <QPicture>
#include <QDebug>
// make this class usable with QVariant // make this class usable with QVariant
int ElementsLocation::MetaTypeId = qRegisterMetaType<ElementsLocation>("ElementsLocation"); int ElementsLocation::MetaTypeId = qRegisterMetaType<ElementsLocation>("ElementsLocation");
@@ -675,24 +676,28 @@ pugi::xml_document ElementsLocation::pugiXml() const
#endif #endif
if (!m_project) if (!m_project)
{ {
if (docu.load_file(m_file_system_path.toStdString().c_str()))
{
#ifndef Q_OS_LINUX #ifndef Q_OS_LINUX
if (docu.load_file(m_file_system_path.toStdString().c_str())) {
docu.save(m_string_stream); docu.save(m_string_stream);
}
#else
docu.load_file(m_file_system_path.toStdString().c_str());
#endif #endif
}
} }
else else
{ {
//Get the xml dom from Qt xml and copie to pugi xml
QDomDocument qdoc;
QString str = m_collection_path; QString str = m_collection_path;
if (isElement()) { //Get the xml dom from Qt xml and copie to pugi xml
QDomElement element = m_project->embeddedElementCollection()->element(str.remove("embed://")); QDomElement element = m_project
qdoc.appendChild(qdoc.importNode(element.firstChildElement("definition"),true)); ->embeddedElementCollection()
->element(str.remove("embed://"));
QDomDocument qdoc;
if (isElement())
{
qdoc.appendChild(qdoc.importNode(
element.firstChildElement(
"definition"),
true));
} else { } else {
QDomElement element = m_project->embeddedElementCollection()->directory(str.remove("embed://"));
qdoc.appendChild(qdoc.importNode(element, true)); qdoc.appendChild(qdoc.importNode(element, true));
} }
docu.load_string(qdoc.toString(4).toStdString().c_str()); docu.load_string(qdoc.toString(4).toStdString().c_str());
@@ -69,9 +69,10 @@ void ElementsTreeView::startDrag(Qt::DropActions supportedActions)
*/ */
void ElementsTreeView::startElementDrag(const ElementsLocation &location) void ElementsTreeView::startElementDrag(const ElementsLocation &location)
{ {
if (! location.exist()) return; if (!location.exist())
return;
QScopedPointer<QDrag> drag(new QDrag(this)); QDrag *drag = new QDrag(this);
QString location_str = location.toString(); QString location_str = location.toString();
QMimeData *mime_data = new QMimeData(); QMimeData *mime_data = new QMimeData();
@@ -90,12 +91,14 @@ void ElementsTreeView::startElementDrag(const ElementsLocation &location)
//Build the element for set the pixmap of the QDrag //Build the element for set the pixmap of the QDrag
int elmt_creation_state; int elmt_creation_state;
QScopedPointer<Element> temp_elmt( Element *temp_elmt = ElementFactory::Instance()->createElement(
ElementFactory::Instance()->createElement( location, nullptr,
location, &elmt_creation_state);
nullptr, if (elmt_creation_state)
&elmt_creation_state)); {
if (elmt_creation_state) { return; } delete temp_elmt;
return;
}
QPixmap elmt_pixmap(temp_elmt->pixmap()); QPixmap elmt_pixmap(temp_elmt->pixmap());
QPoint elmt_hotspot(temp_elmt->hotspot()); QPoint elmt_hotspot(temp_elmt->hotspot());
@@ -120,6 +123,9 @@ void ElementsTreeView::startElementDrag(const ElementsLocation &location)
drag->setPixmap(elmt_pixmap); drag->setPixmap(elmt_pixmap);
drag->setHotSpot(elmt_hotspot); drag->setHotSpot(elmt_hotspot);
delete temp_elmt;
} }
drag->setMimeData(mime_data); drag->setMimeData(mime_data);
@@ -40,8 +40,8 @@ FileElementCollectionItem::FileElementCollectionItem()
@return true if path exist. @return true if path exist.
*/ */
bool FileElementCollectionItem::setRootPath(const QString& path, bool FileElementCollectionItem::setRootPath(const QString& path,
bool set_data, bool set_data,
bool hide_element) bool hide_element)
{ {
QDir dir(path); QDir dir(path);
if (dir.exists()) if (dir.exists())
@@ -190,16 +190,16 @@ QString FileElementCollectionItem::name() const
*/ */
QString FileElementCollectionItem::collectionPath() const QString FileElementCollectionItem::collectionPath() const
{ {
QStandardItem* parent_ = parent();
if (isCollectionRoot()) { if (isCollectionRoot()) {
if (m_path == QETApp::commonElementsDirN()) if (m_path == QETApp::commonElementsDirN())
return "common://"; return "common://";
else else
return "custom://"; return "custom://";
} }
else if (parent() && parent()->type() else if (parent_ && parent()->type() == FileElementCollectionItem::Type)
== FileElementCollectionItem::Type) { {
ElementCollectionItem *eci = ElementCollectionItem *eci = static_cast<ElementCollectionItem*>(parent());
static_cast<ElementCollectionItem*>(parent());
if (eci->isCollectionRoot()) if (eci->isCollectionRoot())
return eci->collectionPath() + m_path; return eci->collectionPath() + m_path;
else else
@@ -282,8 +282,9 @@ void FileElementCollectionItem::setUpData()
ElementsLocation loc(collectionPath()); ElementsLocation loc(collectionPath());
DiagramContext context = loc.elementInformations(); DiagramContext context = loc.elementInformations();
QStringList search_list; QStringList search_list;
for (QString& key : context.keys()) for (QString key : context.keys()) {
{ search_list.append(context.value(key).toString()); } search_list.append(context.value(key).toString());
}
search_list.append(localName(loc)); search_list.append(localName(loc));
setData(search_list.join(" ")); setData(search_list.join(" "));
} }
@@ -330,8 +331,8 @@ void FileElementCollectionItem::setUpIcon()
@param hide_element @param hide_element
*/ */
void FileElementCollectionItem::setPathName(const QString& path_name, void FileElementCollectionItem::setPathName(const QString& path_name,
bool set_data, bool set_data,
bool hide_element) bool hide_element)
{ {
m_path = path_name; m_path = path_name;
@@ -351,8 +352,8 @@ void FileElementCollectionItem::populate(bool set_data, bool hide_element)
QDir dir (fileSystemPath()); QDir dir (fileSystemPath());
//Get all directory in this directory. //Get all directory in this directory.
for (auto& str : for(auto str : dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot,
dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name)) QDir::Name))
{ {
FileElementCollectionItem *feci = new FileElementCollectionItem(); FileElementCollectionItem *feci = new FileElementCollectionItem();
appendRow(feci); appendRow(feci);
@@ -366,8 +367,8 @@ void FileElementCollectionItem::populate(bool set_data, bool hide_element)
//Get all elmt file in this directory //Get all elmt file in this directory
dir.setNameFilters(QStringList() << "*.elmt"); dir.setNameFilters(QStringList() << "*.elmt");
for (auto& str : for(auto str : dir.entryList(QDir::Files | QDir::NoDotAndDotDot,
dir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::Name)) QDir::Name))
{ {
FileElementCollectionItem *feci = new FileElementCollectionItem(); FileElementCollectionItem *feci = new FileElementCollectionItem();
appendRow(feci); appendRow(feci);
+21 -18
View File
@@ -229,25 +229,28 @@ bool NamesList::operator==(const NamesList &nl) const
} }
/** /**
* @brief NamesList::name Return the adequate name regarding the current system locale.
* Return the adequate name regarding the current system locale. By order of preference, this function chooses:
* By order of preference, this function chooses: - the name in the system language
* - the name in the system language - the English name
* - the English name - the provided fallback name if non-empty
* - the provided fallback name if non-empty - the first language encountered in the list
* - the first language encountered in the list - an empty string
* - an empty string @param fallback_name name to be returned when no adequate name has been found
* @param fallback_name @return The adequate name regarding the current system locale.
* name to be returned when no adequate name has been found */
* @return The adequate name regarding the current system locale.
*/
QString NamesList::name(const QString &fallback_name) const QString NamesList::name(const QString &fallback_name) const
{ {
QString system_language = QETApp::langFromSetting(); QString system_language = QETApp::langFromSetting();
if (! hash_names[system_language].isEmpty()) QString returned_name;
return (hash_names[system_language]); if (!hash_names[system_language].isEmpty()) {
if (! hash_names["en"].isEmpty()) return (hash_names["en"]); returned_name = hash_names[system_language];
if (! fallback_name.isEmpty()) return (fallback_name); } else if (!hash_names["en"].isEmpty()) {
if (hash_names.count()) return (hash_names.begin().value()); returned_name = hash_names["en"];
return (QString("")); } else if (!fallback_name.isEmpty()) {
returned_name = fallback_name;
} else if (hash_names.count()) {
returned_name = hash_names.value(hash_names.keys().first());
}
return(returned_name);
} }
@@ -25,7 +25,7 @@
@param size : the size of the handler @param size : the size of the handler
*/ */
QetGraphicsHandlerItem::QetGraphicsHandlerItem(qreal size) : QetGraphicsHandlerItem::QetGraphicsHandlerItem(qreal size) :
m_size(size) m_size(size)
{ {
setFlag(QGraphicsItem::ItemIgnoresTransformations); setFlag(QGraphicsItem::ItemIgnoresTransformations);
@@ -50,10 +50,9 @@ class QetGraphicsHandlerItem : public QGraphicsItem
QWidget *widget) override; QWidget *widget) override;
private: private:
QRectF m_handler_rect, QRectF m_handler_rect,m_br;
m_br;
qreal m_size; qreal m_size;
QColor m_color; QColor m_color{Qt::black};
QPen m_pen; QPen m_pen;
public: public:
+4 -4
View File
@@ -603,14 +603,14 @@ namespace autonum
for (int j=i; j<= dirLevel; j = j +1) for (int j=i; j<= dirLevel; j = j +1)
{ {
//if there is a prefix available apply prefix //if there is a prefix available apply prefix
if(rxml.name().toString()=="prefix") if(rxml.name()=="prefix")
{ {
return rxml.readElementText(); return rxml.readElementText();
} }
//if there isn't a prefix available, find parent prefix in parent folder //if there isn't a prefix available, find parent prefix in parent folder
else else
{ {
while (rxml.readNextStartElement() && rxml.name().toString()!="prefix") while (rxml.readNextStartElement() && rxml.name()!="prefix")
{ {
rxml.skipCurrentElement(); rxml.skipCurrentElement();
rxml.readNext(); rxml.readNext();
@@ -646,14 +646,14 @@ namespace autonum
for (int j=i; j<= dirLevel; j = j +1) for (int j=i; j<= dirLevel; j = j +1)
{ {
//if there is a prefix available apply prefix //if there is a prefix available apply prefix
if(rxml.name().toString()=="prefix") if(rxml.name()=="prefix")
{ {
return rxml.readElementText(); return rxml.readElementText();
} }
//if there isn't a prefix available, find parent prefix in parent folder //if there isn't a prefix available, find parent prefix in parent folder
else else
{ {
while (rxml.readNextStartElement() && rxml.name().toString()!="prefix") while (rxml.readNextStartElement() && rxml.name()!="prefix")
{ {
rxml.skipCurrentElement(); rxml.skipCurrentElement();
rxml.readNext(); rxml.readNext();
+40 -33
View File
@@ -32,15 +32,7 @@
- 17 colonnes affichees de 60.0 px de large pour 20.0px de haut - 17 colonnes affichees de 60.0 px de large pour 20.0px de haut
- 8 lignes affichees de 80.0 px de haut pour 20.0px de large - 8 lignes affichees de 80.0 px de haut pour 20.0px de large
*/ */
BorderProperties::BorderProperties() : BorderProperties::BorderProperties()
columns_count(17),
columns_width(60.0),
columns_header_height(20.0),
display_columns(true),
rows_count(8),
rows_height(80.0),
rows_header_width(20.0),
display_rows(true)
{ {
} }
@@ -86,27 +78,26 @@ bool BorderProperties::operator==(const BorderProperties &bp) {
bool BorderProperties::operator!=(const BorderProperties &bp) { bool BorderProperties::operator!=(const BorderProperties &bp) {
return(!(*this == bp)); return(!(*this == bp));
} }
/** /**
@brief BorderProperties::toXml @brief BorderProperties::toXml
Exports dimensions as XML attributes added to element e. @param dom_doc
\~French Exporte les dimensions sous formes d'attributs XML ajoutes a l'element e. @return
\~ @param e :
XML element to which attributes will be added
\~French Element XML auquel seront ajoutes des attributs
*/ */
void BorderProperties::toXml(QDomElement &e) const QDomElement BorderProperties::toXml(QDomDocument &dom_doc) const {
{
e.setAttribute("cols", columns_count); QDomElement e = dom_doc.createElement("border");
e.setAttribute("colsize", QString("%1").arg(columns_width));
e.setAttribute("rows", rows_count); e.appendChild(createXmlProperty(dom_doc, "cols", columns_count));
e.setAttribute("rowsize", QString("%1").arg(rows_height)); e.appendChild(createXmlProperty(dom_doc, "colsize", columns_width));
e.setAttribute("displaycols", display_columns ? "true" : "false"); e.appendChild(createXmlProperty(dom_doc, "rows", rows_count));
e.setAttribute("displayrows", display_rows ? "true" : "false"); e.appendChild(createXmlProperty(dom_doc, "rowsize", rows_height));
e.appendChild(createXmlProperty(dom_doc, "displayrows", display_rows));
e.appendChild(createXmlProperty(dom_doc, "displaycols", display_columns));
return e;
} }
/** /**RETURNS True
@brief BorderProperties::fromXml @brief BorderProperties::fromXml
Import dimensions from XML attributes of element e Import dimensions from XML attributes of element e
\~French Importe les dimensions a partir des attributs XML de l'element e \~French Importe les dimensions a partir des attributs XML de l'element e
@@ -115,13 +106,29 @@ void BorderProperties::toXml(QDomElement &e) const
XML element whose attributes will be read XML element whose attributes will be read
\~French Element XML dont les attributs seront lus \~French Element XML dont les attributs seront lus
*/ */
void BorderProperties::fromXml(QDomElement &e) { bool BorderProperties::fromXml(const QDomElement &e) {
if (e.hasAttribute("cols")) columns_count = e.attribute("cols").toInt();
if (e.hasAttribute("colsize")) columns_width = e.attribute("colsize").toInt(); if (propertyInteger(e, "cols", &columns_count) == PropertyFlags::NoValidConversion ||
if (e.hasAttribute("rows")) rows_count = e.attribute("rows").toInt(); propertyDouble(e, "colsize", &columns_width) == PropertyFlags::NoValidConversion ||
if (e.hasAttribute("rowsize")) rows_height = e.attribute("rowsize").toInt(); propertyInteger(e, "rows", &rows_count) == PropertyFlags::NoValidConversion ||
if (e.hasAttribute("displaycols")) display_columns = e.attribute("displaycols") == "true"; propertyDouble(e, "rowsize", &rows_height) == PropertyFlags::NoValidConversion ||
if (e.hasAttribute("displayrows")) display_rows = e.attribute("displayrows") == "true"; propertyBool(e, "displaycols", &display_columns) == PropertyFlags::NoValidConversion ||
propertyBool(e, "displayrows", &display_rows) == PropertyFlags::NoValidConversion)
return false;
return true;
}
bool BorderProperties::valideXml(QDomElement& e) {
if (propertyInteger(e, "cols") == PropertyFlags::Success ||
propertyDouble(e, "colsize") == PropertyFlags::Success ||
propertyInteger(e, "rows") == PropertyFlags::Success ||
propertyDouble(e, "rowsize") == PropertyFlags::Success ||
propertyBool(e, "displaycols") == PropertyFlags::Success ||
propertyBool(e, "displayrows") == PropertyFlags::Success)
return true;
return false;
} }
/** /**
@@ -155,7 +162,7 @@ void BorderProperties::toSettings(QSettings &settings, const QString &prefix) co
\~ @param prefix : prefix to be added before the names of the parameters \~ @param prefix : prefix to be added before the names of the parameters
\~French prefixe a ajouter devant les noms des parametres \~French prefixe a ajouter devant les noms des parametres
*/ */
void BorderProperties::fromSettings(QSettings &settings, const QString &prefix) { void BorderProperties::fromSettings(const QSettings &settings, const QString &prefix) {
columns_count = settings.value(prefix + "cols", columns_count).toInt(); columns_count = settings.value(prefix + "cols", columns_count).toInt();
columns_width = qRound(settings.value(prefix + "colsize", columns_width).toDouble()); columns_width = qRound(settings.value(prefix + "colsize", columns_width).toDouble());
display_columns = settings.value(prefix + "displaycols", display_columns).toBool(); display_columns = settings.value(prefix + "displaycols", display_columns).toBool();
+16 -13
View File
@@ -20,13 +20,15 @@
#include <QtCore> #include <QtCore>
#include <QtXml> #include <QtXml>
#include "propertiesinterface.h"
/** /**
@brief The BorderProperties class @brief The BorderProperties class
This class is a container for dimensions and display properties of a This class is a container for dimensions and display properties of a
diagram. diagram.
@remark Attributes are public @remark Attributes are public
*/ */
class BorderProperties { class BorderProperties : public PropertiesInterface {
public: public:
// constructor, destructor, operators // constructor, destructor, operators
BorderProperties(); BorderProperties();
@@ -35,22 +37,23 @@ class BorderProperties {
bool operator==(const BorderProperties &); bool operator==(const BorderProperties &);
bool operator!=(const BorderProperties &); bool operator!=(const BorderProperties &);
void toXml(QDomElement &) const; QDomElement toXml(QDomDocument &dom_doc) const override;
void fromXml(QDomElement &); bool fromXml(const QDomElement &) override;
void toSettings(QSettings &, const QString & = QString()) const; static bool valideXml(QDomElement& e);
void fromSettings(QSettings &, const QString & = QString()); void toSettings(QSettings &, const QString & = QString()) const override;
void fromSettings(const QSettings &, const QString & = QString()) override;
static BorderProperties defaultProperties(); static BorderProperties defaultProperties();
// attributes // attributes
int columns_count; ///< Columns count int columns_count{17}; ///< Columns count
qreal columns_width; ///< Columns width qreal columns_width{60.0}; ///< Columns width
qreal columns_header_height; ///< Column headers height qreal columns_header_height{20.0}; ///< Column headers height
bool display_columns; ///< Whether to display column headers bool display_columns{true}; ///< Whether to display column headers
int rows_count; ///< Rows count int rows_count{8}; ///< Rows count
qreal rows_height; ///< Rows height qreal rows_height{80.0}; ///< Rows height
qreal rows_header_width; ///< Row headers width qreal rows_header_width{20.0}; ///< Row headers width
bool display_rows; ///< Whether to display row headers bool display_rows{true}; ///< Whether to display row headers
}; };
#endif #endif
+2 -2
View File
@@ -206,8 +206,8 @@ QRectF BorderTitleBlock::insideBorderRect() const
Exports the title block current values to XML. Exports the title block current values to XML.
@param xml_elmt the XML element attributes will be added to @param xml_elmt the XML element attributes will be added to
*/ */
void BorderTitleBlock::titleBlockToXml(QDomElement &xml_elmt) { void BorderTitleBlock::titleBlockToXml(QDomElement& doc) {
exportTitleBlock().toXml(xml_elmt); exportTitleBlock().toXml(doc);
} }
/** /**
+1 -1
View File
@@ -173,7 +173,7 @@ class BorderTitleBlock : public QObject
void setPreviousFolioNum(const QString &previous); void setPreviousFolioNum(const QString &previous);
void setNextFolioNum(const QString &next); void setNextFolioNum(const QString &next);
void titleBlockToXml(QDomElement &); void titleBlockToXml(QDomElement &doc);
void titleBlockFromXml(const QDomElement &); void titleBlockFromXml(const QDomElement &);
void borderToXml(QDomElement &); void borderToXml(QDomElement &);
void borderFromXml(const QDomElement &); void borderFromXml(const QDomElement &);
+192 -138
View File
@@ -23,11 +23,7 @@
/** /**
Constructeur par defaut Constructeur par defaut
*/ */
SingleLineProperties::SingleLineProperties() : SingleLineProperties::SingleLineProperties()
hasGround(true),
hasNeutral(true),
is_pen(false),
phases(1)
{ {
} }
@@ -123,9 +119,9 @@ void SingleLineProperties::draw(QPainter *painter,
@param size taille du segment @param size taille du segment
*/ */
void SingleLineProperties::drawGround(QPainter *painter, void SingleLineProperties::drawGround(QPainter *painter,
QET::ConductorSegmentType direction, QET::ConductorSegmentType direction,
QPointF center, QPointF center,
qreal size) { qreal size) {
painter -> save(); painter -> save();
// prepare le QPainter // prepare le QPainter
@@ -211,16 +207,21 @@ void SingleLineProperties::drawPen(QPainter *painter,
} }
/** /**
Exporte les parametres du conducteur unifilaire sous formes d'attributs XML @brief SingleLineProperties::toXml
ajoutes a l'element e. @param doc
@param e Element XML auquel seront ajoutes des attributs @return
*/ */
void SingleLineProperties::toXml(QDomElement &e) const QDomElement SingleLineProperties::toXml(QDomDocument &doc) const
{ {
e.setAttribute("ground", hasGround ? "true" : "false"); QDomElement e = doc.createElement("SingleLine");
e.setAttribute("neutral", hasNeutral ? "true" : "false"); e.appendChild(createXmlProperty(doc, "ground", hasGround));
e.setAttribute("phase", phases); e.appendChild(createXmlProperty(doc, "neutral", hasNeutral));
if (isPen()) e.setAttribute("pen", "true"); e.appendChild(createXmlProperty(doc, "phase", phases));
if (isPen())
e.appendChild(createXmlProperty(doc, "pen", true));
return e;
} }
/** /**
@@ -228,11 +229,36 @@ void SingleLineProperties::toXml(QDomElement &e) const
de l'element e de l'element e
@param e Element XML dont les attributs seront lus @param e Element XML dont les attributs seront lus
*/ */
void SingleLineProperties::fromXml(QDomElement &e) { bool SingleLineProperties::fromXml(const QDomElement &e) {
hasGround = e.attribute("ground") == "true"; if (propertyBool(e, "ground", &hasGround) != PropertyFlags::Success ||
hasNeutral = e.attribute("neutral") == "true"; propertyBool(e, "neutral", &hasNeutral) != PropertyFlags::Success)
setPhasesCount(e.attribute("phase").toInt()); return false;
is_pen = (hasGround && hasNeutral && e.attribute("pen", "false") == "true");
int phase;
if (propertyInteger(e, "phase", &phase) != PropertyFlags::Success)
return false;
setPhasesCount(phase);
bool pen;
if (propertyBool(e, "pen", &pen) != PropertyFlags::Success)
return false;
is_pen = (hasGround && hasNeutral && pen);
return true;
}
bool SingleLineProperties::valideXml(QDomElement& e) {
if (propertyBool(e, "ground") != PropertyFlags::Success ||
propertyBool(e, "neutral") != PropertyFlags::Success)
return false;
if (propertyInteger(e, "phase") != PropertyFlags::Success)
return false;
if (propertyBool(e, "pen") != PropertyFlags::Success)
return false;
return true;
} }
/** /**
@@ -266,116 +292,142 @@ ConductorProperties::~ConductorProperties()
Export conductor propertie, in the XML element 'e' Export conductor propertie, in the XML element 'e'
@param e the xml element @param e the xml element
*/ */
void ConductorProperties::toXml(QDomElement &e) const QDomElement ConductorProperties::toXml(QDomDocument& doc) const
{ {
e.setAttribute("type", typeToString(type)); QDomElement e = doc.createElement("defaultconductor");
if (color != QColor(Qt::black)) e.appendChild(createXmlProperty(doc, "type", typeToString(type)));
e.setAttribute("color", color.name()); e.appendChild(createXmlProperty(doc, "color", color));
e.setAttribute("bicolor", m_bicolor? "true" : "false"); e.appendChild(createXmlProperty(doc, "bicolor", m_bicolor));
e.setAttribute("color2", m_color_2.name()); e.appendChild(createXmlProperty(doc, "color2", m_color_2));
e.setAttribute("dash-size", QString::number(m_dash_size)); e.appendChild(createXmlProperty(doc, "dash-size", m_dash_size));
if (type == Single) if (type == Single)
singleLineProperties.toXml(e); e.appendChild(singleLineProperties.toXml(doc));
e.setAttribute("num", text); e.appendChild(createXmlProperty(doc, "num", text));
e.setAttribute("text_color", text_color.name()); e.appendChild(createXmlProperty(doc, "text_color", text_color));
e.setAttribute("formula", m_formula); e.appendChild(createXmlProperty(doc, "formula", m_formula));
e.setAttribute("cable", m_cable); e.appendChild(createXmlProperty(doc, "function", m_function));
e.setAttribute("bus", m_bus); e.appendChild(createXmlProperty(doc, "tension_protocol", m_tension_protocol));
e.setAttribute("function", m_function); e.appendChild(createXmlProperty(doc, "conductor_color", m_wire_color));
e.setAttribute("tension_protocol", m_tension_protocol); e.appendChild(createXmlProperty(doc, "conductor_section", m_wire_section));
e.setAttribute("conductor_color", m_wire_color); e.appendChild(createXmlProperty(doc, "numsize", text_size));
e.setAttribute("conductor_section", m_wire_section); e.appendChild(createXmlProperty(doc, "condsize", cond_size));
e.setAttribute("numsize", QString::number(text_size)); e.appendChild(createXmlProperty(doc, "displaytext", m_show_text));
e.setAttribute("condsize", QString::number(cond_size)); e.appendChild(createXmlProperty(doc, "onetextperfolio", m_one_text_per_folio));
e.setAttribute("displaytext", m_show_text); e.appendChild(createXmlProperty(doc, "onetextperfolio", verti_rotate_text));
e.setAttribute("onetextperfolio", m_one_text_per_folio); e.appendChild(createXmlProperty(doc, "horizrotatetext", horiz_rotate_text));
e.setAttribute("vertirotatetext", QString::number(verti_rotate_text));
e.setAttribute("horizrotatetext", QString::number(horiz_rotate_text));
QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>(); QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>();
e.setAttribute("horizontal-alignment", me.valueToKey(m_horizontal_alignment)); e.appendChild(createXmlProperty(doc, "horizontal-alignment", me.valueToKey(m_horizontal_alignment)));
e.setAttribute("vertical-alignment", me.valueToKey(m_vertical_alignment)); e.appendChild(createXmlProperty(doc, "vertical-alignment", me.valueToKey(m_vertical_alignment)));
QString conductor_style = writeStyle(); QString conductor_style = writeStyle();
if (!conductor_style.isEmpty()) if (!conductor_style.isEmpty())
e.setAttribute("style", conductor_style); e.appendChild(createXmlProperty(doc, "style", conductor_style));
return e;
} }
/** /** RETURNS True
@brief ConductorProperties::fromXml @brief ConductorProperties::fromXml
Import conductor propertie, from the attribute of the xml element 'e' Import conductor propertie, from the attribute of the xml element 'e'
@param e the xml document @param e the xml document
*/ */
void ConductorProperties::fromXml(QDomElement &e) bool ConductorProperties::fromXml(const QDomElement &e)
{ {
// get conductor color // get conductor color
QColor xml_color= QColor(e.attribute("color")); propertyColor(e, "color", &color);
color = (xml_color.isValid()? xml_color : QColor(Qt::black)); propertyBool(e, "bicolor", &m_bicolor);
propertyColor(e, "color2", &m_color_2);
propertyInteger(e, "dash-size", &m_dash_size);
QString bicolor_str = e.attribute("bicolor", "false"); // read style of conductor
m_bicolor = bicolor_str == "true"? true : false; QString style_string;
propertyString(e, "style", &style_string);
readStyle(style_string);
QColor xml_color_2 = QColor(e.attribute("color2")); QString type_t;
m_color_2 = xml_color_2.isValid()? xml_color_2 : QColor(Qt::black); if (propertyString(e, "type", &type_t) == PropertyFlags::Success)
m_dash_size = e.attribute("dash-size", QString::number(1)).toInt();
// read style of conductor
readStyle(e.attribute("style"));
if (e.attribute("type") == typeToString(Single))
{ {
if (type_t == typeToString(Single))
{
// get specific properties for single conductor // get specific properties for single conductor
singleLineProperties.fromXml(e); singleLineProperties.fromXml(e);
type = Single; type = Single;
} }
else else if (type_t == typeToString(Multi))
type = Multi; type = Multi;
else {
text = e.attribute("num"); //Keep retrocompatible with version older than 0,4
// get text color //If the propertie @type is simple (removed since QET 0,4), we set text no visible.
QColor xml_text_color= QColor(e.attribute("text_color")); //@TODO remove this code for qet 0.6 or later
text_color = (xml_text_color.isValid()? xml_text_color : QColor(Qt::black));
m_formula = e.attribute("formula");
m_cable = e.attribute("cable");
m_bus = e.attribute("bus");
m_function = e.attribute("function");
m_tension_protocol = e.attribute("tension_protocol");
m_wire_color = e.attribute("conductor_color");
m_wire_section = e.attribute("conductor_section");
text_size = e.attribute("numsize", QString::number(9)).toInt();
cond_size = e.attribute("condsize", QString::number(1)).toDouble();
m_show_text = e.attribute("displaytext", QString::number(1)).toInt();
m_one_text_per_folio = e.attribute("onetextperfolio", QString::number(0)).toInt();
verti_rotate_text = e.attribute("vertirotatetext").toDouble();
horiz_rotate_text = e.attribute("horizrotatetext").toDouble();
QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>();
m_horizontal_alignment = Qt::Alignment(
me.keyToValue(
e.attribute(
"horizontal-alignment",
"AlignBottom"
).toStdString().data()));
m_vertical_alignment = Qt::Alignment(
me.keyToValue(
e.attribute(
"vertical-alignment",
"AlignRight"
).toStdString().data()));
//Keep retrocompatible with version older than 0,4
//If the propertie @type is simple (removed since QET 0,4), we set text no visible.
//@TODO remove this code for qet 0.6 or later
#if TODO_LIST #if TODO_LIST
#pragma message("@TODO remove this code for qet 0.6 or later") #pragma message("@TODO remove this code for qet 0.6 or later")
#endif #endif
if (e.attribute("type") == "simple") m_show_text = false; if (type_t == "simple") m_show_text = false;
}
}
propertyString(e, "num", &text);
// get text color
propertyColor(e, "text_color", &text_color);
propertyString(e, "formula", &m_formula);
propertyString(e, "function", &m_function);
propertyString(e, "tension_protocol", &m_tension_protocol);
propertyString(e, "conductor_color", &m_wire_color);
propertyString(e, "conductor_section", &m_wire_section);
propertyInteger(e, "numsize", &text_size);
propertyDouble(e, "condsize", &cond_size);
propertyBool(e, "displaytext", &m_show_text);
propertyBool(e, "onetextperfolio", &m_one_text_per_folio);
propertyDouble(e, "vertirotatetext", &verti_rotate_text);
propertyDouble(e, "horizrotatetext", &horiz_rotate_text);
QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>();
QString alinment_temp;
if (propertyString(e, "horizontal-alignment", &alinment_temp) == PropertyFlags::Success)
m_horizontal_alignment = Qt::Alignment(me.keyToValue(alinment_temp.toStdString().data()));
if (propertyString(e, "vertical-alignment", &alinment_temp) == PropertyFlags::Success)
m_vertical_alignment = Qt::Alignment(me.keyToValue(alinment_temp.toStdString().data()));
return true;
}
/**
@brief ConductorProperties::valideXml
@param e
@return
*/
bool ConductorProperties::valideXml(QDomElement& e)
{
if (propertyColor(e, "color") ||
propertyBool(e, "bicolor") ||
propertyColor(e, "color2") ||
propertyInteger(e, "dash-size") ||
propertyString(e, "type") ||
propertyString(e, "num") ||
propertyColor(e, "text_color") ||
propertyString(e, "formula") ||
propertyString(e, "function") ||
propertyString(e, "tension_protocol") ||
propertyString(e, "conductor_color") ||
propertyString(e, "conductor_section") ||
propertyInteger(e, "numsize") ||
propertyDouble(e, "condsize") ||
propertyBool(e, "displaytext") ||
propertyBool(e, "onetextperfolio") ||
propertyDouble(e, "vertirotatetext") ||
propertyDouble(e, "horizrotatetext") ||
propertyString(e, "horizontal-alignment") ||
propertyString(e, "vertical-alignment"))
return false;
return true;
} }
/** /**
@@ -393,8 +445,8 @@ void ConductorProperties::toSettings(QSettings &settings, const QString &prefix)
settings.setValue(prefix + "text", text); settings.setValue(prefix + "text", text);
settings.setValue(prefix + "text_color", text_color.name()); settings.setValue(prefix + "text_color", text_color.name());
settings.setValue(prefix + "formula", m_formula); settings.setValue(prefix + "formula", m_formula);
settings.setValue(prefix + "cable", m_cable); //settings.setValue(prefix + "cable", m_cable);
settings.setValue(prefix + "bus", m_bus); //settings.setValue(prefix + "bus", m_bus);
settings.setValue(prefix + "function", m_function); settings.setValue(prefix + "function", m_function);
settings.setValue(prefix + "tension_protocol", m_tension_protocol); settings.setValue(prefix + "tension_protocol", m_tension_protocol);
settings.setValue(prefix + "conductor_color", m_wire_color); settings.setValue(prefix + "conductor_color", m_wire_color);
@@ -417,7 +469,7 @@ void ConductorProperties::toSettings(QSettings &settings, const QString &prefix)
@param settings Parametres a lire @param settings Parametres a lire
@param prefix prefixe a ajouter devant les noms des parametres @param prefix prefixe a ajouter devant les noms des parametres
*/ */
void ConductorProperties::fromSettings(QSettings &settings, const QString &prefix) void ConductorProperties::fromSettings(const QSettings &settings, const QString &prefix)
{ {
QColor settings_color = QColor(settings.value(prefix + "color").toString()); QColor settings_color = QColor(settings.value(prefix + "color").toString());
color = (settings_color.isValid()? settings_color : QColor(Qt::black)); color = (settings_color.isValid()? settings_color : QColor(Qt::black));
@@ -437,8 +489,8 @@ void ConductorProperties::fromSettings(QSettings &settings, const QString &prefi
QColor settings_text_color = QColor(settings.value(prefix + "text_color").toString()); QColor settings_text_color = QColor(settings.value(prefix + "text_color").toString());
text_color = (settings_text_color.isValid()? settings_text_color : QColor(Qt::black)); text_color = (settings_text_color.isValid()? settings_text_color : QColor(Qt::black));
m_formula = settings.value(prefix + "formula", "").toString(); m_formula = settings.value(prefix + "formula", "").toString();
m_cable = settings.value(prefix + "cable", "").toString(); //m_cable = settings.value(prefix + "cable", "").toString();
m_bus = settings.value(prefix + "bus", "").toString(); //m_bus = settings.value(prefix + "bus", "").toString();
m_function = settings.value(prefix + "function", "").toString(); m_function = settings.value(prefix + "function", "").toString();
m_tension_protocol = settings.value(prefix + "tension_protocol", "").toString(); m_tension_protocol = settings.value(prefix + "tension_protocol", "").toString();
m_wire_color = settings.value(prefix + "conductor_color", "").toString(); m_wire_color = settings.value(prefix + "conductor_color", "").toString();
@@ -448,7 +500,7 @@ void ConductorProperties::fromSettings(QSettings &settings, const QString &prefi
m_show_text = settings.value(prefix + "displaytext", true).toBool(); m_show_text = settings.value(prefix + "displaytext", true).toBool();
m_one_text_per_folio = settings.value(prefix + "onetextperfolio", false).toBool(); m_one_text_per_folio = settings.value(prefix + "onetextperfolio", false).toBool();
verti_rotate_text = settings.value((prefix + "vertirotatetext"), "270").toDouble(); verti_rotate_text = settings.value((prefix + "vertirotatetext"), "270").toDouble();
horiz_rotate_text = settings.value((prefix + "horizrotatetext"), "0").toDouble(); horiz_rotate_text = settings.value((prefix + "horizrotatetext"), "0").toDouble();
QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>(); QMetaEnum me = QMetaEnum::fromType<Qt::Alignment>();
m_horizontal_alignment = Qt::Alignment(me.keyToValue(settings.value(prefix + "horizontal-alignment", "AlignBottom").toString().toStdString().data())); m_horizontal_alignment = Qt::Alignment(me.keyToValue(settings.value(prefix + "horizontal-alignment", "AlignBottom").toString().toStdString().data()));
@@ -493,8 +545,8 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
text = cp.text; text = cp.text;
text_color = cp.text_color; text_color = cp.text_color;
m_formula = cp.m_formula; m_formula = cp.m_formula;
m_cable = cp.m_cable; //m_cable = cp.m_cable;
m_bus = cp.m_bus; //m_bus = cp.m_bus;
m_function = cp.m_function; m_function = cp.m_function;
m_tension_protocol = cp.m_tension_protocol; m_tension_protocol = cp.m_tension_protocol;
m_wire_color = cp.m_wire_color; m_wire_color = cp.m_wire_color;
@@ -596,27 +648,27 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
m_formula = s_value; m_formula = s_value;
equal = true; equal = true;
//cable // //cable
s_value = clist.first().m_cable; // s_value = clist.first().m_cable;
for(ConductorProperties cp : clist) // for(ConductorProperties cp : clist)
{ // {
if (cp.m_cable != s_value) // if (cp.m_cable != s_value)
equal = false; // equal = false;
} // }
if (equal) // if (equal)
m_cable = s_value; // m_cable = s_value;
equal = true; // equal = true;
//bus // //bus
s_value = clist.first().m_bus; // s_value = clist.first().m_bus;
for(ConductorProperties cp : clist) // for(ConductorProperties cp : clist)
{ // {
if (cp.m_bus != s_value) // if (cp.m_bus != s_value)
equal = false; // equal = false;
} // }
if (equal) // if (equal)
m_bus = s_value; // m_bus = s_value;
equal = true; // equal = true;
//function //function
s_value = clist.first().m_function; s_value = clist.first().m_function;
@@ -783,8 +835,9 @@ bool ConductorProperties::operator==(const ConductorProperties &other) const
other.text == text &&\ other.text == text &&\
other.text_color == text_color &&\ other.text_color == text_color &&\
other.m_formula == m_formula &&\ other.m_formula == m_formula &&\
other.m_cable == m_cable &&\ /* other.m_cable == m_cable &&\
other.m_bus == m_bus &&\ other.m_bus == m_bus &&\
*/
other.m_function == m_function &&\ other.m_function == m_function &&\
other.m_tension_protocol == m_tension_protocol &&\ other.m_tension_protocol == m_tension_protocol &&\
other.m_wire_color == m_wire_color && \ other.m_wire_color == m_wire_color && \
@@ -842,7 +895,7 @@ void ConductorProperties::readStyle(const QString &style_string) {
if (!match.hasMatch()) if (!match.hasMatch())
{ {
qDebug()<<"no Match" qDebug()<<"no Match"
<<style_str; <<style_str;
} else { } else {
QString style_name = match.captured("name"); QString style_name = match.captured("name");
QString style_value = match.captured("value"); QString style_value = match.captured("value");
@@ -902,7 +955,7 @@ int SingleLineProperties::operator!=(const SingleLineProperties &other) const
@param prefix prefix a ajouter devant les noms des parametres @param prefix prefix a ajouter devant les noms des parametres
*/ */
void SingleLineProperties::toSettings(QSettings &settings, void SingleLineProperties::toSettings(QSettings &settings,
const QString &prefix) const const QString &prefix) const
{ {
settings.setValue(prefix + "hasGround", hasGround); settings.setValue(prefix + "hasGround", hasGround);
settings.setValue(prefix + "hasNeutral", hasNeutral); settings.setValue(prefix + "hasNeutral", hasNeutral);
@@ -914,8 +967,9 @@ void SingleLineProperties::toSettings(QSettings &settings,
@param settings Parametres a lire @param settings Parametres a lire
@param prefix prefix a ajouter devant les noms des parametres @param prefix prefix a ajouter devant les noms des parametres
*/ */
void SingleLineProperties::fromSettings(QSettings &settings, void SingleLineProperties::fromSettings(
const QString &prefix) { const QSettings &settings, const QString &prefix)
{
hasGround = settings.value(prefix + "hasGround", true).toBool(); hasGround = settings.value(prefix + "hasGround", true).toBool();
hasNeutral = settings.value(prefix + "hasNeutral", true).toBool(); hasNeutral = settings.value(prefix + "hasNeutral", true).toBool();
phases = settings.value(prefix + "phases", 1).toInt(); phases = settings.value(prefix + "phases", 1).toInt();
+43 -46
View File
@@ -22,13 +22,15 @@
#include <QColor> #include <QColor>
#include <QSettings> #include <QSettings>
#include "propertiesinterface.h"
class QPainter; class QPainter;
/** /**
@brief The SingleLineProperties class @brief The SingleLineProperties class
This class represents the properties of a singleline conductor. This class represents the properties of a singleline conductor.
*/ */
class SingleLineProperties { class SingleLineProperties: public PropertiesInterface {
public: public:
SingleLineProperties(); SingleLineProperties();
virtual ~SingleLineProperties(); virtual ~SingleLineProperties();
@@ -37,23 +39,25 @@ class SingleLineProperties {
unsigned short int phasesCount(); unsigned short int phasesCount();
bool isPen() const; bool isPen() const;
void draw(QPainter *, QET::ConductorSegmentType, const QRectF &); void draw(QPainter *, QET::ConductorSegmentType, const QRectF &);
void toXml(QDomElement &) const; QDomElement toXml(QDomDocument& doc) const override;
void fromXml(QDomElement &); bool fromXml(const QDomElement &) override;
void toSettings(QSettings &, const QString & = QString()) const; static bool valideXml(QDomElement& element);
void fromSettings(QSettings &, const QString & = QString()); void toSettings(QSettings &, const QString & = QString()) const override;
void fromSettings(const QSettings &, const QString & = QString()) override;
/// Whether the singleline conductor should display the ground symbol /// Whether the singleline conductor should display the ground symbol
bool hasGround; bool hasGround{true};
/// Whether the singleline conductor should display the neutral symbol /// Whether the singleline conductor should display the neutral symbol
bool hasNeutral; bool hasNeutral{true};
/// Protective Earth Neutral: visually merge neutral and ground /// Protective Earth Neutral: visually merge neutral and ground
bool is_pen;
bool is_pen{false};
int operator==(const SingleLineProperties &) const; int operator==(const SingleLineProperties &) const;
int operator!=(const SingleLineProperties &) const; int operator!=(const SingleLineProperties &) const;
private: private:
unsigned short int phases; unsigned short int phases{1};
void drawGround (QPainter *, QET::ConductorSegmentType, QPointF, qreal); void drawGround (QPainter *, QET::ConductorSegmentType, QPointF, qreal);
void drawNeutral(QPainter *, QPointF, qreal); void drawNeutral(QPainter *, QPointF, qreal);
void drawPen(QPainter *, QET::ConductorSegmentType, QPointF, qreal); void drawPen(QPainter *, QET::ConductorSegmentType, QPointF, qreal);
@@ -64,7 +68,7 @@ class SingleLineProperties {
This class represents the functional properties of a particular conductor, This class represents the functional properties of a particular conductor,
i.e. properties other than path and terminals. i.e. properties other than path and terminals.
*/ */
class ConductorProperties class ConductorProperties: public PropertiesInterface
{ {
public: public:
ConductorProperties(); ConductorProperties();
@@ -78,52 +82,45 @@ class ConductorProperties
*/ */
enum ConductorType { Single, Multi }; enum ConductorType { Single, Multi };
//Attributes
ConductorType type{ConductorType::Single};
//Attributes // TODO: set default values!
ConductorType type; QColor color{QColor(Qt::black)},
m_color_2{QColor(Qt::black)},
text_color{QColor(Qt::black)};
QColor QString text,
color, m_function,
m_color_2, m_tension_protocol,
text_color; m_wire_color,
m_wire_section,
m_formula;
QString int text_size{9},
text, m_dash_size = 1;
m_function,
m_tension_protocol,
m_wire_color,
m_wire_section,
m_formula,
m_bus,
m_cable;
int double cond_size{1},
text_size, verti_rotate_text,
m_dash_size = 1; horiz_rotate_text;
double bool m_show_text{true},
cond_size, m_one_text_per_folio{true},
verti_rotate_text, m_bicolor = false;
horiz_rotate_text;
bool Qt::Alignment m_horizontal_alignment = Qt::AlignBottom,
m_show_text, m_vertical_alignment = Qt::AlignRight;
m_one_text_per_folio,
m_bicolor = false;
Qt::Alignment Qt::PenStyle style{Qt::PenStyle::SolidLine};
m_horizontal_alignment = Qt::AlignBottom,
m_vertical_alignment = Qt::AlignRight;
Qt::PenStyle style;
SingleLineProperties singleLineProperties; SingleLineProperties singleLineProperties;
// methods // methods
void toXml(QDomElement &) const; QDomElement toXml(QDomDocument &doc) const override;
void fromXml(QDomElement &); bool fromXml(const QDomElement &) override;
void toSettings(QSettings &, const QString & = QString()) const; static bool valideXml(QDomElement& element);
void fromSettings(QSettings &, const QString & = QString()); void toSettings(QSettings &, const QString & = QString()) const override;
void fromSettings(const QSettings &, const QString & = QString()) override;
static QString typeToString(ConductorType); static QString typeToString(ConductorType);
void applyForEqualAttributes(QList<ConductorProperties> list); void applyForEqualAttributes(QList<ConductorProperties> list);
+39 -90
View File
@@ -1,4 +1,4 @@
/* /*
Copyright 2006-2020 QElectroTech Team Copyright 2006-2020 QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
@@ -42,28 +42,6 @@ projectDataBase::projectDataBase(QETProject *project, QObject *parent) :
m_project(project) m_project(project)
{ {
createDataBase(); createDataBase();
connect(m_project, &QETProject::diagramAdded, [this](QETProject *, Diagram *diagram) {
this->addDiagram(diagram);
});
connect(m_project, &QETProject::diagramRemoved, [this](QETProject *, Diagram *diagram) {
this->removeDiagram(diagram);
});
connect(m_project, &QETProject::projectDiagramsOrderChanged, [this]()
{
for (auto diagram : m_project->diagrams())
{
m_diagram_order_changed.bindValue(":pos", m_project->folioIndex(diagram)+1);
m_diagram_order_changed.bindValue(":uuid", diagram->uuid());
m_diagram_order_changed.exec();
m_diagram_info_order_changed.bindValue(":folio", diagram->border_and_titleblock.titleblockInformation().value("folio"));
m_diagram_info_order_changed.bindValue(":uuid", diagram->uuid());
m_diagram_info_order_changed.exec();
}
emit dataBaseUpdated();
});
} }
/** /**
@@ -173,29 +151,34 @@ void projectDataBase::elementInfoChanged(Element *element)
void projectDataBase::addDiagram(Diagram *diagram) void projectDataBase::addDiagram(Diagram *diagram)
{ {
m_insert_diagram_query.bindValue(":uuid", diagram->uuid().toString()); m_insert_diagram_query.bindValue(":uuid", diagram->uuid().toString());
m_insert_diagram_query.bindValue(":pos", m_project->folioIndex(diagram)+1); m_insert_diagram_query.bindValue(":pos", m_project->folioIndex(diagram));
if(!m_insert_diagram_query.exec()) { if(!m_insert_diagram_query.exec()) {
qDebug() << "projectDataBase::addDiagram insert error : " << m_insert_diagram_query.lastError(); qDebug() << "projectDataBase::addDiagram insert error : " << m_insert_diagram_query.lastError();
} }
bindDiagramInfoValues(m_insert_diagram_info_query, diagram);
m_insert_diagram_info_query.bindValue(":uuid", diagram->uuid());
auto infos = diagram->border_and_titleblock.titleblockInformation();
for (auto key : QETApp::diagramInfoKeys())
{
if (key == "date") {
m_insert_diagram_info_query.bindValue(
":date",
QLocale::system().toString(
infos.value("date").toDate(),
QLocale::ShortFormat));
} else {
auto value = infos.value(key);
auto bind = key.prepend(":");
m_insert_diagram_info_query.bindValue(bind, value);
}
}
if (!m_insert_diagram_info_query.exec()) { if (!m_insert_diagram_info_query.exec()) {
qDebug() << "projectDataBase::addDiagram insert info error : " << m_insert_diagram_info_query.lastError(); qDebug() << "projectDataBase::addDiagram insert info error : " << m_insert_diagram_info_query.lastError();
} else {
emit dataBaseUpdated();
} }
//The information "folio" of other existing diagram can have the variable %total,
//so when a new diagram is added this variable change.
//We need to update this information in the database.
for (auto diagram : project()->diagrams())
{
m_diagram_info_order_changed.bindValue(":folio", diagram->border_and_titleblock.titleblockInformation().value("folio"));
m_diagram_info_order_changed.bindValue(":uuid", diagram->uuid());
if (!m_diagram_info_order_changed.exec()) {
qDebug() << "projectDataBase::addDiagram update diagram infp order error : " << m_diagram_info_order_changed.lastError();
}
}
emit dataBaseUpdated();
} }
void projectDataBase::removeDiagram(Diagram *diagram) void projectDataBase::removeDiagram(Diagram *diagram)
@@ -208,21 +191,6 @@ void projectDataBase::removeDiagram(Diagram *diagram)
} }
} }
void projectDataBase::diagramInfoChanged(Diagram *diagram)
{
bindDiagramInfoValues(m_update_diagram_info_query, diagram);
if (!m_update_diagram_info_query.exec()) {
qDebug() << "projectDataBase::diagramInfoChanged update error : " << m_update_diagram_info_query.lastError();
} else {
emit dataBaseUpdated();
}
}
void projectDataBase::diagramOrderChanged()
{
}
/** /**
@brief projectDataBase::createDataBase @brief projectDataBase::createDataBase
Create the data base Create the data base
@@ -375,7 +343,7 @@ void projectDataBase::populateDiagramTable()
for (auto diagram : m_project->diagrams()) for (auto diagram : m_project->diagrams())
{ {
m_insert_diagram_query.bindValue(":uuid", diagram->uuid().toString()); m_insert_diagram_query.bindValue(":uuid", diagram->uuid().toString());
m_insert_diagram_query.bindValue(":pos", m_project->folioIndex(diagram)+1); m_insert_diagram_query.bindValue(":pos", m_project->folioIndex(diagram));
if(!m_insert_diagram_query.exec()) { if(!m_insert_diagram_query.exec()) {
qDebug() << "projectDataBase::populateDiagramTable insert error : " << m_insert_diagram_query.lastError(); qDebug() << "projectDataBase::populateDiagramTable insert error : " << m_insert_diagram_query.lastError();
} }
@@ -450,7 +418,23 @@ void projectDataBase::populateDiagramInfoTable()
for (auto *diagram : m_project->diagrams()) for (auto *diagram : m_project->diagrams())
{ {
bindDiagramInfoValues(m_insert_diagram_info_query, diagram); m_insert_diagram_info_query.bindValue(":uuid", diagram->uuid());
auto infos = diagram->border_and_titleblock.titleblockInformation();
for (auto key : QETApp::diagramInfoKeys())
{
if (key == "date") {
m_insert_diagram_info_query.bindValue(
":date",
QLocale::system().toString(
infos.value("date").toDate(),
QLocale::ShortFormat));
} else {
auto value = infos.value(key);
auto bind = key.prepend(":");
m_insert_diagram_info_query.bindValue(bind, value);
}
}
if (!m_insert_diagram_info_query.exec()) { if (!m_insert_diagram_info_query.exec()) {
qDebug() << "projectDataBase::populateDiagramInfoTable insert error : " << m_insert_diagram_info_query.lastError(); qDebug() << "projectDataBase::populateDiagramInfoTable insert error : " << m_insert_diagram_info_query.lastError();
@@ -481,22 +465,6 @@ void projectDataBase::prepareQuery()
")"); ")");
m_insert_diagram_info_query.prepare(insert_diag_info); m_insert_diagram_info_query.prepare(insert_diag_info);
//UPDATE DIAGRAM INFO
QString update_diagram_str("UPDATE diagram_info SET ");
for (auto str : QETApp::diagramInfoKeys()) {
update_diagram_str.append(str + " = :" + str + ", ");
}
update_diagram_str.remove(update_diagram_str.length()-2, 2); //Remove the last ", "
update_diagram_str.append(" WHERE diagram_uuid = :uuid");
m_update_diagram_info_query = QSqlQuery(m_data_base);
m_update_diagram_info_query.prepare(update_diagram_str);
//UPDATE DIAGRAM ORDER
m_diagram_order_changed = QSqlQuery(m_data_base);
m_diagram_order_changed.prepare("UPDATE diagram SET pos = :pos WHERE uuid = :uuid");
m_diagram_info_order_changed = QSqlQuery(m_data_base);
m_diagram_info_order_changed.prepare("UPDATE diagram_info SET folio = :folio WHERE diagram_uuid = :uuid");
//INSERT ELEMENT //INSERT ELEMENT
QString insert_element_query("INSERT INTO element (uuid, diagram_uuid, pos, type, sub_type) VALUES (:uuid, :diagram_uuid, :pos, :type, :sub_type)"); QString insert_element_query("INSERT INTO element (uuid, diagram_uuid, pos, type, sub_type) VALUES (:uuid, :diagram_uuid, :pos, :type, :sub_type)");
m_insert_elements_query = QSqlQuery(m_data_base); m_insert_elements_query = QSqlQuery(m_data_base);
@@ -553,25 +521,6 @@ QHash<QString, QString> projectDataBase::elementInfoToString(Element *elmt)
return hash; return hash;
} }
void projectDataBase::bindDiagramInfoValues(QSqlQuery &query, Diagram *diagram)
{
query.bindValue(":uuid", diagram->uuid());
auto infos = diagram->border_and_titleblock.titleblockInformation();
for (auto key : QETApp::diagramInfoKeys())
{
if (key == "date") {
query.bindValue( ":date",
QLocale::system().toDate(infos.value("date").toString(),
QLocale::ShortFormat));
} else {
auto value = infos.value(key);
auto bind = key.prepend(":");
query.bindValue(bind, value);
}
}
}
#ifdef QET_EXPORT_PROJECT_DB #ifdef QET_EXPORT_PROJECT_DB
/** /**
@brief projectDataBase::sqliteHandle @brief projectDataBase::sqliteHandle
+6 -14
View File
@@ -47,15 +47,11 @@ class projectDataBase : public QObject
void updateDB(); void updateDB();
QETProject *project() const; QETProject *project() const;
QSqlQuery newQuery(const QString &query = QString()); QSqlQuery newQuery(const QString &query = QString());
void addElement(Element *element);
void addElement (Element *element); void removeElement(Element *element);
void removeElement (Element *element); void elementInfoChanged(Element *element);
void elementInfoChanged (Element *element); void addDiagram(Diagram *diagram);
void removeDiagram(Diagram *diagram);
void addDiagram (Diagram *diagram);
void removeDiagram (Diagram *diagram);
void diagramInfoChanged (Diagram *diagram);
void diagramOrderChanged();
signals: signals:
void dataBaseUpdated(); void dataBaseUpdated();
@@ -71,7 +67,6 @@ class projectDataBase : public QObject
void prepareQuery(); void prepareQuery();
static QHash<QString, QString> elementInfoToString( static QHash<QString, QString> elementInfoToString(
Element *elmt); Element *elmt);
void bindDiagramInfoValues(QSqlQuery &query, Diagram *diagram);
private: private:
QPointer<QETProject> m_project; QPointer<QETProject> m_project;
@@ -82,10 +77,7 @@ class projectDataBase : public QObject
m_update_element_query, m_update_element_query,
m_insert_diagram_query, m_insert_diagram_query,
m_remove_diagram_query, m_remove_diagram_query,
m_insert_diagram_info_query, m_insert_diagram_info_query;
m_update_diagram_info_query,
m_diagram_order_changed,
m_diagram_info_order_changed;
#ifdef QET_EXPORT_PROJECT_DB #ifdef QET_EXPORT_PROJECT_DB
public: public:
+1 -4
View File
@@ -61,7 +61,6 @@ QString SummaryQueryWidget::queryStr() const
QStringList keys = selectedKeys(); QStringList keys = selectedKeys();
QString select ="SELECT "; QString select ="SELECT ";
QString order_by = " ORDER BY ";
QString column; QString column;
bool first = true; bool first = true;
@@ -70,15 +69,13 @@ QString SummaryQueryWidget::queryStr() const
first = false; first = false;
} else { } else {
column += ", "; column += ", ";
order_by +=", ";
} }
column += key; column += key;
order_by += key;
} }
QString from = " FROM project_summary_view"; QString from = " FROM project_summary_view";
QString q(select + column + from + order_by); QString q(select + column + from);
return q; return q;
} }
+159 -160
View File
@@ -178,7 +178,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) {
*/ */
QPen pen; QPen pen;
Diagram::background_color == Qt::black? pen.setColor(Qt::white) Diagram::background_color == Qt::black? pen.setColor(Qt::white)
: pen.setColor(Qt::black); : pen.setColor(Qt::black);
pen.setCosmetic(true); pen.setCosmetic(true);
p->setPen(pen); p->setPen(pen);
@@ -324,9 +324,9 @@ void Diagram::keyPressEvent(QKeyEvent *event)
{ {
QSettings settings; QSettings settings;
int xKeyGrid = settings.value("diagrameditor/key_Xgrid", int xKeyGrid = settings.value("diagrameditor/key_Xgrid",
Diagram::xKeyGrid).toInt(); Diagram::xKeyGrid).toInt();
int yKeyGrid = settings.value("diagrameditor/key_Ygrid", int yKeyGrid = settings.value("diagrameditor/key_Ygrid",
Diagram::yKeyGrid).toInt(); Diagram::yKeyGrid).toInt();
int xKeyGridFine = settings.value("diagrameditor/key_fine_Xgrid", int xKeyGridFine = settings.value("diagrameditor/key_fine_Xgrid",
Diagram::xKeyGridFine).toInt(); Diagram::xKeyGridFine).toInt();
int yKeyGridFine = settings.value("diagrameditor/key_fine_Ygrid", int yKeyGridFine = settings.value("diagrameditor/key_fine_Ygrid",
@@ -581,9 +581,9 @@ void Diagram::setConductorsAutonumName(const QString &name) {
@return Une QImage representant le schema @return Une QImage representant le schema
*/ */
bool Diagram::toPaintDevice(QPaintDevice &pix, bool Diagram::toPaintDevice(QPaintDevice &pix,
int width, int width,
int height, int height,
Qt::AspectRatioMode aspectRatioMode) { Qt::AspectRatioMode aspectRatioMode) {
// determine the source area = schema content + margins // determine the source area = schema content + margins
// determine la zone source = contenu du schema + marges // determine la zone source = contenu du schema + marges
QRectF source_area; QRectF source_area;
@@ -630,9 +630,9 @@ bool Diagram::toPaintDevice(QPaintDevice &pix,
// renders itself // renders itself
// effectue le rendu lui-meme // effectue le rendu lui-meme
render(&p, render(&p,
QRect(QPoint(0, 0),image_size), QRect(QPoint(0, 0),image_size),
source_area, source_area,
aspectRatioMode); aspectRatioMode);
p.end(); p.end();
// restore selected items // restore selected items
@@ -734,30 +734,30 @@ QDomDocument Diagram::toXml(bool whole_content) {
// schema properties // schema properties
// proprietes du schema // proprietes du schema
if (whole_content) { if (whole_content)
{
// TODO: compare with old version
border_and_titleblock.titleBlockToXml(dom_root); border_and_titleblock.titleBlockToXml(dom_root);
border_and_titleblock.borderToXml(dom_root); border_and_titleblock.borderToXml(dom_root);
// Default conductor properties // Default conductor properties
QDomElement default_conductor = dom_root.appendChild(defaultConductorProperties.toXml(document));
document.createElement("defaultconductor");
defaultConductorProperties.toXml(default_conductor);
dom_root.appendChild(default_conductor);
// Conductor autonum // Conductor autonum
if (!m_conductors_autonum_name.isEmpty()) { if (!m_conductors_autonum_name.isEmpty())
dom_root.setAttribute("conductorAutonum", {
m_conductors_autonum_name); dom_root.setAttribute(
"conductorAutonum",m_conductors_autonum_name);
} }
//Default New Element //Default New Element
dom_root.setAttribute("freezeNewElement", dom_root.setAttribute("freezeNewElement",
m_freeze_new_elements ? "true" : "false"); m_freeze_new_elements ? "true" : "false");
//Default New Conductor //Default New Conductor
dom_root.setAttribute("freezeNewConductor", dom_root.setAttribute("freezeNewConductor",
m_freeze_new_conductors_ m_freeze_new_conductors_
? "true" : "false"); ? "true" : "false");
//Element Folio Sequential Variables //Element Folio Sequential Variables
if (!m_elmt_unitfolio_max.isEmpty() if (!m_elmt_unitfolio_max.isEmpty()
@@ -771,10 +771,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"elementunitfolioseq"); "elementunitfolioseq");
folioSequentialsToXml(&m_elmt_unitfolio_max, folioSequentialsToXml(&m_elmt_unitfolio_max,
&elmtfolioseq, &elmtfolioseq,
"sequf_", "sequf_",
"unitfolioseq", "unitfolioseq",
&document); &document);
elmtfoliosequential.appendChild(elmtfolioseq); elmtfoliosequential.appendChild(elmtfolioseq);
} }
if (!m_elmt_tenfolio_max.isEmpty()) { if (!m_elmt_tenfolio_max.isEmpty()) {
@@ -782,10 +782,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"elementtenfolioseq"); "elementtenfolioseq");
folioSequentialsToXml(&m_elmt_tenfolio_max, folioSequentialsToXml(&m_elmt_tenfolio_max,
&elmtfolioseq, &elmtfolioseq,
"seqtf_", "seqtf_",
"tenfolioseq", "tenfolioseq",
&document); &document);
elmtfoliosequential.appendChild(elmtfolioseq); elmtfoliosequential.appendChild(elmtfolioseq);
} }
if (!m_elmt_hundredfolio_max.isEmpty()) { if (!m_elmt_hundredfolio_max.isEmpty()) {
@@ -793,10 +793,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"elementhundredfolioseq"); "elementhundredfolioseq");
folioSequentialsToXml(&m_elmt_hundredfolio_max, folioSequentialsToXml(&m_elmt_hundredfolio_max,
&elmtfolioseq, &elmtfolioseq,
"seqhf_", "seqhf_",
"hundredfolioseq", "hundredfolioseq",
&document); &document);
elmtfoliosequential.appendChild(elmtfolioseq); elmtfoliosequential.appendChild(elmtfolioseq);
} }
dom_root.appendChild(elmtfoliosequential); dom_root.appendChild(elmtfoliosequential);
@@ -814,10 +814,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"conductorunitfolioseq"); "conductorunitfolioseq");
folioSequentialsToXml(&m_cnd_unitfolio_max, folioSequentialsToXml(&m_cnd_unitfolio_max,
&cndfolioseq, &cndfolioseq,
"sequf_", "sequf_",
"unitfolioseq", "unitfolioseq",
&document); &document);
cndfoliosequential.appendChild(cndfolioseq); cndfoliosequential.appendChild(cndfolioseq);
} }
if (!m_cnd_tenfolio_max.isEmpty()) { if (!m_cnd_tenfolio_max.isEmpty()) {
@@ -825,10 +825,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"conductortenfolioseq"); "conductortenfolioseq");
folioSequentialsToXml(&m_cnd_tenfolio_max, folioSequentialsToXml(&m_cnd_tenfolio_max,
&cndfolioseq, &cndfolioseq,
"seqtf_", "seqtf_",
"tenfolioseq", "tenfolioseq",
&document); &document);
cndfoliosequential.appendChild(cndfolioseq); cndfoliosequential.appendChild(cndfolioseq);
} }
if (!m_cnd_hundredfolio_max.isEmpty()) { if (!m_cnd_hundredfolio_max.isEmpty()) {
@@ -836,10 +836,10 @@ QDomDocument Diagram::toXml(bool whole_content) {
document.createElement( document.createElement(
"conductorhundredfolioseq"); "conductorhundredfolioseq");
folioSequentialsToXml(&m_cnd_hundredfolio_max, folioSequentialsToXml(&m_cnd_hundredfolio_max,
&cndfolioseq, &cndfolioseq,
"seqhf_", "seqhf_",
"hundredfolioseq", "hundredfolioseq",
&document); &document);
cndfoliosequential.appendChild(cndfolioseq); cndfoliosequential.appendChild(cndfolioseq);
} }
dom_root.appendChild(cndfoliosequential); dom_root.appendChild(cndfoliosequential);
@@ -914,24 +914,22 @@ QDomDocument Diagram::toXml(bool whole_content) {
} }
} }
// correspondence table between the addresses of the terminals and their ids // table de correspondance entre les adresses des bornes et leurs ids
// table de correspondance entre les adresses des bornes et leurs ids
QHash<Terminal *, int> table_adr_id;
if (!list_elements.isEmpty()) { if (!list_elements.isEmpty()) {
auto dom_elements = document.createElement("elements"); auto dom_elements = document.createElement("elements");
for (auto elmt : list_elements) { for (auto elmt : list_elements)
dom_elements.appendChild(elmt->toXml(document, {
table_adr_id)); dom_elements.appendChild(elmt->toXml(document));
} }
dom_root.appendChild(dom_elements); dom_root.appendChild(dom_elements);
} }
if (!list_conductors.isEmpty()) { if (!list_conductors.isEmpty()) {
auto dom_conductors = document.createElement("conductors"); auto dom_conductors = document.createElement("conductors");
for (auto cond : list_conductors) { for (auto cond : list_conductors)
dom_conductors.appendChild(cond->toXml(document, {
table_adr_id)); dom_conductors.appendChild(cond->toXml(document));
} }
dom_root.appendChild(dom_conductors); dom_root.appendChild(dom_conductors);
} }
@@ -981,18 +979,18 @@ QDomDocument Diagram::toXml(bool whole_content) {
@param doc @param doc
*/ */
void Diagram::folioSequentialsToXml(QHash<QString, void Diagram::folioSequentialsToXml(QHash<QString,
QStringList> *hash, QStringList> *hash,
QDomElement *domElement, QDomElement *domElement,
const QString& seq_type, const QString& seq_type,
const QString& type, const QString& type,
QDomDocument *doc) { QDomDocument *doc) {
QHash<QString, QStringList>::iterator i; QHash<QString, QStringList>::iterator i;
for (i = hash->begin(); i != hash->end(); i++) { for (i = hash->begin(); i != hash->end(); i++) {
QDomElement folioseq = doc->createElement(type); QDomElement folioseq = doc->createElement(type);
folioseq.setAttribute("title", i.key()); folioseq.setAttribute("title", i.key());
for (int j = 0; j < i.value().size(); j++) { for (int j = 0; j < i.value().size(); j++) {
folioseq.setAttribute(seq_type + QString::number(j+1), folioseq.setAttribute(seq_type + QString::number(j+1),
i.value().at(j)); i.value().at(j));
} }
domElement->appendChild(folioseq); domElement->appendChild(folioseq);
} }
@@ -1030,9 +1028,9 @@ void Diagram::folioSequentialsToXml(QHash<QString,
\~French true si l'import a reussi, false sinon \~French true si l'import a reussi, false sinon
*/ */
bool Diagram::fromXml(QDomDocument &document, bool Diagram::fromXml(QDomDocument &document,
QPointF position, QPointF position,
bool consider_informations, bool consider_informations,
DiagramContent *content_ptr) { DiagramContent *content_ptr) {
QDomElement root = document.documentElement(); QDomElement root = document.documentElement();
return(fromXml(root, position, consider_informations, content_ptr)); return(fromXml(root, position, consider_informations, content_ptr));
} }
@@ -1086,25 +1084,28 @@ bool Diagram::initFromXml(QDomElement &document,
/** /**
@brief findTerminal @brief findTerminal
Find terminal to which the conductor should be connected @param conductor_index
@param conductor_index 1 or 2 depending on which terminal is searched @param conductor
@param f Conductor xml element @param table_adr_id
@param table_adr_id Hash table to all terminal id assignement (legacy) @param added_elements
@param added_elements Elements found in the xml file
@return @return
*/ */
Terminal* findTerminal(int conductor_index, Terminal* findTerminal(
QDomElement& f, int conductor_index,
QHash<int, QDomElement& conductor,
Terminal *>& table_adr_id, QHash<int, Terminal *>& table_adr_id,
QList<Element *>& added_elements) { QList<Element *>& added_elements)
{
assert(conductor_index == 1 || conductor_index == 2); assert(conductor_index == 1 || conductor_index == 2);
QString element_index = "element" + QString::number(conductor_index); QString element_index = "element" + QString::number(conductor_index);
QString terminal_index = "terminal" + QString::number(conductor_index); QString terminal_index = "terminal" + QString::number(conductor_index);
if (f.hasAttribute(element_index)) { QUuid element_uuid;
QUuid element_uuid = QUuid(f.attribute(element_index)); if (PropertiesInterface::propertyUuid(
conductor, element_index, &element_uuid)
== PropertiesInterface::PropertyFlags::Success)
{
// element1 did not exist in the conductor part of the xml until prior 0.7 // element1 did not exist in the conductor part of the xml until prior 0.7
// It is used as an indicator that uuid's are used to identify terminals // It is used as an indicator that uuid's are used to identify terminals
bool element_found = false; bool element_found = false;
@@ -1112,7 +1113,9 @@ Terminal* findTerminal(int conductor_index,
if (element->uuid() != element_uuid) if (element->uuid() != element_uuid)
continue; continue;
element_found = true; element_found = true;
QUuid terminal_uuid = QUuid(f.attribute(terminal_index)); QUuid terminal_uuid;
PropertiesInterface::propertyUuid(
conductor, terminal_index, &terminal_uuid);
for (auto terminal: element->terminals()) { for (auto terminal: element->terminals()) {
if (terminal->uuid() != terminal_uuid) if (terminal->uuid() != terminal_uuid)
continue; continue;
@@ -1136,9 +1139,15 @@ Terminal* findTerminal(int conductor_index,
<< element_uuid << element_uuid
<< "not found"; << "not found";
} else { } else {
// Backward compatibility. // Backward compatibility. Until version 0.7 a generated id is used to link the terminal.
// Until version 0.7 a generated id is used to link the terminal. int id_p1 = -1;
int id_p1 = f.attribute(terminal_index).toInt(); if (
PropertiesInterface::propertyInteger(
conductor, terminal_index, &id_p1)
!= PropertiesInterface::PropertyFlags::Success)
{
qDebug() << "diagramm.cpp:findTerminal(): Reading Id was not successfull";
}
if (!table_adr_id.contains(id_p1)) { if (!table_adr_id.contains(id_p1)) {
qDebug() << "Diagram::fromXml() : terminal id " qDebug() << "Diagram::fromXml() : terminal id "
<< id_p1 << id_p1
@@ -1146,51 +1155,39 @@ Terminal* findTerminal(int conductor_index,
} else } else
return table_adr_id.value(id_p1); return table_adr_id.value(id_p1);
} }
qDebug() << "Diagram::findTerminal(): No terminal found.";
return nullptr; return nullptr;
} }
/** /**
@brief Diagram::fromXml @brief Diagram::fromXml
Imports the described schema in an XML element. If a position is @param document
specified, the imported elements are positioned in such a way that the @param position
upper left corner of the smallest rectangle that can surround them all @param consider_informations
(the bounding rect) either at this position. @param content_ptr
\~French Importe le schema decrit dans un element XML. @return
Si une position est precisee,
les elements importes sont positionnes de maniere a ce que le
coin superieur gauche du plus petit rectangle pouvant les entourant tous
(le bounding rect) soit a cette position.
\~ @param document :
The XML document to analyze
\~French Le document XML a analyser
\~ @param position :
The position of the diagram matters
\~French La position du schema importe
\~ @param consider_informations :
If true, additional information
(author, title, ...) will be taken into account
\~French Si vrai, les informations complementaires
(auteur, titre, ...) seront prises en compte
\~ @param content_ptr :
if this pointer to a DiagramContent is different from 0,
it will be filled with the content added to the schema by the fromXml
\~French si ce pointeur vers un DiagramContent est different de 0,
il sera rempli avec le contenu ajoute au schema par le fromXml
\~ @return
true if the import was successful, false otherwise
\~French true si l'import a reussi, false sinon
*/ */
bool Diagram::fromXml(QDomElement &document, bool Diagram::fromXml(
QPointF position, QDomElement &document,
bool consider_informations, QPointF position,
DiagramContent *content_ptr) { bool consider_informations,
DiagramContent *content_ptr)
{
const QDomElement& root = document; const QDomElement& root = document;
// The first element must be a diagram // The first element must be a diagram
if (root.tagName() != "diagram") return(false); if (root.tagName() != "diagram") return(false);
// Read attributes of this diagram qDebug() << "Diagram::fromXml; Diagram: " << root.attribute("title");
if (consider_informations)
{ // Read attributes of this diagram
if (consider_informations) {
// Version of diagram
bool conv_ok;
qreal version_value = root.attribute("version").toDouble(&conv_ok);
if (conv_ok) {
diagram_qet_version_ = version_value;
}
// Load border and titleblock // Load border and titleblock
border_and_titleblock.titleBlockFromXml(root); border_and_titleblock.titleBlockFromXml(root);
border_and_titleblock.borderFromXml(root); border_and_titleblock.borderFromXml(root);
@@ -1203,6 +1200,7 @@ bool Diagram::fromXml(QDomElement &document,
defaultConductorProperties.fromXml(default_conductor_elmt); defaultConductorProperties.fromXml(default_conductor_elmt);
} }
// Load the autonum // Load the autonum
m_conductors_autonum_name = root.attribute("conductorAutonum"); m_conductors_autonum_name = root.attribute("conductorAutonum");
@@ -1256,7 +1254,7 @@ bool Diagram::fromXml(QDomElement &document,
if (root.hasAttribute("projectId")) { if (root.hasAttribute("projectId")) {
QETProject *other_project = QETApp::project( QETProject *other_project = QETApp::project(
root.attribute("projectId", root.attribute("projectId",
"-1").toInt()); "-1").toInt());
/* We try to paste from another project, /* We try to paste from another project,
* then befor paste elements, * then befor paste elements,
@@ -1268,8 +1266,8 @@ bool Diagram::fromXml(QDomElement &document,
ElementCollectionHandler ech; ElementCollectionHandler ech;
foreach (QDomElement element_xml, foreach (QDomElement element_xml,
QET::findInDomElement(root, QET::findInDomElement(root,
"elements", "elements",
"element")) { "element")) {
if (!Element::valideXml(element_xml)) continue; if (!Element::valideXml(element_xml)) continue;
QString type_id = element_xml.attribute("type"); QString type_id = element_xml.attribute("type");
@@ -1279,16 +1277,16 @@ bool Diagram::fromXml(QDomElement &document,
type_id, type_id,
other_project); other_project);
ech.importFromProject(m_project, ech.importFromProject(m_project,
location); location);
} }
} }
} }
} }
//Load all elements from the XML //Load all elements from the collection in the XML
QList<Element *> added_elements; QList<Element *> added_elements;
QHash<int, Terminal *> table_adr_id; QHash<int, Terminal *> table_adr_id;
foreach (QDomElement element_xml, foreach (QDomElement element_xml,
QET::findInDomElement(root, "elements", "element")) QET::findInDomElement(root, "elements", "element")) // read all elements from the diagram
{ {
if (!Element::valideXml(element_xml)) continue; if (!Element::valideXml(element_xml)) continue;
@@ -1303,9 +1301,9 @@ bool Diagram::fromXml(QDomElement &document,
} }
int state = 0; int state = 0;
Element *nvel_elmt =
ElementFactory::Instance() -> createElement( // Create element from the collection
element_location, nullptr, &state); Element *nvel_elmt = ElementFactory::Instance() -> createElement(element_location, nullptr, &state); // read element definition from the collection!
if (state) if (state)
{ {
QString debug_message = QString debug_message =
@@ -1319,13 +1317,14 @@ bool Diagram::fromXml(QDomElement &document,
} }
addItem(nvel_elmt); addItem(nvel_elmt);
//Loading fail, remove item from the diagram
if (!nvel_elmt->fromXml(element_xml, table_adr_id)) //Loading fail, remove item from the diagram
if (!nvel_elmt->fromXml(element_xml, table_adr_id)) // load element definition from the diagram
{ {
removeItem(nvel_elmt); removeItem(nvel_elmt);
delete nvel_elmt; delete nvel_elmt;
qDebug() << "Diagram::fromXml() : Le chargement des " qDebug() << "Diagram::fromXml() : Le chargement des "
"parametres d'un element a echoue"; "parametres d'un element a echoue";
} else { } else {
added_elements << nvel_elmt; added_elements << nvel_elmt;
} }
@@ -1334,8 +1333,8 @@ bool Diagram::fromXml(QDomElement &document,
// Load text // Load text
QList<IndependentTextItem *> added_texts; QList<IndependentTextItem *> added_texts;
foreach (QDomElement text_xml, QET::findInDomElement(root, foreach (QDomElement text_xml, QET::findInDomElement(root,
"inputs", "inputs",
"input")) { "input")) {
IndependentTextItem *iti = new IndependentTextItem(); IndependentTextItem *iti = new IndependentTextItem();
iti -> fromXml(text_xml); iti -> fromXml(text_xml);
addItem(iti); addItem(iti);
@@ -1345,8 +1344,8 @@ bool Diagram::fromXml(QDomElement &document,
// Load image // Load image
QList<DiagramImageItem *> added_images; QList<DiagramImageItem *> added_images;
foreach (QDomElement image_xml, QET::findInDomElement(root, foreach (QDomElement image_xml, QET::findInDomElement(root,
"images", "images",
"image")) { "image")) {
DiagramImageItem *dii = new DiagramImageItem (); DiagramImageItem *dii = new DiagramImageItem ();
dii -> fromXml(image_xml); dii -> fromXml(image_xml);
addItem(dii); addItem(dii);
@@ -1356,8 +1355,8 @@ bool Diagram::fromXml(QDomElement &document,
// Load shape // Load shape
QList<QetShapeItem *> added_shapes; QList<QetShapeItem *> added_shapes;
foreach (QDomElement shape_xml, QET::findInDomElement(root, foreach (QDomElement shape_xml, QET::findInDomElement(root,
"shapes", "shapes",
"shape")) { "shape")) {
QetShapeItem *dii = new QetShapeItem (QPointF(0,0)); QetShapeItem *dii = new QetShapeItem (QPointF(0,0));
dii -> fromXml(shape_xml); dii -> fromXml(shape_xml);
addItem(dii); addItem(dii);
@@ -1366,35 +1365,37 @@ bool Diagram::fromXml(QDomElement &document,
// Load conductor // Load conductor
QList<Conductor *> added_conductors; QList<Conductor *> added_conductors;
foreach (QDomElement f, QET::findInDomElement(root,
"conductors", foreach (QDomElement conductorElement,
"conductor")) QET::findInDomElement(root, "conductors", "conductor"))
{ {
if (!Conductor::valideXml(f)) continue; if (!Conductor::valideXml(conductorElement)) continue;
//Check if terminal that conductor must be linked is know //Check if terminal that conductor must be linked is know
Terminal* p1 = findTerminal(1, f, table_adr_id, added_elements); Terminal* p1 = findTerminal(1, conductorElement, table_adr_id, added_elements);
Terminal* p2 = findTerminal(2, f, table_adr_id, added_elements); Terminal* p2 = findTerminal(2, conductorElement, table_adr_id, added_elements);
if (p1 && p2 && p1 != p2) if (p1 && p2 && p1 != p2) // why the condition for unequal is required?
{ {
Conductor *c = new Conductor(p1, p2); Conductor *c = new Conductor(p1, p2);
if (c->isValid()) if (c->isValid())
{ {
addItem(c); addItem(c);
c -> fromXml(f); c -> fromXml(conductorElement);
added_conductors << c; added_conductors << c;
} }
else else
delete c; delete c;
} else {
qDebug() << "Diagramm::fromXML(): No matching terminals found.";
} }
} }
//Load tables //Load tables
QVector<QetGraphicsTableItem *> added_tables; QVector<QetGraphicsTableItem *> added_tables;
for (auto dom_table for (auto dom_table
: QETXML::subChild(root, : QETXML::subChild(root,
"tables", "tables",
QetGraphicsTableItem::xmlTagName())) QetGraphicsTableItem::xmlTagName()))
{ {
@@ -1473,23 +1474,23 @@ bool Diagram::fromXml(QDomElement &document,
@param autonumFolioSeqType @param autonumFolioSeqType
*/ */
void Diagram::folioSequentialsFromXml(const QDomElement &root, void Diagram::folioSequentialsFromXml(const QDomElement &root,
QHash<QString, QHash<QString,
QStringList>* hash, QStringList>* hash,
const QString& folioSeq, const QString& folioSeq,
const QString& seq, const QString& seq,
const QString& type, const QString& type,
const QString& autonumFolioSeqType) { const QString& autonumFolioSeqType) {
foreach (QDomElement folioSeqAutoNum, foreach (QDomElement folioSeqAutoNum,
QET::findInDomElement(root, autonumFolioSeqType, folioSeq)) { QET::findInDomElement(root, autonumFolioSeqType, folioSeq)) {
for(QDomElement folioseq for(QDomElement folioseq
= folioSeqAutoNum.firstChildElement(type); = folioSeqAutoNum.firstChildElement(type);
!folioseq.isNull(); !folioseq.isNull();
folioseq = folioseq.nextSiblingElement(type)) { folioseq = folioseq.nextSiblingElement(type)) {
QString title = folioseq.attribute("title"); QString title = folioseq.attribute("title");
QStringList list; QStringList list;
int i = 1; int i = 1;
while (folioseq.hasAttribute(seq while (folioseq.hasAttribute(seq
+ QString::number(i))) { + QString::number(i))) {
list << folioseq.attribute( list << folioseq.attribute(
seq + QString::number(i)); seq + QString::number(i));
i++; i++;
@@ -1650,8 +1651,6 @@ void Diagram::setTitleBlockTemplate(const QString &template_name)
if (template_name != current_name) if (template_name != current_name)
emit(usedTitleBlockTemplateChanged(template_name)); emit(usedTitleBlockTemplateChanged(template_name));
project()->dataBase()->diagramInfoChanged(this);
} }
/** /**
@@ -1747,10 +1746,10 @@ void Diagram::insertFolioSeqHash(QHash<QString,
@param nc : Context to be manipulated @param nc : Context to be manipulated
*/ */
void Diagram::loadFolioSeqHash(QHash<QString, void Diagram::loadFolioSeqHash(QHash<QString,
QStringList> *hash, QStringList> *hash,
const QString& title, const QString& title,
const QString& type, const QString& type,
NumerotationContext *nc) { NumerotationContext *nc) {
int j = 0; int j = 0;
for (int i = 0; i < nc->size(); i++) { for (int i = 0; i < nc->size(); i++) {
if (nc->itemAt(i).at(0) == type) { if (nc->itemAt(i).at(0) == type) {
@@ -1775,9 +1774,9 @@ void Diagram::changeZValue(QET::DepthOption option)
DiagramContent dc(this); DiagramContent dc(this);
QUndoCommand *undo = new QUndoCommand(tr("Modifier la profondeur")); QUndoCommand *undo = new QUndoCommand(tr("Modifier la profondeur"));
QList<QGraphicsItem *> l = dc.items(DiagramContent::SelectedOnly | \ QList<QGraphicsItem *> l = dc.items(DiagramContent::SelectedOnly | \
DiagramContent::Elements | \ DiagramContent::Elements | \
DiagramContent::Shapes | \ DiagramContent::Shapes | \
DiagramContent::Images); DiagramContent::Images);
QList<QGraphicsObject *> list; QList<QGraphicsObject *> list;
for(QGraphicsItem *item : l) for(QGraphicsItem *item : l)
list << item->toGraphicsObject(); list << item->toGraphicsObject();
@@ -2166,7 +2165,7 @@ void Diagram::adjustSceneRect()
{ {
QRectF old_rect = sceneRect(); QRectF old_rect = sceneRect();
setSceneRect(border_and_titleblock.borderAndTitleBlockRect().united( setSceneRect(border_and_titleblock.borderAndTitleBlockRect().united(
itemsBoundingRect())); itemsBoundingRect()));
update(old_rect.united(sceneRect())); update(old_rect.united(sceneRect()));
} }
+18 -29
View File
@@ -96,7 +96,7 @@ class Diagram : public QGraphicsScene
/// margin around the diagram /// margin around the diagram
static const qreal margin; static const qreal margin;
/// background color of diagram /// background color of diagram
static QColor background_color; static QColor background_color; // default value set in cpp file
/// Hash containing max values for folio sequential autonums in this diagram /// Hash containing max values for folio sequential autonums in this diagram
QHash <QString, QStringList> m_elmt_unitfolio_max; QHash <QString, QStringList> m_elmt_unitfolio_max;
QHash <QString, QStringList> m_elmt_tenfolio_max; QHash <QString, QStringList> m_elmt_tenfolio_max;
@@ -168,31 +168,20 @@ class Diagram : public QGraphicsScene
// methods related to XML import/export // methods related to XML import/export
QDomDocument toXml(bool = true); QDomDocument toXml(bool = true);
bool initFromXml(QDomElement &, bool initFromXml(QDomElement &, QPointF = QPointF(),
QPointF = QPointF(), bool = true, DiagramContent * = nullptr);
bool = true, bool fromXml(
DiagramContent * = nullptr); QDomDocument &, QPointF = QPointF(),
bool fromXml(QDomDocument &, bool = true, DiagramContent * = nullptr);
QPointF = QPointF(), bool fromXml(
bool = true, QDomElement &, QPointF = QPointF(),
DiagramContent * = nullptr); bool = true, DiagramContent * = nullptr);
bool fromXml(QDomElement &, void folioSequentialsToXml(
QPointF = QPointF(), QHash<QString, QStringList>*, QDomElement *, const QString&,
bool = true, const QString&, QDomDocument *);
DiagramContent * = nullptr); void folioSequentialsFromXml(
void folioSequentialsToXml(QHash<QString, const QDomElement&, QHash<QString,QStringList>*, const QString&,
QStringList>*, const QString&, const QString&,const QString&);
QDomElement *,
const QString&,
const QString&,
QDomDocument *);
void folioSequentialsFromXml(const QDomElement&,
QHash<QString,
QStringList>*,
const QString&,
const QString&,
const QString&,
const QString&);
void refreshContents(); void refreshContents();
@@ -253,8 +242,8 @@ class Diagram : public QGraphicsScene
const QString& seq, const QString& seq,
NumerotationContext *nc); NumerotationContext *nc);
void loadFolioSeqHash (QHash<QString, QStringList> *hash, void loadFolioSeqHash (QHash<QString, QStringList> *hash,
const QString& title, const QString& seq, const QString& title, const QString& seq,
NumerotationContext *nc); NumerotationContext *nc);
void changeZValue(QET::DepthOption option); void changeZValue(QET::DepthOption option);
public slots: public slots:
@@ -262,7 +251,7 @@ class Diagram : public QGraphicsScene
void titleChanged(const QString &); void titleChanged(const QString &);
void titleBlockTemplateChanged(const QString &); void titleBlockTemplateChanged(const QString &);
void titleBlockTemplateRemoved(const QString &, void titleBlockTemplateRemoved(const QString &,
const QString & = QString()); const QString & = QString());
void setTitleBlockTemplate(const QString &); void setTitleBlockTemplate(const QString &);
void updateLabels(); void updateLabels();
void loadElmtFolioSeq(); void loadElmtFolioSeq();
+6 -4
View File
@@ -209,15 +209,17 @@ void DiagramContext::toSettings(QSettings &settings, const QString &array_name)
Read this context properties from \a settings by running through the array Read this context properties from \a settings by running through the array
named \a array_name. named \a array_name.
*/ */
void DiagramContext::fromSettings(QSettings &settings, const QString &array_name) { void DiagramContext::fromSettings(const QSettings &settings, const QString &array_name) {
int size = settings.beginReadArray(array_name); // TODO: find better solution than const cast
QSettings& s = const_cast<QSettings&>(settings);
int size = s.beginReadArray(array_name);
for (int i = 0 ; i < size; ++ i) { for (int i = 0 ; i < size; ++ i) {
settings.setArrayIndex(i); s.setArrayIndex(i);
QString key = settings.value("name").toString(); QString key = settings.value("name").toString();
if (key.isEmpty()) continue; if (key.isEmpty()) continue;
addValue(key, settings.value("value").toString()); addValue(key, settings.value("value").toString());
} }
settings.endArray(); s.endArray();
} }
/** /**
+1 -1
View File
@@ -79,7 +79,7 @@ class DiagramContext
void fromXml(const QDomElement &, const QString & = "property"); void fromXml(const QDomElement &, const QString & = "property");
void fromXml(const pugi::xml_node &dom_element, const QString &tag_name = "property"); void fromXml(const pugi::xml_node &dom_element, const QString &tag_name = "property");
void toSettings(QSettings &, const QString &) const; void toSettings(QSettings &, const QString &) const;
void fromSettings(QSettings &, const QString &); void fromSettings(const QSettings &, const QString &);
static QString validKeyRegExp(); static QString validKeyRegExp();
@@ -161,7 +161,8 @@ void CustomElementGraphicPart::setAntialiased(const bool b)
Each style separate by ; and name-style/value are separate by : Each style separate by ; and name-style/value are separate by :
@param qde : QDOmElement used to write the style. @param qde : QDOmElement used to write the style.
*/ */
void CustomElementGraphicPart::stylesToXml(QDomElement &qde) const void CustomElementGraphicPart::stylesToXml(
QDomDocument &xml_document, QDomElement &qde) const
{ {
QString css_like_styles; QString css_like_styles;
@@ -496,9 +497,8 @@ void CustomElementGraphicPart::stylesToXml(QDomElement &qde) const
else if (_color == HTMLGrayBlackColor) css_like_styles += "HTMLGrayBlack"; else if (_color == HTMLGrayBlackColor) css_like_styles += "HTMLGrayBlack";
else if (_color == NoneColor) css_like_styles += "none"; else if (_color == NoneColor) css_like_styles += "none";
qde.appendChild(createXmlProperty(xml_document, "style", css_like_styles));
qde.setAttribute("style", css_like_styles); qde.appendChild(createXmlProperty(xml_document, "antialias", _antialiased ? "true" : "false"));
qde.setAttribute("antialias", _antialiased ? "true" : "false");
} }
@@ -511,28 +511,24 @@ void CustomElementGraphicPart::stylesFromXml(const QDomElement &qde)
{ {
resetStyles(); resetStyles();
QString style_string;
propertyString(qde, "style", &style_string);
//Get the list of pair style/value //Get the list of pair style/value
#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) // ### Qt 6: remove #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) // ### Qt 6: remove
QStringList styles = qde.attribute("style").split(";", QString::SkipEmptyParts); QStringList styles = style_string.split(";", QString::SkipEmptyParts);
#else #else
#if TODO_LIST #if TODO_LIST
#pragma message("@TODO remove code for QT 5.14 or later") #pragma message("@TODO remove code for QT 5.14 or later")
#endif #endif
QStringList styles = qde.attribute("style").split(";", Qt::SkipEmptyParts); QStringList styles = qde.attribute("style").split(";", Qt::SkipEmptyParts);
#endif #endif
//Check each pair of style //Check each pair of style
QRegularExpression rx("^\\s*([a-z-]+)\\s*:\\s*([a-zA-Z-]+)\\s*$"); QRegularExpression rx("^\\s*([a-z-]+)\\s*:\\s*([a-zA-Z-]+)\\s*$");
for (auto style : styles) foreach (QString style, styles)
{ {
auto rx_match = rx.match(style); if (rx!=QRegularExpression(style)) continue;
if (!rx_match.hasMatch()) { QString style_name = rx.namedCaptureGroups().at(1);
continue; QString style_value = rx.namedCaptureGroups().at(2);
}
auto style_name = rx_match.captured(1);
auto style_value = rx_match.captured(2);
if (style_name == "line-style") if (style_name == "line-style")
{ {
if (style_value == "dashed") _linestyle = DashedStyle; if (style_value == "dashed") _linestyle = DashedStyle;
@@ -868,7 +864,9 @@ void CustomElementGraphicPart::stylesFromXml(const QDomElement &qde)
} }
} }
//Get antialiasing //Get antialiasing
_antialiased = qde.attribute("antialias") == "true"; QString a;
propertyString(qde, "antialias", &a);
_antialiased = a == "true";
} }
@@ -303,7 +303,7 @@ class CustomElementGraphicPart : public QGraphicsObject, public CustomElementPar
virtual void resetAllHandlerColor() {} virtual void resetAllHandlerColor() {}
protected: protected:
void stylesToXml (QDomElement &) const; void stylesToXml (QDomDocument &xml_document, QDomElement &) const;
void stylesFromXml(const QDomElement &); void stylesFromXml(const QDomElement &);
void resetStyles (); void resetStyles ();
void applyStylesToQPainter(QPainter &) const; void applyStylesToQPainter(QPainter &) const;
@@ -19,6 +19,7 @@
#define CUSTOM_ELEMENT_PART_H #define CUSTOM_ELEMENT_PART_H
#include "qet.h" #include "qet.h"
#include "propertiesinterface.h"
class CustomElement; class CustomElement;
class ElementPrimitiveDecorator; class ElementPrimitiveDecorator;
@@ -37,7 +38,7 @@ class QGraphicsSceneMouseEvent;
there is no point for those classes to store their visual representation there is no point for those classes to store their visual representation
with anything more complex than a QImage. with anything more complex than a QImage.
*/ */
class CustomElementPart { class CustomElementPart: public PropertiesInterface {
// constructors, destructor // constructors, destructor
public: public:
/** /**
@@ -61,14 +62,6 @@ class CustomElementPart {
// methods // methods
public: public:
/**
Load the primitive from an XML element that describes it
*/
virtual void fromXml(const QDomElement &) = 0;
/**
Export the primitive as an XML element
*/
virtual const QDomElement toXml(QDomDocument &) const = 0;
/** /**
Set a specific property of the primitive Set a specific property of the primitive
*/ */
+56 -26
View File
@@ -97,40 +97,70 @@ void PartArc::paint(QPainter *painter, const QStyleOptionGraphicsItem *options,
} }
/** /**
@brief PartArc::toXml * @brief PartArc::toXml
Export this arc in xml * Export this arc in xml
@param xml_document : Xml document to use for create the xml element. * @param xml_document : Xml document to use for create the xml element.
@return : an xml element that describe this arc * @return : an xml element that describe this arc
*/ */
const QDomElement PartArc::toXml(QDomDocument &xml_document) const QDomElement PartArc::toXml(QDomDocument &xml_document) const
{ {
QDomElement xml_element = xml_document.createElement("arc"); QDomElement xml_element = xml_document.createElement("arc");
QPointF top_left(sceneTopLeft()); QPointF top_left(sceneTopLeft());
xml_element.setAttribute("x", QString("%1").arg(top_left.x()));
xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.appendChild(createXmlProperty(xml_document, "x", top_left.x()));
xml_element.setAttribute("width", QString("%1").arg(rect().width())); xml_element.appendChild(createXmlProperty(xml_document, "y", top_left.y()));
xml_element.setAttribute("height", QString("%1").arg(rect().height())); xml_element.appendChild(createXmlProperty(xml_document, "width", rect().width()));
//to maintain compatibility with the previous version, we write the angle in degrees. xml_element.appendChild(createXmlProperty(xml_document, "height", rect().height()));
xml_element.setAttribute("start", QString("%1").arg(m_start_angle / 16));
xml_element.setAttribute("angle", QString("%1").arg(m_span_angle / 16)); //to maintain compatibility with the previous version, we write the angle in degrees.
stylesToXml(xml_element); xml_element.appendChild(createXmlProperty(xml_document, "start", m_start_angle / 16));
xml_element.appendChild(createXmlProperty(xml_document, "angle", m_span_angle / 16));
stylesToXml(xml_document, xml_element);
return(xml_element); return(xml_element);
} }
/** /**
@brief PartArc::fromXml * @brief PartArc::fromXml
Import the properties of this arc from a xml element. * Import the properties of this arc from a xml element.
@param qde : Xml document to use. * @param qde : Xml document to use.
*/ */
void PartArc::fromXml(const QDomElement &qde) { bool PartArc::fromXml(const QDomElement &qde) {
stylesFromXml(qde); stylesFromXml(qde);
m_rect = QRectF(mapFromScene(qde.attribute("x", "0").toDouble(),
qde.attribute("y", "0").toDouble()),
QSizeF(qde.attribute("width", "0").toDouble(),
qde.attribute("height", "0").toDouble()) );
m_start_angle = qde.attribute("start", "0").toDouble() * 16; double x=0, y=0, w=0, h=0;
m_span_angle = qde.attribute("angle", "-1440").toDouble() * 16; if (propertyDouble(qde, "x", &x) == PropertyFlags::NoValidConversion ||
propertyDouble(qde, "y", &y) == PropertyFlags::NoValidConversion ||
propertyDouble(qde, "width", &w) == PropertyFlags::NoValidConversion ||
propertyDouble(qde, "height", &h) == PropertyFlags::NoValidConversion)
return false;
m_rect = QRectF(mapFromScene(x, y), QSizeF(w, h) );
m_start_angle = 0;
if (propertyDouble(qde, "start", &m_start_angle) == PropertyFlags::NoValidConversion)
return false;
m_start_angle *= 16;
m_span_angle = -1440;
if (propertyDouble(qde, "angle", &m_span_angle) == PropertyFlags::NoValidConversion)
return false;
m_span_angle *= 16;
return true;
}
bool PartArc::valideXml(QDomElement& element) {
if (propertyDouble(element, "x") == PropertyFlags::NoValidConversion ||
propertyDouble(element, "y") == PropertyFlags::NoValidConversion ||
propertyDouble(element, "width") == PropertyFlags::NoValidConversion ||
propertyDouble(element, "height") == PropertyFlags::NoValidConversion ||
propertyDouble(element, "start") == PropertyFlags::NoValidConversion ||
propertyDouble(element, "angle") == PropertyFlags::NoValidConversion)
return false;
return true;
} }
/** /**
+3 -2
View File
@@ -51,8 +51,9 @@ class PartArc : public AbstractPartEllipse
//Name and XML //Name and XML
QString name() const override { return(QObject::tr("arc", "element part name")); } QString name() const override { return(QObject::tr("arc", "element part name")); }
QString xmlName() const override { return(QString("arc")); } QString xmlName() const override { return(QString("arc")); }
const QDomElement toXml (QDomDocument &) const override; QDomElement toXml (QDomDocument &) const override;
void fromXml (const QDomElement &) override; bool fromXml (const QDomElement &) override;
static bool valideXml(QDomElement& element);
QPainterPath shape() const override; QPainterPath shape() const override;
QPainterPath shadowShape() const override; QPainterPath shadowShape() const override;
@@ -88,45 +88,46 @@ void PartDynamicTextField::handleUserTransformation(
} }
/** /**
@brief PartDynamicTextField::toXml * @brief PartDynamicTextField::toXml
@param dom_doc * @param document
@return * @return
*/ */
const QDomElement PartDynamicTextField::toXml(QDomDocument &dom_doc) const QDomElement PartDynamicTextField::toXml(QDomDocument &dom_doc) const
{ {
QDomElement root_element = dom_doc.createElement(xmlName()); QDomElement root_element = dom_doc.createElement(xmlName());
root_element.setAttribute("x", QString::number(pos().x())); root_element.appendChild(createXmlProperty(dom_doc, "x", pos().x()));
root_element.setAttribute("y", QString::number(pos().y())); root_element.appendChild(createXmlProperty(dom_doc, "y", pos().y()));
root_element.setAttribute("z", QString::number(zValue())); root_element.appendChild(createXmlProperty(dom_doc, "z", zValue()));
root_element.setAttribute("rotation", QString::number(QET::correctAngle(rotation()))); root_element.appendChild(createXmlProperty(dom_doc, "rotation", QET::correctAngle(rotation())));
root_element.setAttribute("font", font().toString());
root_element.setAttribute("uuid", m_uuid.toString()); root_element.appendChild(createXmlProperty(dom_doc, "font", font().toString()));
root_element.setAttribute("frame", m_frame? "true" : "false"); root_element.appendChild(createXmlProperty(dom_doc, "uuid", m_uuid));
root_element.setAttribute("text_width", QString::number(m_text_width)); root_element.appendChild(createXmlProperty(dom_doc, "frame", m_frame));
root_element.appendChild(createXmlProperty(dom_doc, "text_width", m_text_width));
QMetaEnum me = DynamicElementTextItem::textFromMetaEnum(); QMetaEnum me = DynamicElementTextItem::textFromMetaEnum();
root_element.setAttribute("text_from", me.valueToKey(m_text_from)); root_element.appendChild(createXmlProperty(dom_doc, "text_from", me.valueToKey(m_text_from)));
me = QMetaEnum::fromType<Qt::Alignment>(); me = QMetaEnum::fromType<Qt::Alignment>();
if(this -> alignment() &Qt::AlignRight) if(this->alignment() &Qt::AlignRight)
root_element.setAttribute("Halignment", me.valueToKey(Qt::AlignRight)); root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignRight)));
else if(this -> alignment() &Qt::AlignLeft) else if(this->alignment() &Qt::AlignLeft)
root_element.setAttribute("Halignment", me.valueToKey(Qt::AlignLeft)); root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignLeft)));
else if(this -> alignment() &Qt::AlignHCenter) else if(this->alignment() &Qt::AlignHCenter)
root_element.setAttribute("Halignment", me.valueToKey(Qt::AlignHCenter)); root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignHCenter)));
if(this -> alignment() &Qt::AlignBottom) if(this->alignment() &Qt::AlignBottom)
root_element.setAttribute("Valignment", me.valueToKey(Qt::AlignBottom)); root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignBottom)));
else if(this -> alignment() & Qt::AlignTop) else if(this->alignment() & Qt::AlignTop)
root_element.setAttribute("Valignment", me.valueToKey(Qt::AlignTop)); root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignTop)));
else if(this -> alignment() &Qt::AlignVCenter) else if(this->alignment() &Qt::AlignVCenter)
root_element.setAttribute("Valignment", me.valueToKey(Qt::AlignVCenter)); root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignVCenter)));
QDomElement dom_text = dom_doc.createElement("text"); QDomElement dom_text = dom_doc.createElement("text");
dom_text.appendChild(dom_doc.createTextNode(toPlainText())); dom_text.appendChild(dom_doc.createTextNode(toPlainText()));
root_element.appendChild(dom_text); root_element.appendChild(dom_text);
//Info name //Info name
if(!m_info_name.isEmpty()) { if(!m_info_name.isEmpty()) {
QDomElement dom_info_name = dom_doc.createElement("info_name"); QDomElement dom_info_name = dom_doc.createElement("info_name");
@@ -152,25 +153,32 @@ const QDomElement PartDynamicTextField::toXml(QDomDocument &dom_doc) const
} }
/** /**
@brief PartDynamicTextField::fromXml * @brief PartDynamicTextField::fromXml
@param dom_elmt * @param element
*/ */
void PartDynamicTextField::fromXml(const QDomElement &dom_elmt) { bool PartDynamicTextField::fromXml(const QDomElement &dom_elmt)
{
if (dom_elmt.tagName() != xmlName()) { if (dom_elmt.tagName() != xmlName()) {
qDebug() << "PartDynamicTextField::fromXml : Wrong tagg name"; qDebug() << "PartDynamicTextField::fromXml : Wrong tagg name";
return; return false;
} }
double x=0, y=0, z=0, rot=0;
QGraphicsTextItem::setPos( if (propertyDouble(dom_elmt, "x", &x) == PropertyFlags::NoValidConversion ||
dom_elmt.attribute("x", QString::number(0)).toDouble(), propertyDouble(dom_elmt, "y", &y) == PropertyFlags::NoValidConversion ||
dom_elmt.attribute("y", QString::number(0)).toDouble() propertyDouble(dom_elmt, "z", &z) == PropertyFlags::NoValidConversion ||
); propertyDouble(dom_elmt, "rotation", &rot) == PropertyFlags::NoValidConversion)
setZValue(dom_elmt.attribute("z", QString::number(zValue())).toDouble()); return false;
QGraphicsTextItem::setRotation(dom_elmt.attribute("rotation", QString::number(0)).toDouble());
if (dom_elmt.hasAttribute("font")) { QGraphicsTextItem::setPos(x, y);
setZValue(z);
QGraphicsTextItem::setRotation(rot);
QString font;
if (propertyString(dom_elmt, "font", &font) == PropertyFlags::Success)
{
QFont font_; QFont font_;
font_.fromString(dom_elmt.attribute("font")); font_.fromString(font);
setFont(font_); setFont(font_);
} }
else { else {
@@ -181,21 +189,25 @@ void PartDynamicTextField::fromXml(const QDomElement &dom_elmt) {
setFont(QETApp::dynamicTextsItemFont(9)); setFont(QETApp::dynamicTextsItemFont(9));
} }
m_uuid = QUuid(dom_elmt.attribute("uuid", QUuid::createUuid().toString())); propertyUuid(dom_elmt, "uuid", &m_uuid);
setFrame(dom_elmt.attribute("frame", "false") == "true"? true : false); bool frame;
setTextWidth(dom_elmt.attribute("text_width", QString::number(-1)).toDouble()); propertyBool(dom_elmt, "frame", &frame);
double text_width=-1;
propertyDouble(dom_elmt, "text_width", &text_width);
setTextWidth(text_width);
QMetaEnum me = DynamicElementTextItem::textFromMetaEnum(); QMetaEnum me = DynamicElementTextItem::textFromMetaEnum();
m_text_from = DynamicElementTextItem::TextFrom( QString text_from;
me.keyToValue(dom_elmt.attribute("text_from").toStdString().data())); propertyString(dom_elmt, "text_from", &text_from);
m_text_from = DynamicElementTextItem::TextFrom(me.keyToValue(text_from.toStdString().data()));
me = QMetaEnum::fromType<Qt::Alignment>(); me = QMetaEnum::fromType<Qt::Alignment>();
if(dom_elmt.hasAttribute("Halignment")) QString alignment;
setAlignment(Qt::Alignment( if(propertyString(dom_elmt, "Halignment", &alignment) != PropertyFlags::NotFound)
me.keyToValue(dom_elmt.attribute("Halignment").toStdString().data()))); setAlignment(Qt::Alignment(me.keyToValue(alignment.toStdString().data())));
if(dom_elmt.hasAttribute(("Valignment"))) if(propertyString(dom_elmt, "Valignment", &alignment) != PropertyFlags::NotFound)
setAlignment(Qt::Alignment( setAlignment(Qt::Alignment(me.keyToValue(alignment.toStdString().data())) | this->alignment());
me.keyToValue(dom_elmt.attribute("Valignment").toStdString().data())) | this -> alignment());
//Text //Text
QDomElement dom_text = dom_elmt.firstChildElement("text"); QDomElement dom_text = dom_elmt.firstChildElement("text");
@@ -220,6 +232,29 @@ void PartDynamicTextField::fromXml(const QDomElement &dom_elmt) {
QDomElement dom_color = dom_elmt.firstChildElement("color"); QDomElement dom_color = dom_elmt.firstChildElement("color");
if(!dom_color.isNull()) if(!dom_color.isNull())
setColor(QColor(dom_color.text())); setColor(QColor(dom_color.text()));
return true;
}
bool PartDynamicTextField::valideXml(QDomElement& dom_elmt) {
if (propertyDouble(dom_elmt, "x") == PropertyFlags::NoValidConversion ||
propertyDouble(dom_elmt, "y") == PropertyFlags::NoValidConversion ||
propertyDouble(dom_elmt, "z") == PropertyFlags::NoValidConversion ||
propertyDouble(dom_elmt, "rotation") == PropertyFlags::NoValidConversion)
return false;
if (propertyUuid(dom_elmt, "uuid") == PropertyFlags::NoValidConversion)
return false;
if (propertyString(dom_elmt, "text_from"))
return false;
if(propertyString(dom_elmt, "Halignment") == PropertyFlags::NotFound)
return false;
if(propertyString(dom_elmt, "Valignment") == PropertyFlags::NotFound)
return false;
return true;
} }
/** /**
@@ -75,10 +75,10 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart
void startUserTransformation(const QRectF &initial_selection_rect) override; void startUserTransformation(const QRectF &initial_selection_rect) override;
void handleUserTransformation(const QRectF &initial_selection_rect, const QRectF &new_selection_rect) override; void handleUserTransformation(const QRectF &initial_selection_rect, const QRectF &new_selection_rect) override;
const QDomElement toXml(QDomDocument &dom_doc) const override; QDomElement toXml(QDomDocument &dom_doc) const override;
void fromXml(const QDomElement &dom_elmt) override; bool fromXml(const QDomElement &dom_elmt) override;
void fromTextFieldXml(const QDomElement &dom_element); void fromTextFieldXml(const QDomElement &dom_element);
static bool valideXml(QDomElement& dom_elmt);
DynamicElementTextItem::TextFrom textFrom() const; DynamicElementTextItem::TextFrom textFrom() const;
void setTextFrom (DynamicElementTextItem::TextFrom text_from); void setTextFrom (DynamicElementTextItem::TextFrom text_from);
QString text() const; QString text() const;
@@ -116,7 +116,7 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart
m_info_name, m_info_name,
m_composite_text; m_composite_text;
DynamicElementTextItem::TextFrom m_text_from = DynamicElementTextItem::UserText; DynamicElementTextItem::TextFrom m_text_from = DynamicElementTextItem::UserText;
QUuid m_uuid; QUuid m_uuid{QUuid::createUuid()};
bool m_frame = false, bool m_frame = false,
m_first_add = true, m_first_add = true,
m_block_alignment = false; m_block_alignment = false;
+54 -25
View File
@@ -78,56 +78,85 @@ void PartEllipse::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
} }
/** /**
@brief PartEllipse::toXml * @brief PartEllipse::toXml
Export this ellipse in xml * Export this ellipse in xml
@param xml_document : Xml document to use for create the xml element. * @param xml_document : Xml document to use for create the xml element.
@return : an xml element that describe this ellipse * @return : an xml element that describe this ellipse
*/ */
const QDomElement PartEllipse::toXml(QDomDocument &xml_document) const QDomElement PartEllipse::toXml(QDomDocument &xml_document) const
{ {
QDomElement xml_element; QDomElement xml_element;
if (qFuzzyCompare(rect().width(), rect().height())) if (qFuzzyCompare(rect().width(), rect().height()))
{ {
xml_element = xml_document.createElement("circle"); xml_element = xml_document.createElement("circle");
xml_element.setAttribute("diameter", QString("%1").arg(rect().width())); xml_element.appendChild(createXmlProperty(xml_document, "diameter", rect().width()));
} }
else else
{ {
xml_element = xml_document.createElement("ellipse"); xml_element = xml_document.createElement("ellipse");
xml_element.setAttribute("width", QString("%1").arg(rect().width())); xml_element.appendChild(createXmlProperty(xml_document, "width", rect().width()));
xml_element.setAttribute("height", QString("%1").arg(rect().height())); xml_element.appendChild(createXmlProperty(xml_document, "height", rect().height()));
} }
QPointF top_left(sceneTopLeft()); QPointF top_left(sceneTopLeft());
xml_element.setAttribute("x", QString("%1").arg(top_left.x())); xml_element.appendChild(createXmlProperty(xml_document, "x", top_left.x()));
xml_element.setAttribute("y", QString("%1").arg(top_left.y())); xml_element.appendChild(createXmlProperty(xml_document, "y", top_left.y()));
stylesToXml(xml_element); stylesToXml(xml_document, xml_element);
return(xml_element); return(xml_element);
} }
/** /**
@brief PartEllipse::fromXml * @brief PartEllipse::fromXml
Import the properties of this ellipse from a xml element. * Import the properties of this ellipse from a xml element.
@param qde : Xml document to use. * @param qde : Xml document to use.
*/ */
void PartEllipse::fromXml(const QDomElement &qde) bool PartEllipse::fromXml(const QDomElement &qde)
{ {
stylesFromXml(qde); stylesFromXml(qde);
qreal width, height; double x=0, y=0, width=0, height=0;
if (qde.tagName() == "ellipse") if (qde.tagName() == "ellipse")
{ {
width = qde.attribute("width", "0").toDouble(); if (propertyDouble(qde, "width", &width) == PropertyFlags::NoValidConversion ||
height = qde.attribute("height", "0").toDouble(); propertyDouble(qde, "height", &height) == PropertyFlags::NoValidConversion)
return false;
}
else {
if (propertyDouble(qde, "diameter", &width) == PropertyFlags::NoValidConversion)
return false;
height = width;
} }
else
width = height = qde.attribute("diameter", "0").toDouble();
m_rect = QRectF(mapFromScene(qde.attribute("x", "0").toDouble(),
qde.attribute("y", "0").toDouble()), if (propertyDouble(qde, "x", &x) == PropertyFlags::NoValidConversion ||
QSizeF(width, height)); propertyDouble(qde, "y", &y) == PropertyFlags::NoValidConversion)
return false;
m_rect = QRectF(mapFromScene(x, y), QSizeF(width, height));
return true;
}
bool PartEllipse::valideXml(QDomElement& element) {
if (element.tagName() == "ellipse")
{
if (propertyDouble(element, "width") & PropertyFlags::NoValidConversion ||
propertyDouble(element, "height") & PropertyFlags::NoValidConversion)
return false;
}
else {
if (propertyDouble(element, "diameter") & PropertyFlags::NoValidConversion)
return false;
}
if ((propertyDouble(element, "x") & PropertyFlags::NoValidConversion) ||
(propertyDouble(element, "y") & PropertyFlags::NoValidConversion))
return false;
return true;
} }
/** /**
+3 -2
View File
@@ -52,8 +52,9 @@ class PartEllipse : public AbstractPartEllipse
//Name and XML //Name and XML
QString name() const override { return(QObject::tr("ellipse", "element part name")); } QString name() const override { return(QObject::tr("ellipse", "element part name")); }
QString xmlName() const override { return(QString("ellipse")); } QString xmlName() const override { return(QString("ellipse")); }
const QDomElement toXml (QDomDocument &) const override; QDomElement toXml (QDomDocument &) const override;
void fromXml (const QDomElement &) override; bool fromXml (const QDomElement &) override;
static bool valideXml(QDomElement& element);
QPainterPath shape() const override; QPainterPath shape() const override;
QPainterPath shadowShape() const override; QPainterPath shadowShape() const override;
void setRect(const QRectF &rect) override {AbstractPartEllipse::setRect(rect); adjusteHandlerPos();} void setRect(const QRectF &rect) override {AbstractPartEllipse::setRect(rect); adjusteHandlerPos();}

Some files were not shown because too many files have changed in this diff Show More