14.06.2023
59
s1000d/Converter_Source/BlankXML/blank.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!DOCTYPE HTML>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<head>
|
||||
<title></title>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, max-age=0, must-revalidate" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<meta http-equiv="Expires" content="Fri, 01 Jan 1990 00:00:00 GMT" />
|
||||
<link href="app/images/favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
<link rel="stylesheet" href="app/bower_components/normalize.css/normalize.css" />
|
||||
<link rel="stylesheet" href="app/bower_components/normalize.css/jquery-ui.min.css" />
|
||||
<link rel="stylesheet" href="app/bower_components/Select2/css/select2.css" />
|
||||
<link rel="stylesheet" href="app/js/jPlayer-2.9.2/dist/skin/blue.monday/css/jplayer.blue.monday.css" />
|
||||
<link rel="stylesheet" href="app/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css" />
|
||||
<link rel="stylesheet" href="app/css/animate.css" />
|
||||
<link rel="stylesheet" href="app/css/fonts.css" />
|
||||
<link rel="stylesheet" href="app/js/jquery-palette-color-picker-master/src/palette-color-picker.css" />
|
||||
<link rel="stylesheet" href="app/js/Number-Input-Spinner-jQuery-Nice-Number/dist/jquery.nice-number.css" />
|
||||
<link rel="stylesheet" href="app/css/imagePlayer.css" />
|
||||
<link rel="stylesheet" href="app/css/styles.css" />
|
||||
<link rel="stylesheet" href="app/jquery-ui/jquery-ui.min.css" />
|
||||
<script type="text/javascript" src="app/APIWrapper.js"></script>
|
||||
<script type="text/javascript" src="app/Functions.js"></script>
|
||||
<link rel="stylesheet" href="app/dinamika/viewimg.css">
|
||||
<link rel="stylesheet" href="app/dinamika/dinamika.css" />
|
||||
<script type="text/javascript" src="app/dinamika/dinamika.js"></script>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF" class="bodyText" onload="loadPage();setStartTime();onLoadFunction();">
|
||||
<div class="main">
|
||||
</div>
|
||||
<script src="app/bower_components/jquery/dist/jquery.min.js"></script>
|
||||
<script src="app/js/jquery-ui.min.js"></script>
|
||||
<script src="app/js/jquery.scroolly.min.js"></script>
|
||||
<script src="app/jquery-ui/jquery-ui.min.js" />
|
||||
<script src="app/bower_components/jQuery.dotdotdot/src/jquery.dotdotdot.min.js"></script>
|
||||
<script src="app/bower_components/jquery-touchswipe/jquery.touchSwipe.min.js"></script>
|
||||
<script src="app/bower_components/Select2/js/select2.full.min.js"></script>
|
||||
<script src="app/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js"></script>
|
||||
<script src="app/js/tinymce/tinymce.min.js"></script>
|
||||
<script src="app/js/customUploader/common.js"></script>
|
||||
<script src="app/js/cookies.js"></script>
|
||||
<script src="app/js/b4w.whitespace.min.js"></script>
|
||||
<script src="app/js/b4webplayer.js"></script>
|
||||
<script type="text/javascript" src="app/js/jquery-palette-color-picker-master/src/palette-color-picker.js"></script>
|
||||
<script type="text/javascript" src="app/js/Number-Input-Spinner-jQuery-Nice-Number/dist/jquery.nice-number.min.js"></script>
|
||||
<script src="app/js/jPlayer-2.9.2/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
<script src="app/js/jPlayer-2.9.2/dist/add-on/jplayer.playlist.min.js"></script>
|
||||
<script src="app/js/imagePlayer.js"></script>
|
||||
<script src="app/js/scripts.js"></script>
|
||||
<script src="app/js/snap.svg-min.js"></script>
|
||||
<script src="app/common.js"></script>
|
||||
|
||||
<script src="app/dinamika/viewimg.js"></script><script> var viewer = new ViewBigimg(); </script>
|
||||
</body>
|
||||
</html>
|
||||
45
s1000d/Converter_Source/BlankXML/crew.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE dmodule>
|
||||
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1-A/xml_schema_flat/crew.xsd">
|
||||
<identAndStatusSection>
|
||||
<dmAddress>
|
||||
<dmIdent>
|
||||
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||
<language countryIsoCode="" languageIsoCode=""/>
|
||||
<issueInfo inWork="" issueNumber=""/>
|
||||
</dmIdent>
|
||||
<dmAddressItems>
|
||||
<issueDate day="" month="" year=""/>
|
||||
<dmTitle>
|
||||
<techName></techName>
|
||||
<infoName></infoName>
|
||||
</dmTitle>
|
||||
</dmAddressItems>
|
||||
</dmAddress>
|
||||
<dmStatus>
|
||||
<security securityClassification="01"/>
|
||||
<logo>
|
||||
<symbol infoEntityIdent=""/>
|
||||
</logo>
|
||||
<responsiblePartnerCompany enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</responsiblePartnerCompany>
|
||||
<originator enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</originator>
|
||||
<applic>
|
||||
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||
</applic>
|
||||
<qualityAssurance>
|
||||
<firstVerification verificationType="tabtop"/>
|
||||
</qualityAssurance>
|
||||
</dmStatus>
|
||||
</identAndStatusSection>
|
||||
<content>
|
||||
<crew>
|
||||
<descrCrew>
|
||||
</descrCrew>
|
||||
</crew>
|
||||
</content>
|
||||
</dmodule>
|
||||
43
s1000d/Converter_Source/BlankXML/descript.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE dmodule>
|
||||
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1-A/xml_schema_flat/descript.xsd">
|
||||
<identAndStatusSection>
|
||||
<dmAddress>
|
||||
<dmIdent>
|
||||
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||
<language countryIsoCode="" languageIsoCode=""/>
|
||||
<issueInfo inWork="" issueNumber=""/>
|
||||
</dmIdent>
|
||||
<dmAddressItems>
|
||||
<issueDate day="" month="" year=""/>
|
||||
<dmTitle>
|
||||
<techName></techName>
|
||||
<infoName></infoName>
|
||||
</dmTitle>
|
||||
</dmAddressItems>
|
||||
</dmAddress>
|
||||
<dmStatus>
|
||||
<security securityClassification="01"/>
|
||||
<logo>
|
||||
<symbol infoEntityIdent=""/>
|
||||
</logo>
|
||||
<responsiblePartnerCompany enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</responsiblePartnerCompany>
|
||||
<originator enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</originator>
|
||||
<applic>
|
||||
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||
</applic>
|
||||
<qualityAssurance>
|
||||
<firstVerification verificationType="tabtop"/>
|
||||
</qualityAssurance>
|
||||
</dmStatus>
|
||||
</identAndStatusSection>
|
||||
<content>
|
||||
<description>
|
||||
</description>
|
||||
</content>
|
||||
</dmodule>
|
||||
19
s1000d/Converter_Source/BlankXML/dml.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<dml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/dml.xsd">
|
||||
<identAndStatusSection>
|
||||
<dmlAddress>
|
||||
<dmlIdent>
|
||||
<dmlCode modelIdentCode="" senderIdent="" dmlType="c" yearOfDataIssue="" seqNumber="00001"/>
|
||||
<issueInfo issueNumber="001" inWork="00"/>
|
||||
</dmlIdent>
|
||||
<dmlAddressItems>
|
||||
<issueDate year="" month="" day=""/>
|
||||
</dmlAddressItems>
|
||||
</dmlAddress>
|
||||
<dmlStatus issueType="new">
|
||||
<security securityClassification="01" commercialClassification="" caveat=""/>
|
||||
</dmlStatus>
|
||||
</identAndStatusSection>
|
||||
<dmlContent>
|
||||
</dmlContent>
|
||||
</dml>
|
||||
7
s1000d/Converter_Source/BlankXML/edocinfo.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<edi version="1.0" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" identifier="" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<info title="" type="" id="" pubdate="" />
|
||||
<contents scorm="" s1000d="" db="" />
|
||||
<users>
|
||||
</users>
|
||||
</edi>
|
||||
20
s1000d/Converter_Source/BlankXML/imsmanifest.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest version="1.3" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" identifier="" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<metadata>
|
||||
<schema>ADL SCORM</schema>
|
||||
<schemaversion>2004 3rd Edition</schemaversion>
|
||||
</metadata>
|
||||
<organizations default="default">
|
||||
<organization structure="hierarchical" identifier="default">
|
||||
</organization>
|
||||
</organizations>
|
||||
<resources>
|
||||
<resource identifier="SharedFiles" adlcp:scormType="asset" type="webcontent">
|
||||
<file href="app/dinamika/dinamika.css" />
|
||||
<file href="app/dinamika/dinamika.js" />
|
||||
<file href="app/dinamika/viewimg.css" />
|
||||
<file href="app/dinamika/viewimg.js" />
|
||||
<file href="app/dinamika/viewimg.png" />
|
||||
</resource>
|
||||
</resources>
|
||||
</manifest>
|
||||
45
s1000d/Converter_Source/BlankXML/learning.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="app/s1000d_4html.xslt" type="text/xsl"?>
|
||||
<!DOCTYPE dmodule>
|
||||
<dmodule xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/learning.xsd" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<identAndStatusSection>
|
||||
<dmAddress>
|
||||
<dmIdent>
|
||||
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||
<language countryIsoCode="" languageIsoCode=""/>
|
||||
<issueInfo inWork="" issueNumber=""/>
|
||||
</dmIdent>
|
||||
<dmAddressItems>
|
||||
<issueDate day="" month="" year=""/>
|
||||
<dmTitle>
|
||||
<techName></techName>
|
||||
<infoName></infoName>
|
||||
</dmTitle>
|
||||
</dmAddressItems>
|
||||
</dmAddress>
|
||||
<dmStatus>
|
||||
<security securityClassification="01"/>
|
||||
<logo>
|
||||
<symbol infoEntityIdent=""/>
|
||||
</logo>
|
||||
<responsiblePartnerCompany enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</responsiblePartnerCompany>
|
||||
<originator enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</originator>
|
||||
<applic>
|
||||
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||
</applic>
|
||||
<qualityAssurance>
|
||||
<firstVerification verificationType="tabtop"/>
|
||||
</qualityAssurance>
|
||||
</dmStatus>
|
||||
</identAndStatusSection>
|
||||
<content>
|
||||
<learning>
|
||||
<learningAssessment>
|
||||
</learningAssessment>
|
||||
</learning>
|
||||
</content>
|
||||
</dmodule>
|
||||
7
s1000d/Converter_Source/BlankXML/packages.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages version="1.3" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" identifier="" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<packlist>
|
||||
</packlist>
|
||||
<contents>
|
||||
</contents>
|
||||
</packages>
|
||||
60
s1000d/Converter_Source/BlankXML/pm.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet href="../xsl/pm_style.xsl" type="text/xsl" ?>
|
||||
<pm xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/pm.xsd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/">
|
||||
<identAndStatusSection>
|
||||
<pmAddress>
|
||||
<pmIdent>
|
||||
<pmCode pmVolume="" pmIssuer="" modelIdentCode="" pmNumber=""/>
|
||||
<language languageIsoCode="" countryIsoCode=""/>
|
||||
<issueInfo inWork="" issueNumber=""/>
|
||||
</pmIdent>
|
||||
<pmAddressItems>
|
||||
<issueDate year="" day="" month=""/>
|
||||
<pmTitle></pmTitle>
|
||||
</pmAddressItems>
|
||||
</pmAddress>
|
||||
<pmStatus issueType="new">
|
||||
<security securityClassification="01"/>
|
||||
<dataRestrictions>
|
||||
<restrictionInstructions>
|
||||
<dataDistribution></dataDistribution>
|
||||
<exportControl>
|
||||
<exportRegistrationStmt>
|
||||
</exportRegistrationStmt>
|
||||
</exportControl>
|
||||
<dataHandling></dataHandling>
|
||||
<dataDestruction></dataDestruction>
|
||||
<dataDisclosure></dataDisclosure>
|
||||
</restrictionInstructions>
|
||||
<restrictionInfo>
|
||||
<copyright>
|
||||
<copyrightPara>
|
||||
</copyrightPara>
|
||||
</copyright>
|
||||
<policyStatement></policyStatement>
|
||||
<dataConds></dataConds>
|
||||
</restrictionInfo>
|
||||
</dataRestrictions>
|
||||
<responsiblePartnerCompany enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</responsiblePartnerCompany>
|
||||
<originator enterpriseCode="">
|
||||
<enterpriseName></enterpriseName>
|
||||
</originator>
|
||||
<applic>
|
||||
<displayText>
|
||||
</displayText>
|
||||
</applic>
|
||||
<brexDmRef>
|
||||
</brexDmRef>
|
||||
<qualityAssurance>
|
||||
<firstVerification verificationType="tabtop"/>
|
||||
</qualityAssurance>
|
||||
</pmStatus>
|
||||
</identAndStatusSection>
|
||||
<content>
|
||||
<pmEntry>
|
||||
<pmEntryTitle></pmEntryTitle>
|
||||
</pmEntry>
|
||||
</content>
|
||||
</pm>
|
||||
31
s1000d/Converter_Source/BlankXML/scormIndex.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE HTML>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<script>
|
||||
function objectHTMLLoaded() {
|
||||
var iframe = document.getElementById('contentIFrame');
|
||||
iframe.style.height = (parseInt(window.sessionStorage.getItem('contentsHeight'),10)+50)+'px';
|
||||
}
|
||||
function updateDocHeight() { objectHTMLLoaded(); }
|
||||
function setContent(fileName) {
|
||||
c = document.getElementById("content");
|
||||
c.innerHTML = "<object id='contentIFrame' data='"+fileName+"' type='text/html' width='100%' height='100%' style='margin: 0 auto;' frameBorder='0' style='text-indent: 0px;'></object>";
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
}
|
||||
</script>
|
||||
<style> html, body { height:100%; margin:0px; padding:0px; scroll-behavior: smooth !important;}</style>
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF">
|
||||
<table width="100%" height="100%" cellspacing="5px" >
|
||||
<tr height="100%">
|
||||
<td width="300" style="vertical-align: text-top; border-right: 1px solid gray; font-family: Helvetica, Arial, sans-serif; color: rgba(124, 37, 41, 1);">
|
||||
<table id="tocTable">
|
||||
</table>
|
||||
</td>
|
||||
<td><div id="content" style="vertical-align: text-top; width:100%; height:100%;"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
102
s1000d/Converter_Source/BlankXML/singleScormIndex.html
Normal file
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE HTML>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="app/dinamika/singlescorm.css">
|
||||
<script>
|
||||
var curChapter=-1;
|
||||
function objectHTMLLoaded() {
|
||||
var iframe = document.getElementById('view-obj');
|
||||
iframe.style.height = (parseInt(window.sessionStorage.getItem('contentsHeight'),10)+50)+'px';
|
||||
var viewdoc = document.getElementById('view-doc');
|
||||
viewdoc.style.height = iframe.style.height;
|
||||
if(sessionStorage.getItem('scrollY') != "undefined")
|
||||
window.scrollTo({ top: sessionStorage.getItem('scrollY'), behavior: 'auto' });
|
||||
}
|
||||
function updateDocHeight() { objectHTMLLoaded(); }
|
||||
function setContent(fileName, idNum) {
|
||||
document.getElementById('view-obj').setAttribute('data', fileName);
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
setArrowInCurChapter(curChapter, idNum);
|
||||
curChapter = idNum;
|
||||
}
|
||||
function onLoad() {
|
||||
let category_code = "";
|
||||
if (opener) {
|
||||
var navbar = opener.window.document.getElementById('page-navbar');
|
||||
if(navbar) {
|
||||
var liList = navbar.getElementsByTagName('li');
|
||||
if(liList) {
|
||||
var li = liList[liList.length-1];
|
||||
if(li) category_code = li.innerText.split('_').slice(-1)[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
setCategory(category_code, "");
|
||||
if(category_code == "") document.getElementsByClassName('dropdown')[0].style.display = 'inline-block';
|
||||
}
|
||||
function onDropBtnClick() {
|
||||
var cat = document.getElementsByClassName('dropdown-content')[0];
|
||||
if(cat.style.display != 'block') {
|
||||
cat.style.display = 'block'; document.getElementById("arrowChar").innerHTML = "▲";
|
||||
} else {
|
||||
cat.style.display = 'none'; document.getElementById("arrowChar").innerHTML = "▼";
|
||||
}
|
||||
}
|
||||
function setCategory(code, name) {
|
||||
if(code == '') name = "Все категории";
|
||||
document.getElementById('dropText').innerHTML = name;
|
||||
var tab = document.getElementById('tocTree');
|
||||
var liList = tab.getElementsByTagName('*');
|
||||
for (var i = 0; i < liList.length; i++) {
|
||||
if(!liList[i].hasAttribute("roles")) continue;
|
||||
roles = liList[i].getAttribute("roles").split(',');
|
||||
if(code == "") { liList[i].style.display = 'block'; continue; };
|
||||
if(roles.includes(code))
|
||||
liList[i].style.display = 'block';
|
||||
else
|
||||
liList[i].style.display = 'none';
|
||||
}
|
||||
|
||||
}
|
||||
function setArrowInCurChapter(_curCh, _newCh) {
|
||||
var bStr = '<b style="margin-left: -1.3em;">';
|
||||
var arrStr = "➤ <u>";
|
||||
if(_curCh != -1) {
|
||||
if(typeof document.getElementById('tocItemTitle'+_curCh) !== "undefined") {
|
||||
var t = document.getElementById('tocItemTitle'+_curCh).innerHTML;
|
||||
if(t.substring(0, bStr.length) == bStr)
|
||||
document.getElementById('tocItemTitle'+_curCh).innerHTML = t.substring(bStr.length+5, t.length-8);
|
||||
}
|
||||
}
|
||||
var newTitle = bStr+arrStr+document.getElementById('tocItemTitle'+_newCh).innerHTML+"</b></u>";
|
||||
document.getElementById('tocItemTitle'+_newCh).innerHTML = newTitle;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF" onload="onLoad();">
|
||||
<div id="view-toc" class="view-toc" >
|
||||
<div id="view-toc-container" class="view-toc-container">
|
||||
<div class="dropdown">
|
||||
<button class="dropbtn" onclick="onDropBtnClick();"><span id="arrowChar">▼</span> <span id="dropText">Все категории</span></button>
|
||||
<div class="dropdown-content">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="tree" id="tocTree" style="padding-inline-start: 0px;margin-block-start: 0; margin-block-end: 0;">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="view-doc" class="view-doc">
|
||||
<object id="view-obj" data=""
|
||||
type="text/html" style="width:100%;">
|
||||
Ошибка загрузки содержимого.
|
||||
</object>
|
||||
</div>
|
||||
<div id="btnToTop" class="btnToTop" onclick="window.scrollTo({ top: 0, behavior: 'smooth' });" style="display: box;">
|
||||
<i></i>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
s1000d/Converter_Source/Docs/S1000D_Issue_4.1.pdf
Normal file
563
s1000d/Converter_Source/Docs/infoCodes.txt
Normal file
@@ -0,0 +1,563 @@
|
||||
Выписка из модуля данных BREX (содержит требования холдинга ВЕРТОЛЕТЫ РОССИИ к разработке АУК специального применения).
|
||||
Перечень информационных кодов (information code):
|
||||
000 - Function, data for plans and description
|
||||
001 - Title page
|
||||
003 - Change record or highlights See also code 00T and code 00U
|
||||
004 - Access illustration
|
||||
005 - List of abbreviations
|
||||
006 - List of terms
|
||||
007 - List of symbols
|
||||
008 - Technical standard record
|
||||
009 - table of contents
|
||||
010 - General data
|
||||
011 - Function
|
||||
012 - General warnings and cautions and related safety data
|
||||
013 - Numeric index
|
||||
014 - Alphabetic and alphanumeric index
|
||||
015 - List of special materials
|
||||
016 - List of dangerous materials
|
||||
017 - List of related data - refer to code 00V
|
||||
018 - Introduction
|
||||
019 - Supplier list
|
||||
020 - Configuration
|
||||
021 - Copyright
|
||||
022 - Business rules
|
||||
023 - Administrative forms and data
|
||||
028 - General Refer to codes 010 and 018
|
||||
029 - Data structure
|
||||
030 - Technical data
|
||||
031 - Electrical standard parts data
|
||||
033 - Technical data (functional breakdown)
|
||||
034 - Technical data (physical breakdown)
|
||||
040 - Description
|
||||
041 - Description of how it is made
|
||||
042 - Description of function
|
||||
043 - Description of function attributed to crew (functional breakdown)
|
||||
044 - Description of function (physical breakdown)
|
||||
045 - Designated use
|
||||
046 - Dependence on peripheral systems/equipment
|
||||
050 - Diagram/List
|
||||
051 - Wiring diagram
|
||||
052 - Routing diagram
|
||||
053 - Connection list
|
||||
054 - Schematic diagram
|
||||
055 - Location diagram
|
||||
056 - Equipment list
|
||||
057 - Wire list
|
||||
058 - Harness list
|
||||
059 - Maintenance envelope diagram
|
||||
060 - Product support equipment, tools and software
|
||||
061 - Special support equipment and tools
|
||||
062 - Standard support equipment and tools
|
||||
063 - Government supplied support equipment and tools
|
||||
064 - Locally made support equipment and tools
|
||||
065 - Software
|
||||
066 - Support equipment and tools data
|
||||
067 - Decals and instruction plates
|
||||
070 - Consumables, materials and expendables Supplies =consumables, materials and expendables
|
||||
071 - Consumables
|
||||
072 - Materials
|
||||
073 - Expendables
|
||||
074 - Data sheet for dangerous consumables and materials
|
||||
075 - Parts list
|
||||
076 - Fluid
|
||||
077 - Data sheet for consumables and materials
|
||||
078 - Fasteners
|
||||
080 - Mixture and solution
|
||||
081 - Chemical solution
|
||||
082 - Chemical mixture
|
||||
090 - Software documentation
|
||||
096 - Safety items and parts
|
||||
00A - List of illustrations - normally used in front matter data modules
|
||||
00B - List of support equipment - ormally used in front matter data modules
|
||||
00C - List of supplies - normally used in front matter data modules
|
||||
00D - List of spares - normally used in front matter data modules
|
||||
00E - Functional item numbers common information repository
|
||||
00F - Circuit breakers common information repository
|
||||
00G - Parts common information repository
|
||||
00H - Zones common information repository
|
||||
00J - Access panels and doors common information repository
|
||||
00K - Organizations common information repository
|
||||
00L - Supplies - List of products common information repository
|
||||
00M - Supplies - List of requirements common information repository
|
||||
00N - Support equipment common information repository
|
||||
00P - Product Cross-reference table (PCT)
|
||||
00Q - Conditions Cross-reference table (CCT)
|
||||
00T - Change record - refer to code 003
|
||||
00U - Highlights - refer to code 003
|
||||
00V - List of applicable specifications and documentation - refer to code 017
|
||||
00W - Applicability Cross-reference table (ACT)
|
||||
00X - Controls and indicators common information repository
|
||||
00Y - List of charts and forms
|
||||
00Z - List of tables
|
||||
0A1 - Functional and/or physical areas common information repository
|
||||
0A2 - Applicability repository
|
||||
0A3 - Applicability Cross-reference table catalog
|
||||
0B0 - Maintenance planning information
|
||||
0B1 - Time limits
|
||||
0B2 - System maintenance/Inspection tasks list
|
||||
0B3 - Structure maintenance/inspection tasks lists
|
||||
0B4 - Zonal maintenance/inspection tasks list
|
||||
0B5 - Unscheduled check
|
||||
100 - Operation
|
||||
101 - List of consumables associated with operation
|
||||
102 - List of materials associated with operation
|
||||
103 - List of expendables associated with operation
|
||||
104 - List of special support equipment and tools associated with operation
|
||||
105 - List of support equipment and tools associated with operation
|
||||
106 - List of software associated with operation
|
||||
107 - Parts list associated with operation
|
||||
110 - Controls and indicators
|
||||
111 - Controls and indicators This code is used for crew
|
||||
112 - Modes of operation This code is used for crew
|
||||
115 - Displays and alerts
|
||||
120 - Pre-operation
|
||||
121 - Pre-operation procedure This code is used for crew
|
||||
122 - Siting
|
||||
123 - Shelter
|
||||
125 - Pre-operation procedures checklist - this code is used for crew
|
||||
126 - Conditions of readiness
|
||||
127 - Establish operating position
|
||||
130 - Normal operation
|
||||
131 - Normal operation procedure This code is used for crew
|
||||
132 - Start-up procedure for maintenance
|
||||
133 - Shutdown procedure for maintenance
|
||||
134 - Aviation checklist
|
||||
135 - Normal operation procedures checklist This code is used for crew
|
||||
136 - Ground running check
|
||||
138 - Ground running and performance adjustment
|
||||
139 - Nuclear, biological and chemical procedures
|
||||
140 - Emergency procedure
|
||||
141 - Emergency operation procedure This code is used for crew
|
||||
142 - Operation under unusual conditions
|
||||
143 - Radio interference suppression
|
||||
144 - Jamming and electronic countermeasures (ECM)
|
||||
145 - Emergency operation procedures checklist This code is used for crew
|
||||
146 - Emergency shutdown operation procedure (Checklist)
|
||||
150 - Post-operation
|
||||
151 - Post-operation procedure This code is used for crew
|
||||
155 - Post-operation procedures checklist This code is used for crew
|
||||
157 - Establish maintenance position
|
||||
160 - Loading/Unloading procedure
|
||||
161 - Special operation
|
||||
162 - Non-tactical operation
|
||||
169 - Mass and Balance
|
||||
170 - Handling
|
||||
171 - Lifting
|
||||
172 - Jacking
|
||||
173 - Shoring
|
||||
174 - Towing
|
||||
175 - Taxiing
|
||||
176 - Lowering
|
||||
177 - Stabilizing
|
||||
178 - Tethering
|
||||
179 - Debogging
|
||||
180 - Dispatch deviation
|
||||
181 - Deactivate for dispatch deviation
|
||||
200 - Servicing
|
||||
201 - List of consumables associated with servicing
|
||||
202 - List of materials associated with servicing
|
||||
203 - List of expendables associated with servicing
|
||||
204 - List of special support equipment and tools associated with servicing
|
||||
205 - List of support equipment and tools associated with servicing
|
||||
206 - List of software associated with servicing
|
||||
207 - Parts list associated with servicing
|
||||
210 - Fill
|
||||
211 - Refuel
|
||||
212 - Fill with oil
|
||||
213 - Fill with oxygen
|
||||
214 - Fill with nitrogen
|
||||
215 - Fill with air
|
||||
216 - Fill with water
|
||||
217 - Fill with hydrogen
|
||||
218 - Fill with other liquid
|
||||
219 - Fill with other gas
|
||||
220 - Drain liquid and release pressure
|
||||
221 - Defuel and drain fuel
|
||||
222 - Drain oil
|
||||
223 - Release oxygen pressure
|
||||
224 - Release nitrogen pressure
|
||||
225 - Release air pressure
|
||||
226 - Drain water
|
||||
227 - Release hydrogen pressure
|
||||
228 - Drain other liquid
|
||||
229 - Release other gas pressure
|
||||
230 - Bleed and prime
|
||||
231 - Bleed
|
||||
232 - Prime
|
||||
233 - Dry
|
||||
234 - Facility requirements associated with servicing
|
||||
236 - Fill with inert gas/inert liquid
|
||||
237 - Evacuate
|
||||
240 - Lubrication
|
||||
241 - Oil
|
||||
242 - Grease
|
||||
243 - Dry film
|
||||
250 - Clean and apply surface protection
|
||||
251 - Clean with chemical agent
|
||||
252 - Clean by abrasive blast
|
||||
253 - Clean by ultrasonics
|
||||
254 - Clean mechanically
|
||||
255 - Purge
|
||||
256 - Polish and apply wax
|
||||
257 - Paint and apply marking
|
||||
258 - Other procedure to clean
|
||||
259 - Other procedure to protect surfaces
|
||||
260 - Remove and prevent ice and remove contamination
|
||||
261 - Remove ice
|
||||
262 - Prevent ice
|
||||
263 - Use disinfectant/Sanitize
|
||||
264 - Remove contamination
|
||||
270 - Adjust, align and calibrate
|
||||
271 - Adjust
|
||||
272 - Align
|
||||
273 - Calibrate
|
||||
274 - Harmonize
|
||||
275 - Grooming
|
||||
276 - Rig
|
||||
277 - Compensate
|
||||
278 - Easily and quickly adjust after a battle damage repair
|
||||
279 - Easily and quickly align after a battle damage repair
|
||||
280 - Inspection
|
||||
281 - Scheduled inspection
|
||||
282 - Unscheduled inspection
|
||||
283 - Special regular inspection
|
||||
284 - Special irregular inspection
|
||||
285 - Structure inspections for allowable damage limits
|
||||
286 - Structure inspections for repair
|
||||
288 - Overhaul and retirement schedule
|
||||
289 - Check for filling quantity
|
||||
290 - Change of liquid/gas
|
||||
292 - Change of oil Code 222 + code 212
|
||||
293 - Change of oxygen Code 223 + code 213
|
||||
294 - Change of nitrogen Code 224 + code 214
|
||||
295 - Change of air Code 225 + code 215
|
||||
296 - Change of water Code 226 + code 216
|
||||
297 - Change of hydrogen
|
||||
298 - Change of other liquid Code 228 + code 218
|
||||
299 - Change of other gas Code 229 + code 219
|
||||
300 - Examinations, tests and checks
|
||||
301 - List of consumables associated with examinations, tests and checks
|
||||
302 - List of materials associated with examinations, tests and checks
|
||||
303 - List of expendables associated with examinations, tests and checks
|
||||
304 - List of special support equipment and tools associated with examinations, tests and checks
|
||||
305 - List of support equipment and tools associated with examinations, tests and checks
|
||||
306 - List of software associated with examinations, tests and checks
|
||||
307 - Parts list associated with examinations, tests and checks
|
||||
310 - Visual examination
|
||||
311 - Visual examination without special equipment
|
||||
312 - Examination with a borescope
|
||||
315 - QA requirements
|
||||
320 - Operation test
|
||||
321 - Unit Break-in
|
||||
322 - Test and inspection
|
||||
330 - Test preparation
|
||||
331 - Connection of test equipment
|
||||
332 - Removal of test equipment
|
||||
333 - Installation of the unit before the test
|
||||
334 - Removal of the unit after the test
|
||||
335 - Concluding Final measures
|
||||
340 - Function test
|
||||
341 - Manual test
|
||||
342 - Automatic test
|
||||
343 - BIT
|
||||
344 - Compatibility test
|
||||
345 - System test
|
||||
346 - Other check
|
||||
347 - Start-up procedure for test
|
||||
348 - Finial acceptance test (FAT)
|
||||
349 - Test results
|
||||
350 - Structure test
|
||||
351 - Test for surface cracks with dye penetrant
|
||||
352 - Test for surface cracks with magnetic particles
|
||||
353 - Test for cracks and other defects with eddy current
|
||||
354 - Test for cracks and other defects with X-rays
|
||||
355 - Test for cracks and other defects with ultrasonic
|
||||
356 - Hardness test
|
||||
357 - Gamma ray
|
||||
358 - Resonance frequency
|
||||
359 - Thermographic test
|
||||
360 - Design data/tolerances check
|
||||
361 - Dimensions check
|
||||
362 - Pressure check
|
||||
363 - Flow check
|
||||
364 - Leak check
|
||||
365 - Continuity check
|
||||
366 - Resistance check
|
||||
367 - Electrical power check
|
||||
368 - Signal strength check
|
||||
369 - Other check
|
||||
370 - Monitor the condition
|
||||
371 - Oil analysis
|
||||
372 - Vibration analysis
|
||||
373 - Tracking check
|
||||
374 - Fuel analysis
|
||||
375 - Shooting accidental discharge analysis
|
||||
376 - Check post application of adhesive
|
||||
377 - Contamination analysis
|
||||
390 - Sample test
|
||||
396 - Flight control surface movement
|
||||
397 - Landing gear movement
|
||||
398 - Product configuration
|
||||
400 - Fault reports and isolation procedures
|
||||
401 - List of consumables associated with fault diagnosis
|
||||
402 - List of materials associated with fault diagnosis
|
||||
403 - List of expendables associated with fault diagnosis
|
||||
404 - List of special support equipment and tools associated with fault diagnosis
|
||||
405 - List of support equipment and tools associated with fault diagnosis
|
||||
406 - List of software associated with fault diagnosis
|
||||
407 - Parts list associated with fault diagnosis
|
||||
410 - General fault description
|
||||
411 - Isolated fault
|
||||
412 - Detected fault
|
||||
413 - Observed fault
|
||||
414 - Correlated fault
|
||||
415 - Impact of fault
|
||||
420 - General fault isolation procedure
|
||||
421 - Fault isolation procedure
|
||||
429 - Diagnostics
|
||||
430 - Fault isolation task supporting data
|
||||
440 - Index
|
||||
441 - Fault code index
|
||||
442 - Maintenance message index
|
||||
443 - Post-troubleshooting shutdown procedures
|
||||
500 - Disconnect, remove and disassemble procedures
|
||||
501 - List of consumables associated with removal
|
||||
502 - List of materials associated with removal
|
||||
503 - List of expendables associated with removal
|
||||
504 - List of special support equipment and tools associated with removal
|
||||
505 - List of support equipment and tools associated with removal
|
||||
506 - List of software associated with removal
|
||||
507 - Parts list associated with removal
|
||||
510 - Disconnect procedure
|
||||
520 - Remove procedure
|
||||
521 - Return to basic configuration Undressing
|
||||
522 - Remove support equipment/Remove from support equipment
|
||||
523 - Preparation before removal
|
||||
524 - Follow-on maintenance
|
||||
525 - Ammunition unloading
|
||||
526 - Deactivate launching device
|
||||
530 - Disassemble procedure
|
||||
531 - Disassemble procedure on operation site
|
||||
540 - Open for access procedure
|
||||
550 - Unload software procedure
|
||||
551 - Fault monitoring storage readout (downloading)
|
||||
552 - Data erasing
|
||||
553 - Display, copy and print of data
|
||||
560 - Deactivation procedure
|
||||
561 - De-Energize electrical network
|
||||
562 - Depressurize hydraulics
|
||||
563 - Deactivation maintenance practice
|
||||
600 - Repairs and locally make procedures and data
|
||||
601 - List of consumables associated with repairs
|
||||
602 - List of materials associated with repairs
|
||||
603 - List of expendables associated with repairs
|
||||
604 - List of special support equipment and tools associated with repairs
|
||||
605 - List of support equipment and tools associated with repairs
|
||||
606 - List of software associated with repairs
|
||||
607 - Parts list associated with repairs
|
||||
610 - Add material
|
||||
611 - Insulation
|
||||
612 - Metalize
|
||||
613 - Pot
|
||||
614 - Remetal
|
||||
615 - Retread
|
||||
620 - Attach material
|
||||
621 - Bond
|
||||
622 - Crimp
|
||||
623 - Braze
|
||||
624 - Rivet
|
||||
625 - Solder
|
||||
626 - Splice
|
||||
627 - Weld
|
||||
630 - Change the mechanical strength/structure of material
|
||||
631 - Anneal
|
||||
632 - Case harden
|
||||
633 - Cure
|
||||
634 - Normalize
|
||||
635 - Shot-peen
|
||||
636 - Temper
|
||||
638 - Other treatment
|
||||
639 - Other process to change the mechanical strength/structure of material
|
||||
640 - Change the surface finish of material
|
||||
641 - Anodize
|
||||
642 - Buff
|
||||
643 - Burnish
|
||||
644 - Chromate
|
||||
645 - Hone
|
||||
646 - Lap
|
||||
647 - Plate
|
||||
648 - Polish
|
||||
649 - Clean-up of dents, cracks and scratches
|
||||
650 - Remove material
|
||||
651 - Abrasive blast
|
||||
652 - Bore/drill/ream
|
||||
653 - Electrical/electrochemical/chemical etch
|
||||
654 - Broach
|
||||
655 - Grind
|
||||
656 - Mill
|
||||
657 - Thread/tap
|
||||
658 - Turn
|
||||
659 - Other process to remove material
|
||||
660 - Structure repair procedure and data
|
||||
661 - Allowable damage
|
||||
662 - Temporary repair procedure
|
||||
663 - Standard repair procedure
|
||||
664 - Special repair procedure
|
||||
665 - Fly-in repair procedure
|
||||
666 - Material classification
|
||||
667 - Structure classification
|
||||
668 - Allowable damage of composite structures
|
||||
669 - Allowable damage of mixed structures
|
||||
670 - Locally make procedure and data
|
||||
671 - Making of parts
|
||||
680 - Battle damage repair procedure and data
|
||||
681 - Damage repair symbol marking
|
||||
682 - Identification of damaged hardware
|
||||
683 - Damage assessment
|
||||
684 - Utilization degradation
|
||||
685 - Repair procedure
|
||||
686 - Isolation procedure
|
||||
687 - Function test after battle damage repair
|
||||
688 - Battle damage repair kit
|
||||
689 - Damage repair
|
||||
690 - Miscellaneous
|
||||
691 - Marking
|
||||
692 - Connector repair
|
||||
693 - Varnish
|
||||
700 - Assemble, install and connect procedures
|
||||
701 - List of consumables associated with installation
|
||||
702 - List of materials associated with installation
|
||||
703 - List of expendables associated with installation
|
||||
704 - List of special support equipment and tools associated with installation
|
||||
705 - List of support equipment and tools associated with installation
|
||||
706 - List of software associated with installation
|
||||
707 - Parts list associated with installation
|
||||
710 - Assemble procedure
|
||||
711 - Tighten procedure
|
||||
712 - Lock procedure
|
||||
713 - Pack procedure
|
||||
714 - Assemble procedure on operation site
|
||||
720 - Install procedure
|
||||
721 - Build up to usable configuration Dressing
|
||||
722 - Install support equipment/Install on support equipment
|
||||
723 - Preparation before installation
|
||||
724 - Follow-on maintenance
|
||||
725 - Ammunition loading
|
||||
726 - Activate launching device
|
||||
727 - Site location plan
|
||||
728 - Foundation preparation
|
||||
730 - Connect procedure
|
||||
740 - Close after access procedure
|
||||
750 - Load software procedure
|
||||
752 - Data loading
|
||||
760 - Reactivation procedure
|
||||
761 - Energize electrical network
|
||||
762 - Pressurize hydraulics
|
||||
800 - Package, handling, storage, and transportation
|
||||
801 - List of consumables associated with storage
|
||||
802 - List of materials associated with storage
|
||||
803 - List of expendables associated with storage
|
||||
804 - List of special support equipment and tools associated with storage
|
||||
805 - List of support equipment and tools associated with storage
|
||||
806 - List of software associated with storage
|
||||
807 - Parts list associated with storage
|
||||
810 - Preservation procedure
|
||||
811 - Preparation for vehicle transportation
|
||||
812 - Shipping and storage - General
|
||||
820 - Procedure to remove preservation material
|
||||
830 - Procedure to put item in containers
|
||||
831 - Vehicle loading
|
||||
832 - Procedure to pack items
|
||||
840 - Procedure to remove item from containers
|
||||
841 - Vehicle unloading
|
||||
842 - Procedure to unpack items
|
||||
850 - Procedure to keep item serviceable when in storage
|
||||
860 - Procedure to move item when in storage
|
||||
870 - Procedure to prepare item for use after storage
|
||||
871 - Set on condition
|
||||
880 - Procedure when item got out of storage
|
||||
890 - Life data of item when in storage
|
||||
900 - Miscellaneous
|
||||
901 - Miscellaneous list of consumables
|
||||
902 - Miscellaneous list of materials
|
||||
903 - Miscellaneous list of expendables
|
||||
904 - Miscellaneous list of special support equipment and tools
|
||||
905 - Miscellaneous list of support equipment and tools
|
||||
906 - Miscellaneous list of software
|
||||
907 - Miscellaneous parts list
|
||||
910 - Miscellaneous
|
||||
911 - Illustration
|
||||
912 - Handling procedure
|
||||
913 - General maintenance procedure
|
||||
914 - Container data module
|
||||
915 - Facilities
|
||||
916 - Maintenance allocation
|
||||
917 - Non-S1000D publication
|
||||
920 - Change = Remove and install
|
||||
921 - Change = Remove and install a new item
|
||||
922 - Change = Remove and install the removed item
|
||||
923 - Change = Disconnect and connect an item
|
||||
930 - Service bulletin
|
||||
933 - Accomplishment procedure - Task set
|
||||
934 - Material information
|
||||
940 - Provisioning data
|
||||
941 - Illustrated parts data
|
||||
942 - Numerical index
|
||||
950 - Composite information
|
||||
951 - Generic process
|
||||
952 - Generic learning content
|
||||
961 - Calculation worksheets
|
||||
970 - Approved vendor processes
|
||||
980 - Environmental protection, fire-fighting and rescue
|
||||
981 - Air cleaning
|
||||
982 - Sewage treatment
|
||||
989 - Fire-fighting and rescue
|
||||
990 - Neutralization and disposal
|
||||
991 - Neutralization of ordnance
|
||||
992 - Neutralization of substance
|
||||
996 - Disposal of ordnance
|
||||
997 - Disposal of product
|
||||
998 - Disposal of substance
|
||||
C00 - Computer systems, software and data
|
||||
C01 - Miscellaneous list of consumables associated with computer systems, software and data
|
||||
C02 - Miscellaneous list of materials associated with computer systems, software and data
|
||||
C03 - Miscellaneous list of expendables associated with computer systems, software and data
|
||||
C04 - Miscellaneous list of special support equipment and tools associated with computer systems, software and data
|
||||
C05 - Miscellaneous list of support equipment and tools associated with computer systems, software and data
|
||||
C06 - Miscellaneous list of software associated with computer systems, software and data
|
||||
C07 - Miscellaneous parts list associated with computer systems, software and data
|
||||
C13 - Notes
|
||||
C14 - Problem handling
|
||||
C15 - Summary of content
|
||||
C20 - System administration
|
||||
C21 - System monitoring
|
||||
C22 - Description of command
|
||||
C23 - Connect hardware
|
||||
C25 - System recovery
|
||||
C26 - Backup and restore
|
||||
C27 - Reboot
|
||||
C30 - Coordinate
|
||||
C31 - Defragmentation
|
||||
C32 - Input/Output media
|
||||
C33 - Disk mirroring
|
||||
C34 - Clear interference
|
||||
C35 - Time check
|
||||
C36 - Compatibility check
|
||||
C50 - Manage data
|
||||
C51 - Move data
|
||||
C52 - Manipulate/Use data
|
||||
C53 - Description of data storage
|
||||
C60 - Programming information
|
||||
C61 - Program flow chart
|
||||
C62 - Processing reference guide
|
||||
C70 - Security and privacy
|
||||
C72 - Security information
|
||||
C73 - Security procedures
|
||||
C74 - List of security/classification codes
|
||||
C75 - Access control
|
||||
C90 - Miscellaneous
|
||||
C91 - Quality assurance
|
||||
C92 - Vendor information
|
||||
C95 - Naming conventions
|
||||
C96 - Technical requirements
|
||||
3486
s1000d/Converter_Source/Docs/Образец задания хотспотов.svg
Normal file
|
After Width: | Height: | Size: 5.9 MiB |
11
s1000d/Converter_Source/Docs/Образец задания хотспотов.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
1 - стойка
|
||||
2 - стрела
|
||||
3 - крюк с вертлюгом
|
||||
4 - гидроцилиндр силовой
|
||||
5 - гидроцилиндр поворота
|
||||
6 - image1.svg
|
||||
7 - кронштейн
|
||||
9 - болт крепления нижней опоры
|
||||
10 - болт крепления верхней опоры (5 шт.)
|
||||
11 - image2.svg
|
||||
15 - колокол
|
||||
635
s1000d/Converter_Source/EDL/common.js
Normal file
@@ -0,0 +1,635 @@
|
||||
var totalCorrect = 0;
|
||||
var count = 0;
|
||||
var verboseCorrectAnswers = [];
|
||||
var startTimeStamp = new Date();
|
||||
var lable1;
|
||||
var lable2;
|
||||
var lable3;
|
||||
var lable4;
|
||||
var lable5;
|
||||
var lable6;
|
||||
var lable7;
|
||||
|
||||
var langcode;
|
||||
try {
|
||||
langcode = document.getElementsByClassName('language')[0].getAttribute('id');
|
||||
}
|
||||
|
||||
catch (e){
|
||||
|
||||
}
|
||||
|
||||
|
||||
switch (langcode) {
|
||||
case 'en' :
|
||||
lable1 = ' Testing completed. Your result ';
|
||||
lable2 = ' correct answers from ';
|
||||
lable3 = 'Question Number';
|
||||
lable4 = 'Question text';
|
||||
lable5 = 'Correct answer';
|
||||
lable6 = 'The answer is incorrect.';
|
||||
lable7 = 'The answer is correct.';
|
||||
break;
|
||||
case 'ru' :
|
||||
lable1 = ' Тестирование завершено. Ваш результат ';
|
||||
lable2 = ' правильных ответов из ';
|
||||
lable3 = 'Номер вопроса';
|
||||
lable4 = 'Текст вопроса';
|
||||
lable5 = 'Правильность ответа';
|
||||
lable6 = 'Ответ неверный.';
|
||||
lable7 = 'Ответ верный.';
|
||||
break;
|
||||
case 'es' :
|
||||
lable1 = ' Test completado. Su resultado ';
|
||||
lable2 = ' respuestas correctas de ';
|
||||
lable3 = 'Número de la pregunta';
|
||||
lable4 = 'Texto de la pregunta';
|
||||
lable5 = 'Corrección de la respuesta';
|
||||
lable6 = 'Respuesta incorrecta';
|
||||
lable7 = 'Respuesta correcta';
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// For Hotspots
|
||||
var selectedHotspot = null;
|
||||
|
||||
function toggle_visibility(id)
|
||||
{
|
||||
var e = document.getElementById(id);
|
||||
if(e.style.display == 'block' | e.style == null)
|
||||
{
|
||||
e.style.display = 'none';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.style.display = 'block';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function navToContent(url)
|
||||
{
|
||||
}
|
||||
|
||||
function activate_flash_hotspots(hs_id, hs_title, icn)
|
||||
{
|
||||
alert(icn + " \r\n" + hs_id + " \r\n" + hs_title);
|
||||
}
|
||||
|
||||
function openWindow(theFileName) {
|
||||
|
||||
alert(theFileName);
|
||||
|
||||
}
|
||||
|
||||
function showNextQuestion()
|
||||
{
|
||||
var nextCount = count + 1;
|
||||
document.getElementById('questionNumber' + count).style.display = 'none';
|
||||
if (document.getElementById('questionNumber' + nextCount))
|
||||
{
|
||||
document.getElementById('questionNumber' + nextCount).style.display = 'block';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('grade').style.display = 'block';
|
||||
console.log(verboseCorrectAnswers);
|
||||
if (totalCorrect == 1)
|
||||
{
|
||||
document.getElementById('grade').innerHTML = lable1 + totalCorrect + lable2 + count + '.';
|
||||
//verboseCorrectAnswers.join('/');
|
||||
assessmentResult();
|
||||
showResultTable(verboseCorrectAnswers);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('grade').innerHTML = lable1 + totalCorrect + lable2 + count + '.';
|
||||
assessmentResult();
|
||||
showResultTable(verboseCorrectAnswers);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showResultTable (resultArray) {
|
||||
var stringInnerTable = "";
|
||||
var verboseIsCorrect = "";
|
||||
stringInnerTable += '<table class="S1000DrandomList"><tr><th>'+lable3+'</th><th>'+lable4+'</th><th>'+lable5+'</th></tr>';
|
||||
for (index = 0; index < resultArray.length; ++index) {
|
||||
switch (resultArray[index][3]) {
|
||||
case 0: verboseIsCorrect = '<span style="color: red">'+lable6+'</span>'; break;
|
||||
case 1: verboseIsCorrect = '<span style="color: green">'+lable7+'</span>'; break;
|
||||
}
|
||||
stringInnerTable += '<tr>';
|
||||
stringInnerTable += '<td>'+resultArray[index][0]+'</td>';
|
||||
stringInnerTable += '<td>'+resultArray[index][1]+'</td>';
|
||||
stringInnerTable += '<td>'+verboseIsCorrect+'</td>';
|
||||
stringInnerTable += '</tr>';
|
||||
}
|
||||
stringInnerTable += '</table>';
|
||||
document.getElementById('tableResult').innerHTML = stringInnerTable;
|
||||
}
|
||||
|
||||
function assessmentResult () {
|
||||
var ratio = totalCorrect/count;
|
||||
if (ratio > 0.7) {
|
||||
doSetValue("cmi.score.scaled", ratio);
|
||||
doSetValue("cmi.success_status", "passed");}
|
||||
else {
|
||||
doSetValue("cmi.score.scaled", totalCorrect);
|
||||
doSetValue("cmi.success_status", "failed" );
|
||||
|
||||
}
|
||||
doSetValue("cmi.completion_status", "completed");
|
||||
}
|
||||
|
||||
|
||||
function learnResult () {
|
||||
|
||||
doSetValue("cmi.completion_status", "completed");
|
||||
doSetValue("cmi.success_status", "passed");
|
||||
}
|
||||
|
||||
window.onunload = function() {
|
||||
var endTimeStamp = new Date();
|
||||
var totalMilliseconds = (endTimeStamp.getTime() - startTimeStamp.getTime());
|
||||
var scormTime = ConvertMilliSecondsIntoSCORM2004Time(totalMilliseconds);
|
||||
doSetValue("cmi.session_time",scormTime);
|
||||
doSetValue( "cmi.exit", "suspend" );
|
||||
doTerminate();
|
||||
}
|
||||
|
||||
function checkIfSingleTrue(radioObj, quizType)
|
||||
{
|
||||
var radioLength = radioObj.answerChoiceRadio.length;
|
||||
var feedbackCorrect = document.getElementById('feedbackCorrect');
|
||||
var feedbackIncorrect = document.getElementById('feedbackIncorrect');
|
||||
var answer = null;
|
||||
var isCorrect =0;
|
||||
|
||||
for(var i=0; i < radioLength; i++)
|
||||
{
|
||||
if(radioObj.answerChoiceRadio[i].checked)
|
||||
{
|
||||
answer = radioObj.answerChoiceRadio[i].value.split(", ");
|
||||
}
|
||||
}
|
||||
|
||||
// Show feedback if Knowledge Check or go to next question for Assessment
|
||||
if (quizType == 'Knowledge Check')
|
||||
{
|
||||
// is answer correct?
|
||||
if (answer)
|
||||
{
|
||||
if (answer[1])
|
||||
{
|
||||
feedbackCorrect.style.display = 'block';
|
||||
feedbackIncorrect.style.display = 'none';
|
||||
}
|
||||
else
|
||||
{
|
||||
feedbackIncorrect.style.display = 'block';
|
||||
feedbackCorrect.style.display = 'none';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
feedbackCorrect.style.display = 'none';
|
||||
feedbackIncorrect.style.display = 'none';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if answer is correct
|
||||
if (answer)
|
||||
{
|
||||
if (answer[1])
|
||||
{
|
||||
isCorrect = 1;
|
||||
totalCorrect++;
|
||||
|
||||
}
|
||||
}
|
||||
count++;
|
||||
var questionText = radioObj.getElementsByClassName("questionText")[0].innerHTML;
|
||||
verboseCorrectAnswers.push([count,questionText,answer[1], isCorrect]);
|
||||
showNextQuestion();
|
||||
}
|
||||
}
|
||||
|
||||
function checkIfMultipleTrue(checkObj, quizType)
|
||||
{
|
||||
var feedbackCorrect = document.getElementById('feedbackCorrect');
|
||||
var feedbackIncorrect = document.getElementById('feedbackIncorrect');
|
||||
var checkLength = checkObj.answerChoiceCheckbox.length;
|
||||
var answer = null;
|
||||
var correctAnswers = [];
|
||||
var chosenAnswers = [];
|
||||
var correctChosenAnswers = [];
|
||||
var numberIncorrect = 0;
|
||||
var isCorrect = 0;
|
||||
|
||||
for(var i=0; i < checkLength; i++)
|
||||
{
|
||||
answer = checkObj.answerChoiceCheckbox[i].value.split(", ");
|
||||
if (answer[1] != "")
|
||||
{
|
||||
correctAnswers.push(answer[1]);
|
||||
}
|
||||
if (checkObj.answerChoiceCheckbox[i].checked)
|
||||
{
|
||||
chosenAnswers.push(answer[0]);
|
||||
if (answer[1] != "")
|
||||
{
|
||||
correctChosenAnswers.push(answer[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Show feedback if Knowledge Check or go to next question for Assessment
|
||||
if (quizType == 'Knowledge Check')
|
||||
{
|
||||
// Check if answer is correct
|
||||
if (chosenAnswers.length == correctChosenAnswers.length)
|
||||
{
|
||||
if(correctChosenAnswers.length == correctAnswers.length)
|
||||
{
|
||||
feedbackIncorrect.style.display = 'none';
|
||||
feedbackCorrect.style.display = 'block';
|
||||
}
|
||||
else
|
||||
{
|
||||
feedbackIncorrect.style.display = 'block';
|
||||
feedbackCorrect.style.display = 'none';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
feedbackIncorrect.style.display = 'block';
|
||||
feedbackCorrect.style.display = 'none';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if answer is correct
|
||||
if (chosenAnswers.length == correctChosenAnswers.length)
|
||||
{
|
||||
if(correctChosenAnswers.length == correctAnswers.length)
|
||||
{
|
||||
isCorrect = 1;
|
||||
totalCorrect++;
|
||||
}
|
||||
}
|
||||
count++;
|
||||
var questionText = checkObj.getElementsByClassName("questionText")[0].innerHTML;
|
||||
verboseCorrectAnswers.push([count,questionText,correctChosenAnswers.length, isCorrect]);
|
||||
showNextQuestion();
|
||||
}
|
||||
}
|
||||
|
||||
function checkIfMatchingTrue(selectObj, selectBoxCount)
|
||||
{
|
||||
var isCorrect = 0;
|
||||
var correctAnswers = [];
|
||||
var chosenAnswers = [];
|
||||
var correctChosenAnswers = [];
|
||||
var selected = null;
|
||||
var selectedAnswer = null;
|
||||
var correctAnswer = null;
|
||||
var numberIncorrect = 0;
|
||||
|
||||
for (var i=0; i < selectBoxCount; i++)
|
||||
{
|
||||
selectedAnswer = selectObj[i].value;
|
||||
correctAnswer = selectObj[i].name;
|
||||
|
||||
if (selectedAnswer != correctAnswer)
|
||||
{
|
||||
numberIncorrect++;
|
||||
}
|
||||
}
|
||||
|
||||
// WOULD HAVE SOMETHING LIKE THE FOLLOWING IF ABLE TO TEST AND WOULD NEED TO PASS IN quizType
|
||||
// Show feedback if Knowledge Check or go to next question for Assessment
|
||||
//if (quizType == 'Knowledge Check')
|
||||
|
||||
if (numberIncorrect == 0)
|
||||
{
|
||||
isCorrect = 1;
|
||||
totalCorrect++;
|
||||
}
|
||||
count++;
|
||||
var questionText = selectObj.getElementsByClassName("questionText")[0].innerHTML;
|
||||
verboseCorrectAnswers.push([count,questionText,correctChosenAnswers.length, isCorrect]);
|
||||
showNextQuestion();
|
||||
|
||||
}
|
||||
|
||||
// NOTE: This function does not deal with Knowledge Check because there were no Sortable Questions in Knowledge Check to test
|
||||
function checkSortableCorrect (checkObj, position)
|
||||
{
|
||||
var feedbackCorrect = document.getElementById('feedbackCorrect');
|
||||
var feedbackIncorrect = document.getElementById('feedbackIncorrect');
|
||||
var questionNumber = "#questionNumber" + position;
|
||||
var newOrdering = $(questionNumber).find( ".sortable" ).sortable('toArray');
|
||||
var isCorrect = true;
|
||||
|
||||
for (var v = 0; v < newOrdering.length; v++)
|
||||
{
|
||||
if (newOrdering[v] != (v + 1))
|
||||
{
|
||||
isCorrect= false;
|
||||
}
|
||||
}
|
||||
|
||||
// WOULD HAVE SOMETHING LIKE THE FOLLOWING IF ABLE TO TEST AND WOULD NEED TO PASS IN quizType
|
||||
// Show feedback if Knowledge Check or go to next question for Assessment
|
||||
/*if (quizType == 'Knowledge Check')
|
||||
{
|
||||
if (isCorrect)
|
||||
{
|
||||
feedbackCorrect.style.display = 'block';
|
||||
feedbackIncorrect.style.display = 'none';
|
||||
//noAnswerChosen.style.display = 'none'; //line not working completely
|
||||
}
|
||||
else
|
||||
{
|
||||
feedbackIncorrect.style.display = 'block';
|
||||
feedbackCorrect.style.display = 'none';
|
||||
//noAnswerChosen.style.display = 'none'; //line not working completely
|
||||
}
|
||||
}
|
||||
else
|
||||
{*/
|
||||
if (isCorrect)
|
||||
{
|
||||
totalCorrect++;
|
||||
}
|
||||
count++;
|
||||
var isCorrect2 = 0;
|
||||
if (isCorrect) {
|
||||
isCorrect2= 1;
|
||||
}
|
||||
var questionText = checkObj.getElementsByClassName("questionText")[0].innerHTML;
|
||||
verboseCorrectAnswers.push([count,questionText,newOrdering.length, isCorrect2]);
|
||||
showNextQuestion();
|
||||
//}
|
||||
}
|
||||
|
||||
function shuffle(elems)
|
||||
{
|
||||
allElems = (function(){
|
||||
var ret = [], l = elems.length;
|
||||
while (l--) { ret[ret.length] = elems[l]; }
|
||||
return ret;
|
||||
})();
|
||||
|
||||
var shuffled = (function(){
|
||||
var l = allElems.length, ret = [];
|
||||
while (l--) {
|
||||
var random = Math.floor(Math.random() * allElems.length),
|
||||
randEl = allElems[random].cloneNode(true);
|
||||
allElems.splice(random, 1);
|
||||
ret[ret.length] = randEl;
|
||||
}
|
||||
return ret;
|
||||
})(), l = elems.length;
|
||||
|
||||
while (l--) {
|
||||
elems[l].parentNode.insertBefore(shuffled[l], elems[l].nextSibling);
|
||||
elems[l].parentNode.removeChild(elems[l]);
|
||||
}
|
||||
}
|
||||
|
||||
function showSlide(currentSlide, direction)
|
||||
{
|
||||
var nextSlide = parseFloat(currentSlide) + 1;
|
||||
var previousSlide = parseFloat(currentSlide) - 1;
|
||||
|
||||
if (direction == 'next')
|
||||
{
|
||||
document.getElementById('slide' + currentSlide).style.display = 'none';
|
||||
if (document.getElementById('slide' + nextSlide))
|
||||
{
|
||||
document.getElementById('slide' + nextSlide).style.display = 'block';
|
||||
}
|
||||
}
|
||||
if (direction == 'previous')
|
||||
{
|
||||
document.getElementById('slide' + currentSlide).style.display = 'none';
|
||||
if (document.getElementById('slide' + previousSlide))
|
||||
{
|
||||
document.getElementById('slide' + previousSlide).style.display = 'block';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function highlightArea(id, coords, countTotal)
|
||||
{
|
||||
var coordsArray = new Array();
|
||||
coordsArray = coords.split(",");
|
||||
|
||||
// left and right coordinates
|
||||
var xCoords = new Array();
|
||||
var minXCoord = null;
|
||||
var maxXCoord = null;
|
||||
// up and down coordinates
|
||||
var yCoords = new Array();
|
||||
var minYCoord = null;
|
||||
var maxYCoord = null;
|
||||
|
||||
for (var i=0; i < coordsArray.length; i=i+2)
|
||||
{
|
||||
xCoords.push(coordsArray[i]);
|
||||
yCoords.push(coordsArray[i + 1]);
|
||||
}
|
||||
|
||||
minXCoord = Math.min.apply(Math, xCoords);
|
||||
maxXCoord = Math.max.apply(Math, xCoords);
|
||||
|
||||
minYCoord = Math.min.apply(Math, yCoords);
|
||||
maxYCoord = Math.max.apply(Math, yCoords);
|
||||
|
||||
document.getElementById('div' + id).style.top = minYCoord;
|
||||
document.getElementById('div' + id).style.left = minXCoord;
|
||||
document.getElementById('div' + id).style.height = maxYCoord - minYCoord;//left = minXCoord;
|
||||
document.getElementById('div' + id).style.width = maxXCoord - minXCoord;//right = maxXCoord;
|
||||
|
||||
// unhighlight all hotspots
|
||||
unhighlightArea(countTotal);
|
||||
|
||||
// highlight only hotspot curser is over
|
||||
document.getElementById('div' + id).style.display = 'block';
|
||||
}
|
||||
|
||||
function unhighlightArea(countTotal)
|
||||
{
|
||||
for (var j=1; j <= countTotal; j++)
|
||||
{
|
||||
if (j != selectedHotspot)
|
||||
{
|
||||
document.getElementById('div' + j).style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function selectArea(id, countTotal)
|
||||
{
|
||||
selectedHotspot = id;
|
||||
unhighlightArea(countTotal);
|
||||
}
|
||||
|
||||
function checkHotspotCorrect(correctAnswer, countTotal)
|
||||
{
|
||||
var correctId = correctAnswer.replace(/^(hotspot)0*/, '');
|
||||
var feedbackCorrect = document.getElementById('feedbackCorrect');
|
||||
var feedbackIncorrect = document.getElementById('feedbackIncorrect');
|
||||
var correctCoords = document.getElementById('area' + correctId).getAttribute('coords');
|
||||
|
||||
if (correctId == selectedHotspot)
|
||||
{
|
||||
feedbackIncorrect.style.display = 'none';
|
||||
feedbackCorrect.style.display = 'block';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (selectedHotspot)
|
||||
{
|
||||
feedbackIncorrect.style.display = 'block';
|
||||
feedbackCorrect.style.display = 'none';
|
||||
document.getElementById('div' + selectedHotspot).style.display = 'none';
|
||||
|
||||
// Changed the selected hotspot to be the correct hotspot for feedback
|
||||
selectedHotspot = correctId;
|
||||
highlightArea(correctId, correctCoords, countTotal);
|
||||
document.getElementById('div' + correctId).style.backgroundColor = '#30BF30';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function changeCallout(id, coords, countTotal)
|
||||
{
|
||||
for (var j=1; j <= countTotal; j++)
|
||||
{
|
||||
document.getElementById('callout' + j).style.display = 'none';
|
||||
}
|
||||
|
||||
var coordsArray = new Array();
|
||||
coordsArray = coords.split(",");
|
||||
|
||||
// left and right coordinates
|
||||
var xCoords = new Array();
|
||||
var minXCoord = null;
|
||||
var maxXCoord = null;
|
||||
// up and down coordinates
|
||||
var yCoords = new Array();
|
||||
var minYCoord = null;
|
||||
var maxYCoord = null;
|
||||
|
||||
for (var i=0; i < coordsArray.length; i=i+2)
|
||||
{
|
||||
xCoords.push(coordsArray[i]);
|
||||
yCoords.push(coordsArray[i + 1]);
|
||||
}
|
||||
|
||||
minXCoord = Math.min.apply(Math, xCoords);
|
||||
maxXCoord = Math.max.apply(Math, xCoords);
|
||||
|
||||
minYCoord = Math.min.apply(Math, yCoords);
|
||||
maxYCoord = Math.max.apply(Math, yCoords);
|
||||
|
||||
document.getElementById('callout' + id).style.top = minYCoord;
|
||||
document.getElementById('callout' + id).style.left = minXCoord;
|
||||
document.getElementById('callout' + id).style.maxWidth = maxXCoord - minXCoord;
|
||||
|
||||
document.getElementById('callout' + id).style.display = "block";
|
||||
}
|
||||
|
||||
function ConvertMilliSecondsIntoSCORM2004Time(intTotalMilliseconds){
|
||||
|
||||
var ScormTime = "";
|
||||
|
||||
var HundredthsOfASecond; //decrementing counter - work at the hundreths of a second level because that is all the precision that is required
|
||||
|
||||
var Seconds; // 100 hundreths of a seconds
|
||||
var Minutes; // 60 seconds
|
||||
var Hours; // 60 minutes
|
||||
var Days; // 24 hours
|
||||
var Months; // assumed to be an "average" month (figures a leap year every 4 years) = ((365*4) + 1) / 48 days - 30.4375 days per month
|
||||
var Years; // assumed to be 12 "average" months
|
||||
|
||||
var HUNDREDTHS_PER_SECOND = 100;
|
||||
var HUNDREDTHS_PER_MINUTE = HUNDREDTHS_PER_SECOND * 60;
|
||||
var HUNDREDTHS_PER_HOUR = HUNDREDTHS_PER_MINUTE * 60;
|
||||
var HUNDREDTHS_PER_DAY = HUNDREDTHS_PER_HOUR * 24;
|
||||
var HUNDREDTHS_PER_MONTH = HUNDREDTHS_PER_DAY * (((365 * 4) + 1) / 48);
|
||||
var HUNDREDTHS_PER_YEAR = HUNDREDTHS_PER_MONTH * 12;
|
||||
|
||||
HundredthsOfASecond = Math.floor(intTotalMilliseconds / 10);
|
||||
|
||||
Years = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_YEAR);
|
||||
HundredthsOfASecond -= (Years * HUNDREDTHS_PER_YEAR);
|
||||
|
||||
Months = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_MONTH);
|
||||
HundredthsOfASecond -= (Months * HUNDREDTHS_PER_MONTH);
|
||||
|
||||
Days = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_DAY);
|
||||
HundredthsOfASecond -= (Days * HUNDREDTHS_PER_DAY);
|
||||
|
||||
Hours = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_HOUR);
|
||||
HundredthsOfASecond -= (Hours * HUNDREDTHS_PER_HOUR);
|
||||
|
||||
Minutes = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_MINUTE);
|
||||
HundredthsOfASecond -= (Minutes * HUNDREDTHS_PER_MINUTE);
|
||||
|
||||
Seconds = Math.floor(HundredthsOfASecond / HUNDREDTHS_PER_SECOND);
|
||||
HundredthsOfASecond -= (Seconds * HUNDREDTHS_PER_SECOND);
|
||||
|
||||
if (Years > 0) {
|
||||
ScormTime += Years + "Y";
|
||||
}
|
||||
if (Months > 0){
|
||||
ScormTime += Months + "M";
|
||||
}
|
||||
if (Days > 0){
|
||||
ScormTime += Days + "D";
|
||||
}
|
||||
|
||||
//check to see if we have any time before adding the "T"
|
||||
if ((HundredthsOfASecond + Seconds + Minutes + Hours) > 0 ){
|
||||
|
||||
ScormTime += "T";
|
||||
|
||||
if (Hours > 0){
|
||||
ScormTime += Hours + "H";
|
||||
}
|
||||
|
||||
if (Minutes > 0){
|
||||
ScormTime += Minutes + "M";
|
||||
}
|
||||
|
||||
if ((HundredthsOfASecond + Seconds) > 0){
|
||||
ScormTime += Seconds;
|
||||
|
||||
if (HundredthsOfASecond > 0){
|
||||
ScormTime += "." + HundredthsOfASecond;
|
||||
}
|
||||
|
||||
ScormTime += "S";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (ScormTime == ""){
|
||||
ScormTime = "0S";
|
||||
}
|
||||
|
||||
ScormTime = "P" + ScormTime;
|
||||
|
||||
return ScormTime;
|
||||
}
|
||||
|
||||
function setStartTime() {
|
||||
startTimeStamp = new Date();
|
||||
}
|
||||
1857
s1000d/Converter_Source/EDL/css/styles.css
Normal file
BIN
s1000d/Converter_Source/EDL/dinamika/banner.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
128
s1000d/Converter_Source/EDL/dinamika/dinamika.css
Normal file
@@ -0,0 +1,128 @@
|
||||
html::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
html {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
body {
|
||||
font-family: RobotoRegular, Arial, sans-serif;
|
||||
font-size: 18px;
|
||||
line-height: 20px;
|
||||
background: #fff;
|
||||
color: #212121;
|
||||
}
|
||||
|
||||
div.S1000Dpara {
|
||||
text-indent: 35px;
|
||||
text-align: justify;
|
||||
padding: 3px;
|
||||
}
|
||||
td {
|
||||
border: 1px solid black;
|
||||
padding: 0.5ex;
|
||||
}
|
||||
.grayNote {
|
||||
color: gray;
|
||||
text-indent: 35px;
|
||||
text-align: justify;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
span.foot_label {
|
||||
display: inline;
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
/*font-weight: bold;*/
|
||||
text-decoration: underline;
|
||||
font-weight: medium;
|
||||
font-family: serif;
|
||||
font-variant: normal;
|
||||
font-style: normal;
|
||||
padding: 2px;
|
||||
color: rgb(124, 37, 41);
|
||||
}
|
||||
/*
|
||||
div.foot {
|
||||
display: inline;
|
||||
font-size: small;
|
||||
font-weight: medium;
|
||||
font-family: serif;
|
||||
font-variant: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
div.foot_inner { display: none; }
|
||||
div.foot:hover div.foot_inner {
|
||||
display: block;
|
||||
border: 1px double rgb(124, 37, 41);
|
||||
margin: 0em 1em;
|
||||
padding: 1em;
|
||||
} */
|
||||
.divTable {
|
||||
justify-content: center;
|
||||
margin: 0 auto;
|
||||
max-width: 90%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
#tooltip {
|
||||
background: rgb(124, 37, 41);
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#tooltipImg {
|
||||
position: absolute;
|
||||
background: white;
|
||||
border: 2px solid rgb(124, 37, 41);
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
max-width: 500px;
|
||||
}
|
||||
#zoom {
|
||||
width:34px;
|
||||
height:34px;
|
||||
border: 1px solid white;
|
||||
background: rgba(124, 37, 41, 0.3);
|
||||
border-radius: 5px;
|
||||
}
|
||||
#zoom:hover {
|
||||
background: rgb(124, 37, 41);
|
||||
}
|
||||
.container_text table {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.container_text table.S1000DrandomList {
|
||||
margin: 0;
|
||||
}
|
||||
.container_text table.S1000DrandomList td {
|
||||
height: 10px;
|
||||
padding: 0px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
.inlineImg {
|
||||
margin: 0 0 !important;
|
||||
display: inline-block !important;
|
||||
vertical-align: bottom !important;
|
||||
}
|
||||
|
||||
.ui-widget-header {
|
||||
border: 1px solid rgb(124, 37, 41);
|
||||
background: rgb(124, 37, 41);
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-widget {
|
||||
font-family: Arial,sans-serif;
|
||||
font-size: 1.0em;
|
||||
}
|
||||
.ui-widget .ui-widget {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.jp-playlist {
|
||||
display: none;
|
||||
}
|
||||
|
||||
208
s1000d/Converter_Source/EDL/dinamika/dinamika.js
Normal file
@@ -0,0 +1,208 @@
|
||||
var timerId;
|
||||
var mouseOverImg;
|
||||
|
||||
var unityDivID = "";
|
||||
|
||||
Start();
|
||||
|
||||
function showTooltip(evt, text) {
|
||||
let tooltip = document.getElementById("tooltip");
|
||||
tooltip.innerHTML = text;
|
||||
tooltip.style.display = "block";
|
||||
|
||||
if(evt.pageX > 3*window.innerWidth/4) {
|
||||
tooltip.style.left = evt.pageX - tooltip.offsetWidth - 10 + 'px';
|
||||
tooltip.style.top = evt.pageY + 10 + 'px';
|
||||
tooltip.style.maxWidth = window.innerWidth/2 + 'px';
|
||||
} else {
|
||||
tooltip.style.left = evt.pageX + 10 + 'px';
|
||||
tooltip.style.top = evt.pageY + 10 + 'px';
|
||||
tooltip.style.maxWidth = window.innerWidth/2 + 'px';
|
||||
if(evt.pageX + window.innerWidth/2 > window.innerWidth-10)
|
||||
tooltip.style.maxWidth = window.innerWidth - evt.pageX - 10 + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
function hideTooltip() {
|
||||
var tooltip = document.getElementById("tooltip");
|
||||
tooltip.style.display = "none";
|
||||
}
|
||||
|
||||
function showTooltipImg(evt, filename, title="") {
|
||||
let tooltip = document.getElementById("tooltipImg");
|
||||
var imgHTML = "";
|
||||
if(title != "")
|
||||
imgHTML += "<div style='text-align: center;'><h3>" + title + "</h3></div>";
|
||||
imgHTML += "<img src='"+filename+"' align='center' style='max-width: 500px;'>"
|
||||
tooltip.innerHTML = imgHTML;
|
||||
tooltip.style.display = "block";
|
||||
tooltip.style.left = evt.pageX + 'px';
|
||||
tooltip.style.top = evt.pageY + 'px';
|
||||
if (evt.clientX < document.documentElement.clientWidth/2) {
|
||||
if(evt.clientY < document.documentElement.clientHeight/2)
|
||||
tooltip.style.transform = "translate(10px, 10px)";
|
||||
else
|
||||
tooltip.style.transform = "translate(10px, -10px) translate(0, -100%)";
|
||||
}
|
||||
else {
|
||||
if(evt.clientY < document.documentElement.clientHeight/2)
|
||||
tooltip.style.transform = "translate(-10px, 10px) translate(-100%, 0)";
|
||||
else
|
||||
tooltip.style.transform = "translate(-10px, -10px) translate(-100%, -100%)";
|
||||
}
|
||||
clearTimeout(timerId); timerID = null;
|
||||
}
|
||||
|
||||
function hideTooltipImg() {
|
||||
timerId = setTimeout(
|
||||
() => {
|
||||
var tooltip = document.getElementById("tooltipImg");
|
||||
tooltip.style.display = "none";
|
||||
}, 100
|
||||
);
|
||||
}
|
||||
|
||||
function showZoomImg(evt, text) {
|
||||
if(evt.currentTarget.offsetWidth < 300 && evt.currentTarget.offsetHeight < 300)
|
||||
return;
|
||||
mouseOverImg = text;
|
||||
let tooltip = document.getElementById("zoom");
|
||||
evt = evt || window.event;
|
||||
x = evt.clientX; y = evt.clientY;
|
||||
img = document.elementFromPoint(x,y);
|
||||
|
||||
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
|
||||
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
|
||||
var rect = img.getBoundingClientRect();
|
||||
|
||||
tooltip.style.display = "block";
|
||||
tooltip.style.left = (rect.right+scrollLeft-32-7)+'px';
|
||||
tooltip.style.top = (rect.top+scrollTop+3)+'px';
|
||||
}
|
||||
|
||||
function doZoomImg() {
|
||||
viewer.show(mouseOverImg);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
const scList = new Map();
|
||||
const divList = new Map();
|
||||
var quitCurUnity = null;
|
||||
var isClicked = false;
|
||||
|
||||
function Start() {
|
||||
const url = new URL(document.URL);
|
||||
//var divID = url.searchParams.get('scenario');
|
||||
var savedPage = window.sessionStorage.getItem('curScenarioPage');
|
||||
var divID = window.sessionStorage.getItem('scenarioID');
|
||||
if(savedPage == location.href && divID != null && divID != "")
|
||||
unityDivID = divID;
|
||||
//console.log("Start ", unityDivID);
|
||||
window.addEventListener('resize', onResize);
|
||||
}
|
||||
|
||||
function scRegister(scName, scTitle, divID, iframeSrc) {
|
||||
var curSc = window.sessionStorage.getItem(scName);
|
||||
if(curSc != '~done~') {
|
||||
scList.set(scName, scTitle);
|
||||
window.sessionStorage.setItem(scName, scTitle);
|
||||
}
|
||||
divList.set(divID, iframeSrc);
|
||||
if(divID == unityDivID)
|
||||
{
|
||||
setDivToIFrame(divID);
|
||||
var elem = document.getElementById(divID);
|
||||
elem.scrollIntoView();
|
||||
}
|
||||
else
|
||||
setDivToBanner(divID);
|
||||
}
|
||||
function scFinished(scName, scTitle) {
|
||||
window.sessionStorage.setItem(scName, '~done~');
|
||||
scList.delete(scName);
|
||||
}
|
||||
function setDivToBanner(divID) {
|
||||
var elem = document.getElementById(divID);
|
||||
if(elem != null) {
|
||||
if(elem.firstChild != null)
|
||||
elem.removeChild(elem.firstChild);
|
||||
elem.innerHTML = "<img src='app/dinamika/banner.png' align='center' height='80px' style='border:1px solid #7C2529; box-shadow: 5px 5px 10px rgba(124,37,41,0.5); padding: 10px; cursor:pointer' onclick='onBannerClick(\""+divID+"\")'>";
|
||||
}
|
||||
}
|
||||
|
||||
function onBannerClick(divID) {
|
||||
if(isClicked) return;
|
||||
if(unityDivID == null)
|
||||
isClicked = true;
|
||||
unityDivID = divID;
|
||||
if(quitCurUnity != null)
|
||||
quitCurUnity();
|
||||
else
|
||||
setDivToIFrame(divID);
|
||||
}
|
||||
function afterUnityQuit() {
|
||||
quitCurUnity = null;
|
||||
//const url = new URL(document.URL);
|
||||
//url.searchParams.delete('scenario');
|
||||
//url.searchParams.append('scenario', unityDivID);
|
||||
window.sessionStorage.setItem('scenarioID', unityDivID);
|
||||
window.sessionStorage.setItem('curScenarioPage', location.href);
|
||||
document.location.replace(location.href); //url.href
|
||||
}
|
||||
function setDivToIFrame(divID) {
|
||||
var elem = document.getElementById(divID);
|
||||
if(elem != null)
|
||||
elem.innerHTML = "<iframe src='"+divList.get(divID)+"' width='938px' height='532px' align='center' frameBorder='0' style='text-indent: 0px;'>Узел <b>iframe</b> не поддерживается браузером</iframe>";
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
function onLearnedButton() {
|
||||
if(scList.size == 0){
|
||||
learnResult();
|
||||
let btn = document.getElementById('learnedButton');
|
||||
btn.style.display = 'none';
|
||||
} else {
|
||||
var msgStr;
|
||||
msgStr = '<p>Не изучены сценарии интерактивной модели ВС:</p><br/>';
|
||||
for (let sc of scList.values())
|
||||
msgStr += " - "+sc+"<br/>";
|
||||
$("#dialog").html(msgStr);
|
||||
$( function() {
|
||||
$( "#dialog" ).dialog();
|
||||
$('#dialog').dialog("option", "width", "auto"); $('#dialog').dialog("option", "height", "auto");
|
||||
} );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function onLoadFunction() {
|
||||
var H = document.getElementById('container_text').offsetHeight;
|
||||
window.sessionStorage.setItem('contentsHeight', H);
|
||||
window.sessionStorage.setItem('scrollY', window.scrollY);
|
||||
//console.log('din.js scrollY = ',window.scrollY);
|
||||
window.scrollTo({ top: 0, behavior: 'auto' });
|
||||
if(typeof window.parent.objectHTMLLoaded !== "undefined")
|
||||
window.parent.objectHTMLLoaded();
|
||||
|
||||
let timerId = setInterval(() => {
|
||||
var h = document.getElementById('container_text').offsetHeight;
|
||||
if(h != H) {
|
||||
H = h;
|
||||
window.sessionStorage.setItem('contentsHeight', H);
|
||||
window.sessionStorage.setItem('scrollY', window.scrollY);
|
||||
//console.log('din.js scrollY = ',window.scrollY);
|
||||
|
||||
if(typeof window.parent.updateDocHeight !== "undefined")
|
||||
window.parent.updateDocHeight();
|
||||
}
|
||||
}, 50);
|
||||
setTimeout(() => { clearInterval(timerId); }, 1000);
|
||||
}
|
||||
function onResize() {
|
||||
var H = document.getElementById('container_text').offsetHeight;
|
||||
window.sessionStorage.setItem('contentsHeight', H);
|
||||
if(typeof window.parent.updateDocHeight !== "undefined")
|
||||
window.parent.updateDocHeight();
|
||||
}
|
||||
275
s1000d/Converter_Source/EDL/dinamika/singlescorm.css
Normal file
@@ -0,0 +1,275 @@
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height:100%;
|
||||
width: 100%;
|
||||
scrollbar-width: auto;
|
||||
text-rendering: optimizeLegibility;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
body {
|
||||
font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
line-height: 1.4em;
|
||||
background: #f5f5f5;
|
||||
color: #7c2529;
|
||||
min-width: 230px;
|
||||
margin: 0 auto;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
}
|
||||
.div, .aside {
|
||||
display: block;
|
||||
}
|
||||
button {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
background: none;
|
||||
font-size: 100%;
|
||||
vertical-align: baseline;
|
||||
font-family: inherit;
|
||||
font-family: 'Trebuchet MS', sans-serif;
|
||||
font-weight: inherit;
|
||||
color: inherit;
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.dropbtn {
|
||||
background-color: f5f5f5;
|
||||
color: #7c2529;
|
||||
height: 30px;
|
||||
font-size: 14px;
|
||||
border: none;
|
||||
border-bottom: 1px solid #7c2529cc;
|
||||
cursor: pointer;
|
||||
width: 290px;
|
||||
text-align: left;
|
||||
}
|
||||
.dropdown {
|
||||
display: none;
|
||||
position: relative;
|
||||
}
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
min-width: 250px;
|
||||
z-index: 1;
|
||||
background-color: f5f5f5;
|
||||
transition-duration: 0.3s;
|
||||
transition-timing-function: ease-out;
|
||||
}
|
||||
.dropdown-content button {
|
||||
color: #7c2529;
|
||||
background-color: #f5f5f5;
|
||||
border: none;
|
||||
border-bottom: 1px solid #f0d1d3;
|
||||
padding: 8px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
border-bottom-right-radius: 15px;
|
||||
border-top-left-radius: 15px;
|
||||
}
|
||||
.dropdown-content button:hover {background-color: #dfb2b6}
|
||||
.btnToTop {
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
width: 67px;
|
||||
height: 64px;
|
||||
background: url(../images/BG_rightIcon.png) no-repeat;
|
||||
cursor: pointer;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
.btnToTop:hover {
|
||||
animation: bounce 2s infinite linear;
|
||||
}
|
||||
@keyframes bounce {
|
||||
0% {transform: scale(0.8) translateY(0%)}
|
||||
25% {transform: scale(0.8) translateY(-10%)}
|
||||
50% {transform: scale(0.8) translateY(-0%)}
|
||||
75% {transform: scale(0.8) translateY(-10%)}
|
||||
100% {transform: scale(0.8) translateY(0%)}
|
||||
}
|
||||
.btnToTop i {
|
||||
display: block;
|
||||
width: 33px;
|
||||
height: 30px;
|
||||
border: none;
|
||||
background: url(../images/toTop.svg) no-repeat;
|
||||
position: absolute;
|
||||
left: -2px;
|
||||
right: 0;
|
||||
top: -7px;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.view-toc {
|
||||
position: sticky;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
top: 5px;
|
||||
left: 0;
|
||||
width: 20vw;
|
||||
height: 100%;
|
||||
padding: 0px 0 0 0;
|
||||
min-width: 20vw;
|
||||
}
|
||||
.view-toc-container {
|
||||
position:fixed;
|
||||
scrollbar-width: thin;
|
||||
width: 20vw;
|
||||
min-width: 20vw;
|
||||
height: calc(100vh - 10px);
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.view-toc h1 {
|
||||
padding: 50px 0;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.view-toc p {
|
||||
margin: 0 0 20px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.view-body::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 8px;
|
||||
background-color: rgb(207, 73, 73);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-track, .view-toc-container::-webkit-scrollbar-track {
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb, .view-toc-container::-webkit-scrollbar-thumb {
|
||||
border-radius: 50px;
|
||||
background-color: #ce9494;
|
||||
box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
|
||||
min-height: 50px;
|
||||
}
|
||||
.view-toc-container::-webkit-scrollbar-thumb {
|
||||
background-color: #ce94947a;
|
||||
}
|
||||
body::-webkit-scrollbar {
|
||||
width: 15px;
|
||||
}
|
||||
.view-toc-container::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.tree {
|
||||
|
||||
}
|
||||
.tree ul {
|
||||
display: block;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style:none;
|
||||
color:#7c2529;
|
||||
position:relative;
|
||||
font-size: 1rem;
|
||||
-webkit-touch-callout: none; /* iOS Safari */
|
||||
-webkit-user-select: none; /* Chrome/Safari/Opera */
|
||||
-khtml-user-select: none; /* Konqueror */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
-ms-user-select: none; /* Internet Explorer/Edge */
|
||||
user-select: none; /* Non-prefixed version, currently not supported by any browser */
|
||||
}
|
||||
|
||||
.tree ul {margin-left: 0.5em} /* (indentation/2) */
|
||||
|
||||
.tree ul:before {
|
||||
content:"";
|
||||
display:block;
|
||||
width:0;
|
||||
position:absolute;
|
||||
top:0;
|
||||
bottom:0;
|
||||
border-left:none;
|
||||
}
|
||||
|
||||
.tree li {
|
||||
display: block;
|
||||
margin:0px;
|
||||
padding:0 5px; /* indentation + .5em = 1.5em*/
|
||||
/*line-height:1.8em; default list item's `line-height` */
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.tree container, .tree folder {
|
||||
display: block;
|
||||
padding: 3px;
|
||||
}
|
||||
.tree folder {
|
||||
padding-top: 7px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.tree container icon {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
padding: 32px;
|
||||
background-image: url('../icons/book2.png');
|
||||
background-size: 16px 16px;
|
||||
/* url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAQCAYAAADwMZRfAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAnJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5GbHlpbmcgTWVhdCBBY29ybiA1LjIuMTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wMi0wMlQxMjo0ODo1ODwveG1wOk1vZGlmeURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgqitOMRAAABuklEQVQ4EZVSvy9sQRT+Znfseh4rfuUVSCQahSBeIZaORqURT6L1FyjlFSJER0In0RMajeqphEVHqxIhmydYrL137sydce5ds9lYWesk9557vvOdb+acexjebXrtMqHjv2I2VtEnvTPT/mDjcp7bpKypX4Vxxm3MTOyKvn/buJwPRQYXTzYn+yLj3W2JJkvO5OTP68XUEWAmU3+TNxb/zLM/G+n1gc7I1FBnork5EYeQgCOAuxcf++f/ce+wXWmiz8XFDOxqe6Zl4Xhl8EdyNuVww9h0f0dDQ2Mdh+cDngakAeKxKMZ6W3D7LCaUT0CReQo3eiP9dHa3vAWQSJCrpndNYaRFbHD00PPRrh9V6+Flbj4T6doLchx0iKcNXLpFpSYLXDcs4dAKgkCnkPhayg3a8yVcVOdFpBJwlEZOfV1sGQFfSUESmbyIki6JmIpE2LuKS3xFh1vjSnkQBH5nJkE7gYgr8kJcKxm280r7UZHRdcJ2aCbWuO/L0/SjM5z1dK0Fy/mgpWxOZLWvTl2vKrxK2Obo0vE/gPWWKy7OGWYuDuaSIxYLN4kmPUFA6VZZVqn/xr8sLf4UeQNldMTNDtyI9wAAAABJRU5ErkJggg=='); */
|
||||
}
|
||||
|
||||
.tree folder icon {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 center;
|
||||
padding-left: 0px;
|
||||
|
||||
/* background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAQCAYAAADwMZRfAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAnJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5GbHlpbmcgTWVhdCBBY29ybiA1LjIuMTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wMi0wMlQxMjo0OTowOTwveG1wOk1vZGlmeURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrkd8ulAAACb0lEQVQ4EZVSTWgTQRT+ZjP5L21KIeAfFpTWikJVqJdeiuJF0qulePHqRcGriAdPXqrFQy8i6EHwIGigFEQQvbRQxP5pSkzbxCbpT9o0SZvs7uzu+HabTeslxQcz7++bb957Mwx1mRy92sp1w+f6lV3TGHj8Y8f1m2neSOoYE5LfcP1AmE+RfdP1j9Tx+12v/0y+3S5nZ6S78t8/lOL3ut4feZgAbOLR5RedvVeGT1y63s5DHTB0AcswsbuZw+r0xF4xt/KO+xSpKIBpWHREgcLx5drD6TfuBXY7t6PdvW3BFg5DFKFYBmAJhMIMnX0D4Ug+c0fxMDACWpZEMZtCKZ/WyT0gkcIE97bBwyPw+OojsonqEj1z3jUdvfhtHIXM8j8xbmgqLL0CqYcaCbslrbq370tJTdt17EutXIIQViT+4OI5QAOCIZPDH4SubUGtErgu+eRvzH76TC1IeIQK0xsg64CIKWxIcgwxoUCaKHNoNUDaAwOEJpBbmEO1WET/8C0nxqgSeagSJ0ibTWnjZuIfwUHD8pp0m6oiO78AWavgVPdZ+AMBBLmFXV1Bi8863JHDU9ooIDs3m4Yp7zqTrFZqKGfmiXoHHcePIdzeBiYq0C0//EYNOoIIQIWAlx6YiDfXsbq4kiisLD2NjSbHHZJcKk1pDSdPR9EajcCkyrx0VKNHCqKKqkG9E4kkgp3CFtZTqUQmsTwWG0m+sssiEjm19nOuv6fvQoh5FFQ21pxy3U11jG2i2Jf1pdX08q+ll4PPks9djDNy+vZfKdDjBptqxp7ERhYbBDbWaceAPsgbP60pBTqsvfoHao777+xfmRQTxswccNgAAAAASUVORK5CYII=');
|
||||
*/
|
||||
}
|
||||
|
||||
.tree container:hover {
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to top, #ebc4c4, #ebc4c405);
|
||||
border-radius:5px;
|
||||
transform: scale(1.03);
|
||||
}
|
||||
|
||||
.tree button {
|
||||
width: 100%;
|
||||
font: 0.9em 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.view-body {
|
||||
display: flex;
|
||||
padding: 45px 0px 0px 0px;
|
||||
}
|
||||
|
||||
.view-doc {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0px 0px 0px 5px;
|
||||
padding: 10px 20px;
|
||||
min-width: 500px;
|
||||
background: #fff;
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.2),
|
||||
0px 2px 15px 0 rgba(0, 0, 0, 0.1);
|
||||
flex-grow: 1;
|
||||
overflow-y: visible;
|
||||
}
|
||||
.view-obj {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
}
|
||||
1856
s1000d/Converter_Source/EDL/dinamika/styles_edl.css
Normal file
15
s1000d/Converter_Source/EDL/dinamika/viewimg.css
Normal file
@@ -0,0 +1,15 @@
|
||||
#iv-container{position:fixed;width:100vw;background:rgba(10,10,10,0.6);height:100vh;top:0;left:0;display:none;z-index:1000;
|
||||
border:2px solid rgb(124, 37, 41);border-radius: 5px;box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.2), 0px 2px 50px 0 rgba(0, 0, 0, 0.1);
|
||||
padding: 0px;}
|
||||
.iv-container{overflow:hidden}
|
||||
.iv-close{width:32px;height:32px;position:absolute;border: 1px solid white; right:20px;top:20px;background: rgba(124, 37, 41, 0.5); cursor:pointer;text-align:center;overflow:hidden;text-shadow:0 0 3px #6d6d6d;-webkit-transition:all ease 200ms;-moz-transition:all ease 200ms;-o-transition:all ease 200ms;transition:all ease 200ms}
|
||||
.iv-close:after,.iv-close:before{content:"";height:2px;width:26px;background:white;position:absolute;left:3px;top:17px;margin-top:-3px;border-radius:2px}
|
||||
.iv-close:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}
|
||||
.iv-close:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}
|
||||
.iv-close:hover{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg); background: rgb(124, 37, 41)}
|
||||
.iv-image-view{position:absolute;height:100%;width:100%}
|
||||
.iv-image-wrap{display:inline-block}
|
||||
.iv-image-wrap:active{cursor:move}
|
||||
.iv-large-image{cursor:move;max-width:100%;max-height:100%;position:absolute;background-color:#FFFFFF;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}
|
||||
.iv-loader{top:50%;left:50%;border-radius:50%;width:32px;height:32px;z-index:100;margin-top:-16px;margin-left:-16px;font-size:5px;position:absolute;text-indent:-9999em;border-top:1em solid rgba(255, 255, 255, .2);border-right:1em solid rgba(255, 255, 255, .2);border-bottom:1em solid rgba(255, 255, 255, .2);border-left:1em solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}
|
||||
.iv-loader:after{width:10em;height:10em;border-radius:50%}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
|
||||
285
s1000d/Converter_Source/EDL/dinamika/viewimg.js
Normal file
@@ -0,0 +1,285 @@
|
||||
var container=null;
|
||||
var parentScrollListener=null;
|
||||
|
||||
!function(e,t)
|
||||
{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.ViewBigimg=t()}
|
||||
(this,
|
||||
function()
|
||||
{
|
||||
"use strict";
|
||||
function l(){
|
||||
var e=!1;try{addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){e=!0}}))}catch(e){}return e
|
||||
}
|
||||
function o(e,t)
|
||||
{
|
||||
this.container=e;
|
||||
var i=function(){};
|
||||
this.onStart=t.onStart||i,
|
||||
this.onMove=t.onMove||i,
|
||||
this.onEnd=t.onEnd||i,
|
||||
//this.onKeyDown=t.onKeyDown||i,
|
||||
this.onMouseWheel=t.onMouseWheel||i,
|
||||
this.onClick=t.onClick||i,
|
||||
this.onPinch=t.onPinch||i
|
||||
}
|
||||
|
||||
o.prototype.init=function()
|
||||
{
|
||||
var r=this;
|
||||
return this.startHandle=function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var t=e.type,
|
||||
i="touchstart"===t?"touchmove":"mousemove",
|
||||
n="touchstart"===t?"touchend":"mouseup",
|
||||
o=e.clientX||e.touches[0].clientX,
|
||||
a=e.clientY||e.touches[0].clientY;
|
||||
function s(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var t=e.clientX||e.touches[0].clientX,i=e.clientY||e.touches[0].clientY;
|
||||
r.onMove(e,{dx:t-o,dy:i-a,mx:t,my:i})
|
||||
}
|
||||
!1!==r.onStart(e,{x:o,y:a})&&("touchstart"===t&&e.touches[1]&&r.onPinch(e),
|
||||
document.addEventListener(i,s,!("touchmove"!==i||!l())&&{capture:!1,passive:!1}),
|
||||
document.addEventListener(n,function e()
|
||||
{
|
||||
document.removeEventListener(i,s),
|
||||
document.removeEventListener(n,e),
|
||||
r.onEnd()
|
||||
}))
|
||||
},
|
||||
this.container.addEventListener("touchstart",this.startHandle,!1),
|
||||
this.container.addEventListener("mousedown",this.startHandle,!1),
|
||||
//this.container.addEventListener("onkeydown",this.onKeyDown,!1),
|
||||
//this.container.onkeydown = function(e){alert('!!close')},
|
||||
//document.getElementById('iv-container').contentEditable=true,
|
||||
//document.getElementById('iv-container').focus(),
|
||||
this.container.addEventListener("wheel",this.onMouseWheel,!1),
|
||||
this.container.addEventListener("click",this.onClick,!1),
|
||||
this
|
||||
},
|
||||
o.prototype.destroy=function()
|
||||
{
|
||||
this.container.removeEventListener("touchstart",this.startHandle),
|
||||
this.container.removeEventListener("mousedown",this.startHandle),
|
||||
//this.container.removeEventListener("onkeydown",this.onKeyDown),
|
||||
this.container.removeEventListener("wheel",this.onMouseWheel),
|
||||
this.container.removeEventListener("click",this.onClick)
|
||||
};
|
||||
|
||||
var r=function(e)
|
||||
{return e.preventDefault()};
|
||||
function n(e,t)
|
||||
{
|
||||
this.container=e,
|
||||
this.options=Object.assign({},n.defaults,t),
|
||||
this.zoomValue=100,
|
||||
e.classList.add("iv-container"),
|
||||
this.imageWrap=e.querySelector(".iv-image-wrap"),
|
||||
this.closeBtn=e.querySelector(".iv-close")
|
||||
}
|
||||
|
||||
return function()
|
||||
{
|
||||
var o=0;
|
||||
if(!window.requestAnimationFrame){
|
||||
for(var e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)
|
||||
window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],
|
||||
window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];
|
||||
window.requestAnimationFrame||(window.requestAnimationFrame=function(e)
|
||||
{
|
||||
var t=(new Date).getTime(),
|
||||
i=Math.max(0,16-(t-o)),
|
||||
n=window.setTimeout(function(){e(t+i)},i);
|
||||
return o=t+i,n
|
||||
}),
|
||||
window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e)
|
||||
{
|
||||
clearTimeout(e)
|
||||
})
|
||||
}
|
||||
}(),
|
||||
|
||||
n.prototype={constructor:n,_init:function()
|
||||
{
|
||||
var t,
|
||||
h=this,
|
||||
a=h.options,
|
||||
c=!1,
|
||||
e=h.container,
|
||||
i=h.imageWrap,
|
||||
s=0,
|
||||
n=0;
|
||||
h._imageSlider=new o(i,{
|
||||
onStart:function()
|
||||
{
|
||||
if(!h.loaded)return!1;
|
||||
if(!c){
|
||||
this.imgWidth=h.imageDim.w*h.zoomValue/100,
|
||||
this.imgHeight=h.imageDim.h*h.zoomValue/100,
|
||||
this.curImgLeft=parseFloat(h.currentImg.style.left),
|
||||
this.curImgTop=parseFloat(h.currentImg.style.top)}
|
||||
},
|
||||
onMove:function(e,t)
|
||||
{
|
||||
if(!c)
|
||||
{
|
||||
this.currentPos=t;
|
||||
var i=this.curImgLeft+t.dx,
|
||||
n=this.curImgTop+t.dy,
|
||||
o=Math.max((h.containerDim.w-this.imgWidth)/2,0),
|
||||
a=Math.max((h.containerDim.h-this.imgHeight)/2,0),
|
||||
s=h.containerDim.w-o,
|
||||
r=h.containerDim.h-a;
|
||||
i=Math.min(i,o),
|
||||
n=Math.min(n,a),
|
||||
i+this.imgWidth<s&&(i=s-this.imgWidth),
|
||||
n+this.imgHeight<r&&(n=r-this.imgHeight),
|
||||
h.currentImg.style.left=i+"px",
|
||||
h.currentImg.style.top=n+"px"
|
||||
}
|
||||
},
|
||||
onEnd:function(){},
|
||||
onMouseWheel:function(e){
|
||||
if(a.zoomOnMouseWheel&&h.loaded){
|
||||
var t=Math.max(-1,Math.min(1,e.wheelDelta)),
|
||||
i=h.zoomValue*(100+30*t)/100; // 15*t
|
||||
if(100<=i&&i<=a.maxZoom?s=0:s+=Math.abs(t),!(5<s)){var n=e.pageX,o=e.pageY;h.zoom(i,{x:n,y:o})}
|
||||
}
|
||||
|
||||
},
|
||||
//onKeyDown:function(e){
|
||||
// alert('!!close');
|
||||
// var keycode = e.keyCode || e.which;
|
||||
// if(keycode === 27){ this._close(); }
|
||||
//},
|
||||
onClick:function(e){
|
||||
0==n?(n=Date.now(),t={x:e.pageX,y:e.pageY}):(Date.now()-n<500&&Math.abs(e.pageX-t.x)<50&&Math.abs(e.pageY-t.y)<50&&(h.zoomValue==a.zoomValue?h.zoom(200):h.resetZoom()),n=0)
|
||||
},
|
||||
onPinch:function(e){
|
||||
if(h.loaded){
|
||||
var t=e.touches[0],
|
||||
i=e.touches[1];
|
||||
if(t&&i){c=!0;var a=Math.sqrt(Math.pow(i.pageX-t.pageX,2)+Math.pow(i.pageY-t.pageY,2)),s=h.zoomValue,r={x:(i.pageX+t.pageX)/2,y:(i.pageY+t.pageY)/2},
|
||||
n=function(e){
|
||||
e.preventDefault();
|
||||
var t=e.touches[0],
|
||||
i=e.touches[1],
|
||||
n=Math.sqrt(Math.pow(i.pageX-t.pageX,2)+Math.pow(i.pageY-t.pageY,2)),o=s+(n-a)/2;h.zoom(o,r)
|
||||
};
|
||||
document.addEventListener("touchmove",n,!!l()&&{capture:!1,passive:!1}),
|
||||
document.addEventListener("touchend",function e(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",e),c=!1})
|
||||
}
|
||||
}
|
||||
}
|
||||
}).init(),
|
||||
a.refreshOnResize&&(this._resizeHandler=this.refresh.bind(this),
|
||||
window.addEventListener("resize",this._resizeHandler)),
|
||||
e.addEventListener("touchmove",r,!!l()&&{capture:!1,passive:!1}),
|
||||
e.addEventListener("wheel",r),
|
||||
this._close=this.hide.bind(this),
|
||||
this.closeBtn.addEventListener("click",this._close)},
|
||||
zoom:function(d,v){
|
||||
var p=this,e=this.options.maxZoom,
|
||||
g=this.zoomValue,
|
||||
f=this.currentImg,
|
||||
w=this.containerDim,
|
||||
y=this.imageDim,
|
||||
x=parseFloat(f.style.left),
|
||||
M=parseFloat(f.style.top);
|
||||
d=Math.round(Math.max(100,d)),
|
||||
d=Math.min(e,d),v=v||{x:w.w/2,y:w.h/2},
|
||||
p._clearFrames();
|
||||
var z=0;
|
||||
!function e(){
|
||||
++z<20&&(p._zoomFrame=requestAnimationFrame(e));var t,i,n=(t=z,t/=20,-(d-(i=g))*(--t*t*t*t-1)+i),o=n/g,a=y.w*n/100,s=y.h*n/100,r=-((v.x-x)*o-v.x),h=-((v.y-M)*o-v.y),c=Math.max((w.w-a)/2,0),l=Math.max((w.h-s)/2,0),m=w.w-c,u=w.h-l;(r=Math.min(r,c))+a<m&&(r=m-a),(h=Math.min(h,l))+s<u&&(h=u-s),f.style.width=a+"px",f.style.height=s+"px",f.style.left=r+"px",f.style.top=h+"px",p.zoomValue=n
|
||||
}()
|
||||
},
|
||||
_clearFrames:function(){cancelAnimationFrame(this._zoomFrame)},
|
||||
resetZoom:function(){this.zoom(this.options.zoomValue)},
|
||||
_calculateDimensions:function(){
|
||||
var e,t,i=this.currentImg,
|
||||
n=this.container,
|
||||
o=i.getBoundingClientRect().width,
|
||||
a=i.getBoundingClientRect().height,
|
||||
s=n.getBoundingClientRect().width,
|
||||
r=n.getBoundingClientRect().height;
|
||||
this.containerDim={w:s,h:r};
|
||||
var h=o/a;t=(e=a<o&&s<=r||s<h*r?s:h*r)/h,
|
||||
this.imageDim={w:e,h:t},i.style.width=e+"px",i.style.height=t+"px",i.style.left=(s-e)/2+"px",i.style.top=(r-t)/2+"px",i.style.maxWidth="none",i.style.maxHeight="none"
|
||||
},
|
||||
refresh:function(){
|
||||
this.loaded&&(this._calculateDimensions(),this.resetZoom())
|
||||
},
|
||||
show:function(e){
|
||||
this.container.style.top = (window.parent.scrollY)+'px';
|
||||
this.container.style.width = window.innerWidth+'px';
|
||||
this.container.style.height = (window.parent.innerHeight-70)+'px';
|
||||
container = this.container;
|
||||
parentScrollListener = function(e) { container.style.top = (window.parent.scrollY)+'px';};
|
||||
window.parent.document.body.style.overflowY = "hidden";
|
||||
window.parent.addEventListener('scroll', parentScrollListener);
|
||||
|
||||
this.container.style.display="block",e&&this.load(e)
|
||||
},
|
||||
hide:function(){
|
||||
this.container.style.display="none";
|
||||
window.parent.document.body.style.overflowY = "auto";
|
||||
window.parent.removeEventListener('scroll', parentScrollListener);
|
||||
},
|
||||
destroy:function(){
|
||||
window.removeEventListener("resize",this._resizeHandler),
|
||||
this._imageSlider.destroy(),
|
||||
this.closeBtn.removeEventListener("click",this._close),
|
||||
this.container.parentNode.removeChild(this.container),
|
||||
this.closeBtn=null,
|
||||
this.container=null,
|
||||
this.imageWrap=null,
|
||||
this.options=null,
|
||||
this._close=null,
|
||||
this._imageSlider=null,
|
||||
this._resizeHandler=null
|
||||
},
|
||||
load:function(e){
|
||||
var t=this,i=this.container,
|
||||
n=this.imageWrap,
|
||||
o=n.querySelector(".iv-large-image");
|
||||
o&&n.removeChild(o);
|
||||
var a,s=document.createElement("img");
|
||||
function r(){
|
||||
t.loaded=!0,
|
||||
t.zoomValue=100,
|
||||
s.style.display="block",
|
||||
t.refresh(),
|
||||
i.querySelector(".iv-loader").style.display="none"
|
||||
}
|
||||
s.classList.add("iv-large-image"),
|
||||
s.src=e,
|
||||
this.currentImg=s,
|
||||
this.imageWrap.appendChild(s),
|
||||
this.loaded=!1,
|
||||
i.querySelector(".iv-loader").style.display="block",s.style.display="none",
|
||||
!(a=s).compvare||void 0!==a.naturalWidth&&0===a.naturalWidth?s.onload=function(){r()}:r()
|
||||
}
|
||||
},
|
||||
n.defaults={zoomValue:100,maxZoom:800,refreshOnResize:!0,zoomOnMouseWheel:!0},
|
||||
function(e){
|
||||
var t=document.createElement("div");
|
||||
t.id="iv-container",
|
||||
t.innerHTML='<div class="iv-loader"></div><div class="iv-image-view"><div class="iv-image-wrap"></div><div class="iv-close"></div></div>',
|
||||
document.body.appendChild(t);
|
||||
|
||||
t.onkeypress = function(){alert('');};
|
||||
//t.addEventListener("click",this._close)};
|
||||
//t.onkeydown = function(e){
|
||||
// alert('!!close');
|
||||
// var keycode = e.keyCode || e.which;
|
||||
// if(keycode === 27){ this._close(); }
|
||||
//}
|
||||
//document.getElementById('iv-container').contentEditable=true;
|
||||
//document.getElementById('iv-container').focus();
|
||||
var i=new n(t,e);
|
||||
return i._init(),i
|
||||
}
|
||||
});
|
||||
BIN
s1000d/Converter_Source/EDL/dinamika/viewimg.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
2303
s1000d/Converter_Source/EDL/js/scripts.js
Normal file
BIN
s1000d/Converter_Source/Icons/S1000D_logo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
s1000d/Converter_Source/Icons/accept.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter_Source/Icons/add.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter_Source/Icons/chrome.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
s1000d/Converter_Source/Icons/chrome_refresh.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
s1000d/Converter_Source/Icons/delete.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter_Source/Icons/doc_config.ico
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
s1000d/Converter_Source/Icons/doc_config.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter_Source/Icons/doc_head_blue+.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter_Source/Icons/doc_head_blue.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter_Source/Icons/doc_head_blue_exclamation.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter_Source/Icons/docs_head_orange.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter_Source/Icons/down_arrow.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
s1000d/Converter_Source/Icons/edl_logo.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
s1000d/Converter_Source/Icons/exclamation.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
s1000d/Converter_Source/Icons/export_logo.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
s1000d/Converter_Source/Icons/folder+.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
s1000d/Converter_Source/Icons/folder.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
s1000d/Converter_Source/Icons/folder_exclamation.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
s1000d/Converter_Source/Icons/folder_search.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter_Source/Icons/folder_with_doc.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
s1000d/Converter_Source/Icons/folders.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter_Source/Icons/item_del.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter_Source/Icons/logo.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter_Source/Icons/lyx_import.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
s1000d/Converter_Source/Icons/maple-leaf.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
s1000d/Converter_Source/Icons/moodle_logo.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
s1000d/Converter_Source/Icons/question.png
Normal file
|
After Width: | Height: | Size: 809 B |
BIN
s1000d/Converter_Source/Icons/refresh.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter_Source/Icons/save.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter_Source/Icons/scorm_logo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
s1000d/Converter_Source/Icons/suspend.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter_Source/Icons/up_arrow.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
54
s1000d/Converter_Source/S1000DEditor.pro
Normal file
@@ -0,0 +1,54 @@
|
||||
QT += core gui xml
|
||||
#gui-private
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
CONFIG += c++11
|
||||
CONFIG += console
|
||||
|
||||
# You can make your code fail to compile if it uses deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
console.cpp \
|
||||
exportdialog.cpp \
|
||||
html.cpp \
|
||||
lyx.cpp \
|
||||
main.cpp \
|
||||
editormainwindow.cpp \
|
||||
ru_const.cpp \
|
||||
s1000d_manager.cpp \
|
||||
splashform.cpp
|
||||
|
||||
HEADERS += \
|
||||
console.h \
|
||||
editormainwindow.h \
|
||||
exportdialog.h \
|
||||
html.h \
|
||||
lyx.h \
|
||||
ru_const.h \
|
||||
s1000d_manager.h \
|
||||
splashform.h
|
||||
|
||||
FORMS += \
|
||||
editormainwindow.ui \
|
||||
exportdialog.ui \
|
||||
splashform.ui
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
RESOURCES += \
|
||||
S1000DResources.qrc
|
||||
|
||||
win32: RC_ICONS = $$PWD/Icons/doc_config.ico
|
||||
|
||||
#QTPLUGIN +=qico \
|
||||
# qsvg \
|
||||
# qjpeg \
|
||||
# qwbmp
|
||||
#LIBS +=-L$(QTDIR)/plugins/imageformats
|
||||
#INCLUDEPATH += $(QTDIR)/plugins/imageformats
|
||||
322
s1000d/Converter_Source/S1000DEditor.pro.user
Normal file
@@ -0,0 +1,322 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.14.2, 2023-01-09T12:57:28. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{097cf8a8-2317-4a35-a529-1cb5c5e47f5c}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
||||
<value type="QString">-fno-delayed-template-parsing</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">false</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">8</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_mingw81_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||
<value type="QString">cpu-cycles</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||
<value type="QString">-e</value>
|
||||
<value type="QString">cpu-cycles</value>
|
||||
<value type="QString">--call-graph</value>
|
||||
<value type="QString">dwarf,4096</value>
|
||||
<value type="QString">-F</value>
|
||||
<value type="QString">250</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">S1000DEditor2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
319
s1000d/Converter_Source/S1000DEditor.pro.user.3554a5b
Normal file
@@ -0,0 +1,319 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.14.1, 2021-06-16T10:52:01. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{3554a5b0-26c0-4e9c-896e-0ad6b09e59c9}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">8</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ad7d87aa-8f5c-4e86-8651-11a06c0ae456}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||
<value type="QString">cpu-cycles</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||
<value type="QString">-e</value>
|
||||
<value type="QString">cpu-cycles</value>
|
||||
<value type="QString">--call-graph</value>
|
||||
<value type="QString">dwarf,4096</value>
|
||||
<value type="QString">-F</value>
|
||||
<value type="QString">250</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/shurick/Projects/643_mi38/s1000d/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/shurick/Projects/643_mi38/s1000d/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/shurick/Projects/643_mi38/s1000d/build-S1000DEditor-Desktop-Release</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
542
s1000d/Converter_Source/S1000DEditor.pro.user.8d779a8
Normal file
@@ -0,0 +1,542 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.14.2, 2021-04-21T12:22:15. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{8d779a8c-2d05-46ce-a346-322281e5dc8d}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
||||
<value type="QString">-fno-delayed-template-parsing</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">false</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MinGW 64-bit</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_mingw81_kit</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||
<value type="QString">cpu-cycles</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||
<value type="QString">-e</value>
|
||||
<value type="QString">cpu-cycles</value>
|
||||
<value type="QString">--call-graph</value>
|
||||
<value type="QString">dwarf,4096</value>
|
||||
<value type="QString">-F</value>
|
||||
<value type="QString">250</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:F:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">F:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">F:/C++/build-S1000DEditor-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.14 Static</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.14 Static</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{94cbbe2d-0d31-465f-80f1-3cd0950454ef}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Qt_5_14-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Qt_5_14-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Qt_5_14-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Qt_5_14-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">F:\C++\build-S1000DEditor-Qt_5_14-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">F:/C++/build-S1000DEditor-Qt_5_14-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="RunSystemFunction">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||
<value type="QString">cpu-cycles</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||
<value type="QString">-e</value>
|
||||
<value type="QString">cpu-cycles</value>
|
||||
<value type="QString">--call-graph</value>
|
||||
<value type="QString">dwarf,4096</value>
|
||||
<value type="QString">-F</value>
|
||||
<value type="QString">250</value>
|
||||
</valuelist>
|
||||
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:F:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">F:/C++/S1000DEditor/S1000DEditor.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">2</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
48
s1000d/Converter_Source/S1000DResources.qrc
Normal file
@@ -0,0 +1,48 @@
|
||||
<RCC>
|
||||
<qresource prefix="/new">
|
||||
<file>Icons/doc_config.png</file>
|
||||
<file>Icons/doc_head_blue.png</file>
|
||||
<file>Icons/folder.png</file>
|
||||
<file>Icons/folder_search.png</file>
|
||||
<file>Icons/folder_with_doc.png</file>
|
||||
<file>Icons/folder+.png</file>
|
||||
<file>Icons/folders.png</file>
|
||||
<file>Icons/suspend.png</file>
|
||||
<file>Icons/doc_head_blue+.png</file>
|
||||
<file>Icons/save.png</file>
|
||||
<file>Icons/logo.png</file>
|
||||
<file>Icons/docs_head_orange.png</file>
|
||||
<file>BlankXML/pm.xml</file>
|
||||
<file>Icons/item_del.png</file>
|
||||
<file>BlankXML/crew.xml</file>
|
||||
<file>BlankXML/descript.xml</file>
|
||||
<file>BlankXML/learning.xml</file>
|
||||
<file>Icons/add.png</file>
|
||||
<file>Icons/delete.png</file>
|
||||
<file>Icons/down_arrow.png</file>
|
||||
<file>Icons/up_arrow.png</file>
|
||||
<file>Icons/question.png</file>
|
||||
<file>Icons/lyx_import.png</file>
|
||||
<file>Icons/refresh.png</file>
|
||||
<file>BlankXML/blank.html</file>
|
||||
<file>Icons/chrome.png</file>
|
||||
<file>Icons/doc_config.ico</file>
|
||||
<file>Icons/S1000D_logo.png</file>
|
||||
<file>Icons/scorm_logo.png</file>
|
||||
<file>Icons/chrome_refresh.png</file>
|
||||
<file>Icons/export_logo.png</file>
|
||||
<file>BlankXML/dml.xml</file>
|
||||
<file>BlankXML/imsmanifest.xml</file>
|
||||
<file>Icons/accept.png</file>
|
||||
<file>Icons/exclamation.png</file>
|
||||
<file>Icons/doc_head_blue_exclamation.png</file>
|
||||
<file>Icons/folder_exclamation.png</file>
|
||||
<file>BlankXML/packages.xml</file>
|
||||
<file>BlankXML/scormIndex.html</file>
|
||||
<file>Icons/edl_logo.png</file>
|
||||
<file>BlankXML/edocinfo.xml</file>
|
||||
<file>Icons/moodle_logo.png</file>
|
||||
<file>BlankXML/singleScormIndex.html</file>
|
||||
<file>Icons/maple-leaf.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
BIN
s1000d/Converter_Source/app/dinamika/banner.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
126
s1000d/Converter_Source/app/dinamika/dinamika.css
Normal file
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
Закомментировано для для предпросмотра в проекте Клён.
|
||||
Если в дальнейшем в сборках в браузере появится лишний скроллинг - раскомментировать.
|
||||
|
||||
html::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
html {
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
overflow-y: hidden;
|
||||
}*/
|
||||
body {
|
||||
font-family: RobotoRegular, Arial, sans-serif;
|
||||
font-size: 18px;
|
||||
line-height: 20px;
|
||||
background: #fff;
|
||||
color: #212121;
|
||||
}
|
||||
|
||||
div.S1000Dpara {
|
||||
text-indent: 35px;
|
||||
text-align: justify;
|
||||
padding: 3px;
|
||||
}
|
||||
td {
|
||||
border: 1px solid black;
|
||||
padding: 0.5ex;
|
||||
}
|
||||
.grayNote {
|
||||
color: gray;
|
||||
text-indent: 35px;
|
||||
text-align: justify;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
span.foot_label {
|
||||
display: inline;
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
/*font-weight: bold;*/
|
||||
text-decoration: underline;
|
||||
font-weight: medium;
|
||||
font-family: serif;
|
||||
font-variant: normal;
|
||||
font-style: normal;
|
||||
padding: 2px;
|
||||
color: rgb(124, 37, 41);
|
||||
}
|
||||
/*
|
||||
div.foot {
|
||||
display: inline;
|
||||
font-size: small;
|
||||
font-weight: medium;
|
||||
font-family: serif;
|
||||
font-variant: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
div.foot_inner { display: none; }
|
||||
div.foot:hover div.foot_inner {
|
||||
display: block;
|
||||
border: 1px double rgb(124, 37, 41);
|
||||
margin: 0em 1em;
|
||||
padding: 1em;
|
||||
} */
|
||||
.divTable {
|
||||
justify-content: center;
|
||||
margin: 0 auto;
|
||||
max-width: 90%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
#tooltip {
|
||||
background: rgb(124, 37, 41);
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#tooltipImg {
|
||||
position: absolute;
|
||||
background: white;
|
||||
border: 2px solid rgb(124, 37, 41);
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
max-width: 500px;
|
||||
}
|
||||
#zoom {
|
||||
width:34px;
|
||||
height:34px;
|
||||
border: 1px solid white;
|
||||
background: rgba(124, 37, 41, 0.3);
|
||||
border-radius: 5px;
|
||||
}
|
||||
#zoom:hover {
|
||||
background: rgb(124, 37, 41);
|
||||
}
|
||||
.container_text table {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.container_text table.S1000DrandomList td {
|
||||
height: 10px;
|
||||
padding: 3px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.inlineImg {
|
||||
margin: 0 0 !important;
|
||||
display: inline-block !important;
|
||||
vertical-align: bottom !important;
|
||||
}
|
||||
|
||||
.ui-widget-header {
|
||||
border: 1px solid rgb(124, 37, 41);
|
||||
background: rgb(124, 37, 41);
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-widget {
|
||||
font-family: Arial,sans-serif;
|
||||
font-size: 1.0em;
|
||||
}
|
||||
.ui-widget .ui-widget {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
|
||||
188
s1000d/Converter_Source/app/dinamika/dinamika.js
Normal file
@@ -0,0 +1,188 @@
|
||||
var timerId;
|
||||
var mouseOverImg;
|
||||
|
||||
var unityDivID = "";
|
||||
|
||||
Start();
|
||||
|
||||
function showTooltip(evt, text) {
|
||||
let tooltip = document.getElementById("tooltip");
|
||||
tooltip.innerHTML = text;
|
||||
tooltip.style.display = "block";
|
||||
|
||||
if(evt.pageX > 3*window.innerWidth/4) {
|
||||
tooltip.style.left = evt.pageX - tooltip.offsetWidth - 10 + 'px';
|
||||
tooltip.style.top = evt.pageY + 10 + 'px';
|
||||
tooltip.style.maxWidth = window.innerWidth/2 + 'px';
|
||||
} else {
|
||||
tooltip.style.left = evt.pageX + 10 + 'px';
|
||||
tooltip.style.top = evt.pageY + 10 + 'px';
|
||||
tooltip.style.maxWidth = window.innerWidth/2 + 'px';
|
||||
if(evt.pageX + window.innerWidth/2 > window.innerWidth-10)
|
||||
tooltip.style.maxWidth = window.innerWidth - evt.pageX - 10 + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
function hideTooltip() {
|
||||
var tooltip = document.getElementById("tooltip");
|
||||
tooltip.style.display = "none";
|
||||
}
|
||||
|
||||
function showTooltipImg(evt, text) {
|
||||
let tooltip = document.getElementById("tooltipImg");
|
||||
tooltip.innerHTML = "<img src='"+text+"' align='center' style='max-width: 500px;'>";
|
||||
tooltip.style.display = "block";
|
||||
tooltip.style.left = evt.pageX + 'px';
|
||||
tooltip.style.top = evt.pageY + 'px';
|
||||
if (evt.clientX < document.documentElement.clientWidth/2) {
|
||||
if(evt.clientY < document.documentElement.clientHeight/2)
|
||||
tooltip.style.transform = "translate(10px, 10px)";
|
||||
else
|
||||
tooltip.style.transform = "translate(10px, -10px) translate(0, -100%)";
|
||||
}
|
||||
else {
|
||||
if(evt.clientY < document.documentElement.clientHeight/2)
|
||||
tooltip.style.transform = "translate(-10px, 10px) translate(-100%, 0)";
|
||||
else
|
||||
tooltip.style.transform = "translate(-10px, -10px) translate(-100%, -100%)";
|
||||
}
|
||||
clearTimeout(timerId); timerID = null;
|
||||
}
|
||||
|
||||
function hideTooltipImg() {
|
||||
timerId = setTimeout(
|
||||
() => {
|
||||
var tooltip = document.getElementById("tooltipImg");
|
||||
tooltip.style.display = "none";
|
||||
}, 100
|
||||
);
|
||||
}
|
||||
|
||||
function showZoomImg(evt, text) {
|
||||
if(evt.currentTarget.offsetWidth < 300 && evt.currentTarget.offsetHeight < 300)
|
||||
return;
|
||||
mouseOverImg = text;
|
||||
let tooltip = document.getElementById("zoom");
|
||||
evt = evt || window.event;
|
||||
x = evt.clientX; y = evt.clientY;
|
||||
img = document.elementFromPoint(x,y);
|
||||
|
||||
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
|
||||
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
|
||||
var rect = img.getBoundingClientRect();
|
||||
tooltip.style.display = "block";
|
||||
tooltip.style.left = (rect.right+scrollLeft-32-7)+'px';
|
||||
tooltip.style.top = (rect.top+scrollTop+3)+'px';
|
||||
}
|
||||
|
||||
function doZoomImg() {
|
||||
viewer.show(mouseOverImg);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
const scList = new Map();
|
||||
const divList = new Map();
|
||||
var quitCurUnity = null;
|
||||
var isClicked = false;
|
||||
|
||||
function Start() {
|
||||
const url = new URL(document.URL);
|
||||
//var divID = url.searchParams.get('scenario');
|
||||
var savedPage = window.sessionStorage.getItem('curScenarioPage');
|
||||
var divID = window.sessionStorage.getItem('scenarioID');
|
||||
if(savedPage == location.href && divID != null && divID != "")
|
||||
unityDivID = divID;
|
||||
//console.log("Start ", unityDivID);
|
||||
}
|
||||
|
||||
function scRegister(scName, scTitle, divID, iframeSrc) {
|
||||
var curSc = window.sessionStorage.getItem(scName);
|
||||
if(curSc != '~done~') {
|
||||
scList.set(scName, scTitle);
|
||||
window.sessionStorage.setItem(scName, scTitle);
|
||||
}
|
||||
divList.set(divID, iframeSrc);
|
||||
if(divID == unityDivID)
|
||||
{
|
||||
setDivToIFrame(divID);
|
||||
var elem = document.getElementById(divID);
|
||||
elem.scrollIntoView();
|
||||
}
|
||||
else
|
||||
setDivToBanner(divID);
|
||||
}
|
||||
function scFinished(scName, scTitle) {
|
||||
window.sessionStorage.setItem(scName, '~done~');
|
||||
scList.delete(scName);
|
||||
}
|
||||
function setDivToBanner(divID) {
|
||||
var elem = document.getElementById(divID);
|
||||
if(elem != null) {
|
||||
if(elem.firstChild != null)
|
||||
elem.removeChild(elem.firstChild);
|
||||
elem.innerHTML = "<img src='app/dinamika/banner.png' align='center' height='80px' style='border:1px solid #7C2529; box-shadow: 5px 5px 10px rgba(124,37,41,0.5); padding: 10px; cursor:pointer' onclick='onBannerClick(\""+divID+"\")'>";
|
||||
}
|
||||
}
|
||||
|
||||
function onBannerClick(divID) {
|
||||
if(isClicked) return;
|
||||
if(unityDivID == null)
|
||||
isClicked = true;
|
||||
unityDivID = divID;
|
||||
if(quitCurUnity != null)
|
||||
quitCurUnity();
|
||||
else
|
||||
setDivToIFrame(divID);
|
||||
}
|
||||
function afterUnityQuit() {
|
||||
quitCurUnity = null;
|
||||
//const url = new URL(document.URL);
|
||||
//url.searchParams.delete('scenario');
|
||||
//url.searchParams.append('scenario', unityDivID);
|
||||
window.sessionStorage.setItem('scenarioID', unityDivID);
|
||||
window.sessionStorage.setItem('curScenarioPage', location.href);
|
||||
document.location.replace(location.href); //url.href
|
||||
}
|
||||
function setDivToIFrame(divID) {
|
||||
var elem = document.getElementById(divID);
|
||||
if(elem != null)
|
||||
elem.innerHTML = "<iframe src='"+divList.get(divID)+"' width='938px' height='532px' align='center' frameBorder='0' style='text-indent: 0px;'>Узел <b>iframe</b> не поддерживается браузером</iframe>";
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
||||
function onLearnedButton() {
|
||||
if(scList.size == 0){
|
||||
learnResult();
|
||||
let btn = document.getElementById('learnedButton');
|
||||
btn.style.display = 'none';
|
||||
} else {
|
||||
var msgStr;
|
||||
msgStr = '<p>Не изучены сценарии интерактивной модели ВС:</p><br/>';
|
||||
for (let sc of scList.values())
|
||||
msgStr += " - "+sc+"<br/>";
|
||||
$("#dialog").html(msgStr);
|
||||
$( function() {
|
||||
$( "#dialog" ).dialog();
|
||||
$('#dialog').dialog("option", "width", "auto"); $('#dialog').dialog("option", "height", "auto");
|
||||
} );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function onLoadFunction() {
|
||||
var H = document.getElementById('container_text').offsetHeight;
|
||||
window.sessionStorage.setItem('contentsHeight', H);
|
||||
if(typeof window.parent.objectHTMLLoaded !== "undefined")
|
||||
window.parent.objectHTMLLoaded();
|
||||
let timerId = setInterval(() => {
|
||||
var h = document.getElementById('container_text').offsetHeight;
|
||||
if(h != H) {
|
||||
H = h;
|
||||
window.sessionStorage.setItem('contentsHeight', H);
|
||||
window.parent.updateDocHeight();
|
||||
}
|
||||
}, 50);
|
||||
setTimeout(() => { clearInterval(timerId); }, 1000);
|
||||
}
|
||||
1856
s1000d/Converter_Source/app/dinamika/styles_edl.css
Normal file
13
s1000d/Converter_Source/app/dinamika/viewimg.css
Normal file
@@ -0,0 +1,13 @@
|
||||
#iv-container{position:fixed;width:100%;background:rgba(10,10,10,0.5);height:100%;top:0;left:0;display:none;z-index:1000}
|
||||
.iv-container{overflow:hidden}
|
||||
.iv-close{width:32px;height:32px;position:absolute;border: 1px solid white; right:20px;top:20px;background: rgba(124, 37, 41, 0.5); cursor:pointer;text-align:center;overflow:hidden;text-shadow:0 0 3px #6d6d6d;-webkit-transition:all ease 200ms;-moz-transition:all ease 200ms;-o-transition:all ease 200ms;transition:all ease 200ms}
|
||||
.iv-close:after,.iv-close:before{content:"";height:2px;width:26px;background:white;position:absolute;left:3px;top:17px;margin-top:-2px;border-radius:2px}
|
||||
.iv-close:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}
|
||||
.iv-close:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}
|
||||
.iv-close:hover{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg); background: rgb(124, 37, 41)}
|
||||
.iv-image-view{position:absolute;height:100%;width:100%}
|
||||
.iv-image-wrap{display:inline-block}
|
||||
.iv-image-wrap:active{cursor:move}
|
||||
.iv-large-image{cursor:move;max-width:100%;max-height:100%;position:absolute;background-color:#FFFFFF;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}
|
||||
.iv-loader{top:50%;left:50%;border-radius:50%;width:32px;height:32px;z-index:100;margin-top:-16px;margin-left:-16px;font-size:5px;position:absolute;text-indent:-9999em;border-top:1em solid rgba(255, 255, 255, .2);border-right:1em solid rgba(255, 255, 255, .2);border-bottom:1em solid rgba(255, 255, 255, .2);border-left:1em solid #fff;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}
|
||||
.iv-loader:after{width:10em;height:10em;border-radius:50%}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
|
||||
269
s1000d/Converter_Source/app/dinamika/viewimg.js
Normal file
@@ -0,0 +1,269 @@
|
||||
!function(e,t)
|
||||
{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.ViewBigimg=t()}
|
||||
(this,
|
||||
function()
|
||||
{
|
||||
"use strict";
|
||||
function l(){
|
||||
var e=!1;try{addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){e=!0}}))}catch(e){}return e
|
||||
}
|
||||
function o(e,t)
|
||||
{
|
||||
this.container=e;
|
||||
var i=function(){};
|
||||
this.onStart=t.onStart||i,
|
||||
this.onMove=t.onMove||i,
|
||||
this.onEnd=t.onEnd||i,
|
||||
//this.onKeyDown=t.onKeyDown||i,
|
||||
this.onMouseWheel=t.onMouseWheel||i,
|
||||
this.onClick=t.onClick||i,
|
||||
this.onPinch=t.onPinch||i
|
||||
}
|
||||
|
||||
o.prototype.init=function()
|
||||
{
|
||||
var r=this;
|
||||
return this.startHandle=function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var t=e.type,
|
||||
i="touchstart"===t?"touchmove":"mousemove",
|
||||
n="touchstart"===t?"touchend":"mouseup",
|
||||
o=e.clientX||e.touches[0].clientX,
|
||||
a=e.clientY||e.touches[0].clientY;
|
||||
function s(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var t=e.clientX||e.touches[0].clientX,i=e.clientY||e.touches[0].clientY;
|
||||
r.onMove(e,{dx:t-o,dy:i-a,mx:t,my:i})
|
||||
}
|
||||
!1!==r.onStart(e,{x:o,y:a})&&("touchstart"===t&&e.touches[1]&&r.onPinch(e),
|
||||
document.addEventListener(i,s,!("touchmove"!==i||!l())&&{capture:!1,passive:!1}),
|
||||
document.addEventListener(n,function e()
|
||||
{
|
||||
document.removeEventListener(i,s),
|
||||
document.removeEventListener(n,e),
|
||||
r.onEnd()
|
||||
}))
|
||||
},
|
||||
this.container.addEventListener("touchstart",this.startHandle,!1),
|
||||
this.container.addEventListener("mousedown",this.startHandle,!1),
|
||||
//this.container.addEventListener("onkeydown",this.onKeyDown,!1),
|
||||
//this.container.onkeydown = function(e){alert('!!close')},
|
||||
//document.getElementById('iv-container').contentEditable=true,
|
||||
//document.getElementById('iv-container').focus(),
|
||||
this.container.addEventListener("mousewheel",this.onMouseWheel,!1),
|
||||
this.container.addEventListener("click",this.onClick,!1),
|
||||
this
|
||||
},
|
||||
o.prototype.destroy=function()
|
||||
{
|
||||
this.container.removeEventListener("touchstart",this.startHandle),
|
||||
this.container.removeEventListener("mousedown",this.startHandle),
|
||||
//this.container.removeEventListener("onkeydown",this.onKeyDown),
|
||||
this.container.removeEventListener("mousewheel",this.onMouseWheel),
|
||||
this.container.removeEventListener("click",this.onClick)
|
||||
};
|
||||
|
||||
var r=function(e)
|
||||
{return e.preventDefault()};
|
||||
function n(e,t)
|
||||
{
|
||||
this.container=e,
|
||||
this.options=Object.assign({},n.defaults,t),
|
||||
this.zoomValue=100,
|
||||
e.classList.add("iv-container"),
|
||||
this.imageWrap=e.querySelector(".iv-image-wrap"),
|
||||
this.closeBtn=e.querySelector(".iv-close")
|
||||
}
|
||||
|
||||
return function()
|
||||
{
|
||||
var o=0;
|
||||
if(!window.requestAnimationFrame){
|
||||
for(var e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)
|
||||
window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],
|
||||
window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];
|
||||
window.requestAnimationFrame||(window.requestAnimationFrame=function(e)
|
||||
{
|
||||
var t=(new Date).getTime(),
|
||||
i=Math.max(0,16-(t-o)),
|
||||
n=window.setTimeout(function(){e(t+i)},i);
|
||||
return o=t+i,n
|
||||
}),
|
||||
window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e)
|
||||
{
|
||||
clearTimeout(e)
|
||||
})
|
||||
}
|
||||
}(),
|
||||
|
||||
n.prototype={constructor:n,_init:function()
|
||||
{
|
||||
var t,
|
||||
h=this,
|
||||
a=h.options,
|
||||
c=!1,
|
||||
e=h.container,
|
||||
i=h.imageWrap,
|
||||
s=0,
|
||||
n=0;
|
||||
h._imageSlider=new o(i,{
|
||||
onStart:function()
|
||||
{
|
||||
if(!h.loaded)return!1;
|
||||
if(!c){
|
||||
this.imgWidth=h.imageDim.w*h.zoomValue/100,
|
||||
this.imgHeight=h.imageDim.h*h.zoomValue/100,
|
||||
this.curImgLeft=parseFloat(h.currentImg.style.left),
|
||||
this.curImgTop=parseFloat(h.currentImg.style.top)}
|
||||
},
|
||||
onMove:function(e,t)
|
||||
{
|
||||
if(!c)
|
||||
{
|
||||
this.currentPos=t;
|
||||
var i=this.curImgLeft+t.dx,
|
||||
n=this.curImgTop+t.dy,
|
||||
o=Math.max((h.containerDim.w-this.imgWidth)/2,0),
|
||||
a=Math.max((h.containerDim.h-this.imgHeight)/2,0),
|
||||
s=h.containerDim.w-o,
|
||||
r=h.containerDim.h-a;
|
||||
i=Math.min(i,o),
|
||||
n=Math.min(n,a),
|
||||
i+this.imgWidth<s&&(i=s-this.imgWidth),
|
||||
n+this.imgHeight<r&&(n=r-this.imgHeight),
|
||||
h.currentImg.style.left=i+"px",
|
||||
h.currentImg.style.top=n+"px"
|
||||
}
|
||||
},
|
||||
onEnd:function(){},
|
||||
onMouseWheel:function(e){
|
||||
if(a.zoomOnMouseWheel&&h.loaded){
|
||||
var t=Math.max(-1,Math.min(1,e.wheelDelta)),
|
||||
i=h.zoomValue*(100+30*t)/100; // 15*t
|
||||
if(100<=i&&i<=a.maxZoom?s=0:s+=Math.abs(t),!(5<s)){e.preventDefault();var n=e.pageX,o=e.pageY;h.zoom(i,{x:n,y:o})}
|
||||
}
|
||||
},
|
||||
//onKeyDown:function(e){
|
||||
// alert('!!close');
|
||||
// var keycode = e.keyCode || e.which;
|
||||
// if(keycode === 27){ this._close(); }
|
||||
//},
|
||||
onClick:function(e){
|
||||
0==n?(n=Date.now(),t={x:e.pageX,y:e.pageY}):(Date.now()-n<500&&Math.abs(e.pageX-t.x)<50&&Math.abs(e.pageY-t.y)<50&&(h.zoomValue==a.zoomValue?h.zoom(200):h.resetZoom()),n=0)
|
||||
},
|
||||
onPinch:function(e){
|
||||
if(h.loaded){
|
||||
var t=e.touches[0],
|
||||
i=e.touches[1];
|
||||
if(t&&i){c=!0;var a=Math.sqrt(Math.pow(i.pageX-t.pageX,2)+Math.pow(i.pageY-t.pageY,2)),s=h.zoomValue,r={x:(i.pageX+t.pageX)/2,y:(i.pageY+t.pageY)/2},
|
||||
n=function(e){
|
||||
e.preventDefault();
|
||||
var t=e.touches[0],
|
||||
i=e.touches[1],
|
||||
n=Math.sqrt(Math.pow(i.pageX-t.pageX,2)+Math.pow(i.pageY-t.pageY,2)),o=s+(n-a)/2;h.zoom(o,r)
|
||||
};
|
||||
document.addEventListener("touchmove",n,!!l()&&{capture:!1,passive:!1}),
|
||||
document.addEventListener("touchend",function e(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",e),c=!1})
|
||||
}
|
||||
}
|
||||
}
|
||||
}).init(),
|
||||
a.refreshOnResize&&(this._resizeHandler=this.refresh.bind(this),
|
||||
window.addEventListener("resize",this._resizeHandler)),
|
||||
e.addEventListener("touchmove",r,!!l()&&{capture:!1,passive:!1}),
|
||||
e.addEventListener("mousewheel",r),
|
||||
this._close=this.hide.bind(this),
|
||||
this.closeBtn.addEventListener("click",this._close)},
|
||||
zoom:function(d,v){
|
||||
var p=this,e=this.options.maxZoom,
|
||||
g=this.zoomValue,
|
||||
f=this.currentImg,
|
||||
w=this.containerDim,
|
||||
y=this.imageDim,
|
||||
x=parseFloat(f.style.left),
|
||||
M=parseFloat(f.style.top);
|
||||
d=Math.round(Math.max(100,d)),
|
||||
d=Math.min(e,d),v=v||{x:w.w/2,y:w.h/2},
|
||||
p._clearFrames();
|
||||
var z=0;
|
||||
!function e(){
|
||||
++z<20&&(p._zoomFrame=requestAnimationFrame(e));var t,i,n=(t=z,t/=20,-(d-(i=g))*(--t*t*t*t-1)+i),o=n/g,a=y.w*n/100,s=y.h*n/100,r=-((v.x-x)*o-v.x),h=-((v.y-M)*o-v.y),c=Math.max((w.w-a)/2,0),l=Math.max((w.h-s)/2,0),m=w.w-c,u=w.h-l;(r=Math.min(r,c))+a<m&&(r=m-a),(h=Math.min(h,l))+s<u&&(h=u-s),f.style.width=a+"px",f.style.height=s+"px",f.style.left=r+"px",f.style.top=h+"px",p.zoomValue=n
|
||||
}()
|
||||
},
|
||||
_clearFrames:function(){cancelAnimationFrame(this._zoomFrame)},
|
||||
resetZoom:function(){this.zoom(this.options.zoomValue)},
|
||||
_calculateDimensions:function(){
|
||||
var e,t,i=this.currentImg,
|
||||
n=this.container,
|
||||
o=i.getBoundingClientRect().width,
|
||||
a=i.getBoundingClientRect().height,
|
||||
s=n.getBoundingClientRect().width,
|
||||
r=n.getBoundingClientRect().height;
|
||||
this.containerDim={w:s,h:r};
|
||||
var h=o/a;t=(e=a<o&&s<=r||s<h*r?s:h*r)/h,
|
||||
this.imageDim={w:e,h:t},i.style.width=e+"px",i.style.height=t+"px",i.style.left=(s-e)/2+"px",i.style.top=(r-t)/2+"px",i.style.maxWidth="none",i.style.maxHeight="none"
|
||||
},
|
||||
refresh:function(){
|
||||
this.loaded&&(this._calculateDimensions(),this.resetZoom())
|
||||
},
|
||||
show:function(e){
|
||||
this.container.style.display="block",e&&this.load(e)
|
||||
},
|
||||
hide:function(){this.container.style.display="none"},
|
||||
destroy:function(){
|
||||
window.removeEventListener("resize",this._resizeHandler),
|
||||
this._imageSlider.destroy(),
|
||||
this.closeBtn.removeEventListener("click",this._close),
|
||||
this.container.parentNode.removeChild(this.container),
|
||||
this.closeBtn=null,
|
||||
this.container=null,
|
||||
this.imageWrap=null,
|
||||
this.options=null,
|
||||
this._close=null,
|
||||
this._imageSlider=null,
|
||||
this._resizeHandler=null
|
||||
},
|
||||
load:function(e){
|
||||
var t=this,i=this.container,
|
||||
n=this.imageWrap,
|
||||
o=n.querySelector(".iv-large-image");
|
||||
o&&n.removeChild(o);
|
||||
var a,s=document.createElement("img");
|
||||
function r(){
|
||||
t.loaded=!0,
|
||||
t.zoomValue=100,
|
||||
s.style.display="block",
|
||||
t.refresh(),
|
||||
i.querySelector(".iv-loader").style.display="none"
|
||||
}
|
||||
s.classList.add("iv-large-image"),
|
||||
s.src=e,
|
||||
this.currentImg=s,
|
||||
this.imageWrap.appendChild(s),
|
||||
this.loaded=!1,
|
||||
i.querySelector(".iv-loader").style.display="block",s.style.display="none",
|
||||
!(a=s).compvare||void 0!==a.naturalWidth&&0===a.naturalWidth?s.onload=function(){r()}:r()
|
||||
}
|
||||
},
|
||||
n.defaults={zoomValue:100,maxZoom:800,refreshOnResize:!0,zoomOnMouseWheel:!0},
|
||||
function(e){
|
||||
var t=document.createElement("div");
|
||||
t.id="iv-container",
|
||||
t.innerHTML='<div class="iv-loader"></div><div class="iv-image-view"><div class="iv-image-wrap"></div><div class="iv-close"></div></div>',
|
||||
document.body.appendChild(t);
|
||||
|
||||
t.onkeypress = function(){alert('');};
|
||||
//t.addEventListener("click",this._close)};
|
||||
//t.onkeydown = function(e){
|
||||
// alert('!!close');
|
||||
// var keycode = e.keyCode || e.which;
|
||||
// if(keycode === 27){ this._close(); }
|
||||
//}
|
||||
//document.getElementById('iv-container').contentEditable=true;
|
||||
//document.getElementById('iv-container').focus();
|
||||
var i=new n(t,e);
|
||||
return i._init(),i
|
||||
}
|
||||
});
|
||||
BIN
s1000d/Converter_Source/app/dinamika/viewimg.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
292
s1000d/Converter_Source/console.cpp
Normal file
@@ -0,0 +1,292 @@
|
||||
#include "console.h"
|
||||
#include "s1000d_manager.h"
|
||||
#include <iostream>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// -SCORM -p "FULL, 2p" E:\C++\Test\01\auk-01_mi-38.lyx E:\C++\Test\01
|
||||
// -SCORM -p "FULL" E:\C++\Test\AUK-01\01_mi-38.lyx E:\C++\Test\AUK-01
|
||||
// -SCORM E:\C++\Test\AUK02_Mi38\auk-02_mi-38.lyx E:\C++\Test\AUK02_Mi38
|
||||
|
||||
console::console()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int console::exec(int argc, char *argv[])
|
||||
{
|
||||
//Q_UNUSED(argc)
|
||||
if(QString(argv[1]) == "-?" || QString(argv[1]) == "-h" || QString(argv[1]) == "/h" || argc < 3)
|
||||
{ printHelp(); return 0; }
|
||||
|
||||
exportSCORM = exportS1000D = exportSingleSCORM = false;
|
||||
for(int i = 1; i < argc-2; i++)
|
||||
{
|
||||
if(QString(argv[i]).toUpper() == "-SCORM") exportSCORM = true;
|
||||
if(QString(argv[i]).toUpper() == "-SINGLESCORM") exportSingleSCORM = true;
|
||||
if(QString(argv[i]).toUpper() == "-S1000D") exportS1000D = true;
|
||||
if(QString(argv[i]).toLower() == "-p" && (i+1<argc-2))
|
||||
{
|
||||
QStringList l = QString(argv[i+1]).replace(" ", "").replace("\"","").split(",");
|
||||
packageNames.append(l);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if(!exportSCORM && !exportS1000D && !exportSingleSCORM) {exportSCORM = exportS1000D = true;}
|
||||
lyxFile = QString(argv[argc-2]); dstPath = QString(argv[argc-1]);
|
||||
QFileInfo lyxFileInfo(lyxFile); QDir dstdir(dstPath);
|
||||
qDebug() << "Конвертация " << lyxFileInfo.fileName() << ":";
|
||||
|
||||
if(!lyxFileInfo.exists()) {
|
||||
qDebug() << " Файл LyX не найден: " << lyxFile;
|
||||
qDebug() << " Запустите конвертер с параметром -h для описания.";
|
||||
return 1;
|
||||
}
|
||||
if(!dstdir.exists()) {
|
||||
qDebug() << " Папка назначения не найдена: " << dstPath;
|
||||
qDebug() << " Запустите конвертер с параметром -h для описания.";
|
||||
return 1;
|
||||
}
|
||||
QString pckFileName = lyxFile;
|
||||
|
||||
pckFileName.replace(".lyx", ".xml");
|
||||
if(!QFileInfo::exists(pckFileName)) {
|
||||
qDebug() << " Файл пакетов в папке АУК не найден: " << pckFileName;
|
||||
qDebug() << " Запустите конвертер в оконном режиме и создайте конфигурацию пакетов экспорта.";
|
||||
return 1;
|
||||
}
|
||||
|
||||
SM.isConsole = true;
|
||||
SM.rootLyXfile = lyxFile;
|
||||
SM.LoadPackagesXML();
|
||||
QStringList configPackageNames;
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM.packages)
|
||||
configPackageNames.append(pack.cfgName);
|
||||
if(packageNames.count() == 0)
|
||||
packageNames = configPackageNames;
|
||||
else {
|
||||
foreach(QString n, packageNames)
|
||||
if(!configPackageNames.contains(n)) {
|
||||
qDebug() << " Пакет " << n << " не сконфигурирован.";
|
||||
qDebug() << " Запустите конвертер в оконном режиме и создайте конфигурацию пакетов экспорта.";
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
printf(" LyX -> HTML (%d sec) .. ", SM.timeConvert); std::cout << std::flush;
|
||||
|
||||
QElapsedTimer timer; timer.start();
|
||||
if(!lyx.Import(&SM, lyxFile, NULL)) {
|
||||
printf("ОШИБКА импорта LyX.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
SM.LoadPackagesXML();
|
||||
|
||||
if(!isCodingFilled()) {
|
||||
// printf("Ошибка: кодирование S1000D не заполнено.\n");
|
||||
// return 1;
|
||||
fillDefaultCoding();
|
||||
}
|
||||
|
||||
html.Generate(&SM, false, NULL);
|
||||
SM.LoadPackagesXML();
|
||||
SM.timeConvert = (int)timer.elapsed()/1000;
|
||||
SM.SaveProject();
|
||||
printf("Ok\n");
|
||||
|
||||
if(exportSCORM) {
|
||||
printf(" SCORM (%d sec):\n", SM.timeSCORM*packageNames.count());
|
||||
if(packageNames.count() == 0)
|
||||
printf("Пакеты не заданы. Пропущено.\n");
|
||||
else
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM.packages)
|
||||
if(packageNames.contains(pack.cfgName))
|
||||
{
|
||||
for(int i=0;i<SM.items.count();i++)
|
||||
SM.items[i].toExport = SM.items[i].inPackages.contains(pack.cfgName);
|
||||
QString s = " \""+pack.cfgName+"\" -> "+pack.exportFileName+"_SCORM"+".zip .. " ;
|
||||
printf("%s", s.toLocal8Bit().toStdString().c_str()); std::cout << std::flush;
|
||||
QApplication::processEvents();
|
||||
bool res = SM.exportSCORM(dstPath, pack.exportFileName, pack.title, NULL);
|
||||
if(res)
|
||||
printf("Ok\n");
|
||||
else
|
||||
printf("ОШИБКА экспорта\n");
|
||||
}
|
||||
}
|
||||
if(exportSingleSCORM) {
|
||||
printf(" Single SCORM (%d sec):\n", SM.timeSingleSCORM*packageNames.count());
|
||||
if(packageNames.count() == 0)
|
||||
printf("Пакеты не заданы. Пропущено.\n");
|
||||
else
|
||||
{
|
||||
for(int i=0;i<SM.items.count();i++)
|
||||
SM.items[i].toExport = true;
|
||||
QString s = " -> "+SM.packages[0].exportFileName+" .. " ;
|
||||
printf("%s", s.toLocal8Bit().toStdString().c_str()); std::cout << std::flush;
|
||||
QApplication::processEvents();
|
||||
bool res = SM.exportSingleSCORM(dstPath, SM.packages[0].exportFileName, SM.packages[0].title, NULL);
|
||||
if(res)
|
||||
printf("Ok\n");
|
||||
else
|
||||
printf("ОШИБКА экспорта\n");
|
||||
}
|
||||
}
|
||||
if(exportS1000D) {
|
||||
printf(" S1000D (%d sec):\n", SM.timeS1000D*packageNames.count()) ;
|
||||
if(packageNames.count() == 0)
|
||||
printf("Пакеты не заданы. Пропущено.\n");
|
||||
else
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM.packages)
|
||||
if(packageNames.contains(pack.cfgName))
|
||||
{
|
||||
for(int i=0;i<SM.items.count();i++)
|
||||
SM.items[i].toExport = SM.items[i].inPackages.contains(pack.cfgName);
|
||||
QString s = " \""+pack.cfgName+"\" -> "+pack.exportFileName+".zip .. ";
|
||||
printf("%s", s.toLocal8Bit().toStdString().c_str()); std::cout << std::flush;
|
||||
QApplication::processEvents();
|
||||
bool res = SM.exportS1000D(dstPath, pack.exportFileName, pack.title, NULL);
|
||||
if(res)
|
||||
printf("Ok\n");
|
||||
else
|
||||
printf("ОШИБКА экспорта\n");
|
||||
}
|
||||
}
|
||||
|
||||
SM.SaveProject(); //SM.SavePackagesXML();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void console::printHelp()
|
||||
{
|
||||
setlocale(LC_ALL,"Russian");
|
||||
|
||||
qDebug() << "Конвертер АУК с формата LyX в пакеты стандартов S1000D и SCORM\n";
|
||||
qDebug() << "Для запуска в оконном режиме запустите без параметров.";
|
||||
qDebug() << "Формирование пакетов в консольном режиме выполняется со следующими параметрами:";
|
||||
qDebug() << "CONVERTER [-SCORM] [-S1000D] [-p \"package1, ...\"] lyxfile destpath\n";
|
||||
qDebug() << " -SCORM - тип формируемого пакета - SCORM;";
|
||||
qDebug() << " -SingleSCORM - тип формируемого пакета - единый пакет SCORM по всем категориям (пакетам);";
|
||||
qDebug() << " -S1000D - тип формируемого пакета - S1000D, без явного указания формируются оба типа; ";
|
||||
qDebug() << " -p - сформировать пакеты с именами package1,... (список через запятую в \"кавычках\");";
|
||||
qDebug() << " без данной опции формируются все созданные в оконном режиме пакеты;";
|
||||
qDebug() << " lyxfile - путь и имя файла LyX;";
|
||||
qDebug() << " dstpath - путь для размещения сформировнных пакетов.";
|
||||
}
|
||||
|
||||
|
||||
QString console::delYYY(QString st) {
|
||||
return st.replace("X", "").replace("Y", "").replace("N", "");
|
||||
}
|
||||
bool console::isCodingFilled() {
|
||||
tmpStrList.clear(); tmpIntList.clear();
|
||||
if(SM.items.count() == 0) return false;
|
||||
for(int i=0;i<SM.items.count();i++)
|
||||
if(SM.items[i].parent == -1)
|
||||
if(!isCodingFilledRecurs(i))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool console::isCodingFilledRecurs(int ind) {
|
||||
SM.setCurItem(ind);
|
||||
|
||||
QString fCode, title;
|
||||
if(SM.item->moduleType == mtPM) {
|
||||
QString pmTitle, modelIdentCode, pmIssuer, pmNumber, pmVolume;
|
||||
title = pmTitle = SM.getNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle");
|
||||
modelIdentCode = SM.getNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "modelIdentCode");
|
||||
pmIssuer = SM.getNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmIssuer");
|
||||
pmNumber = SM.getNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmNumber");
|
||||
pmVolume = SM.getNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmVolume");
|
||||
if(pmTitle.isEmpty() || delYYY(pmIssuer).isEmpty() || delYYY(pmNumber).isEmpty() || delYYY(pmVolume).isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
fCode = SM.pmIdentString("identAndStatusSection.pmAddress.pmIdent");
|
||||
}
|
||||
|
||||
if(SM.item->moduleType == mtDM) {
|
||||
QString modelIdentCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "modelIdentCode");
|
||||
QString systemDiffCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "systemDiffCode");
|
||||
QString systemCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "systemCode");
|
||||
QString subSystemCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "subSystemCode");
|
||||
QString subSubSystemCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "subSubSystemCode");
|
||||
QString assyCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "assyCode");
|
||||
QString disassyCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "disassyCode");
|
||||
QString disassyCodeVariant = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "disassyCodeVariant");
|
||||
QString infoCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "infoCode");
|
||||
QString infoCodeVariant = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "infoCodeVariant");
|
||||
QString itemLocationCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "itemLocationCode");
|
||||
QString learnCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "learnCode");
|
||||
QString learnEventCode = SM.getNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "learnEventCode");
|
||||
QString techName = SM.getNodeText("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.techName");
|
||||
//QString infoName = SM.getNodeText("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.infoName");
|
||||
if(delYYY(modelIdentCode).isEmpty() || delYYY(systemDiffCode).isEmpty() || delYYY(systemCode).isEmpty() || delYYY(subSystemCode).isEmpty() || delYYY(subSubSystemCode).isEmpty() ||
|
||||
delYYY(assyCode).isEmpty() || delYYY(disassyCode).isEmpty() || delYYY(disassyCodeVariant).isEmpty() || delYYY(infoCode).isEmpty() || delYYY(infoCodeVariant).isEmpty() ||
|
||||
delYYY(itemLocationCode).isEmpty() || delYYY(learnCode).isEmpty() || delYYY(learnEventCode).isEmpty() || delYYY(techName).isEmpty() ) {
|
||||
return false;
|
||||
}
|
||||
title = techName;
|
||||
fCode = SM.dmIdentString("identAndStatusSection.dmAddress.dmIdent");
|
||||
}
|
||||
|
||||
int tmpInd = tmpStrList.indexOf(fCode);
|
||||
if(tmpInd != -1) {
|
||||
SM.setCurItem(tmpIntList[tmpInd]);
|
||||
QString title2;
|
||||
if(SM.item->moduleType == mtDM)
|
||||
title2 = SM.getNodeText("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.techName");
|
||||
else
|
||||
title2 = SM.getNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle");
|
||||
return false;
|
||||
}
|
||||
tmpStrList.append(fCode); tmpIntList.append(ind);
|
||||
|
||||
for(int i=0;i<SM.items[ind].child.count();i++)
|
||||
if(!isCodingFilledRecurs(SM.items[ind].child[i]))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void console::fillDefaultCoding() {
|
||||
dmCnt = pmCnt = 0;
|
||||
for (int i = 0; i < SM.items.count(); i++)
|
||||
if (SM.items[i].parent == -1)
|
||||
fillDefaultCodingRecurs(i);
|
||||
}
|
||||
|
||||
void console::fillDefaultCodingRecurs(int ind) {
|
||||
SM.setCurItem(ind);
|
||||
|
||||
QString fCode, title;
|
||||
if (SM.item->moduleType == mtPM) {
|
||||
SM.setNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "modelIdentCode", QString::number(pmCnt++));
|
||||
SM.setNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmIssuer", "ORIG");
|
||||
SM.setNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmNumber", "GTC00");
|
||||
SM.setNodeAttr("identAndStatusSection.pmAddress.pmIdent.pmCode", "pmVolume", "00");
|
||||
SM.item->fileCode = SM.pmIdentString("identAndStatusSection.pmAddress.pmIdent");
|
||||
}
|
||||
|
||||
if (SM.item->moduleType == mtDM) {
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "modelIdentCode", "DinamikaEDoc");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "systemDiffCode", "A");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "systemCode", "00");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "subSystemCode", "0");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "subSubSystemCode", QString::number(dmCnt++));
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "assyCode", "00");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "disassyCode", "00");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "disassyCodeVariant", "A");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "infoCode", "010");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "infoCodeVariant", "A");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "itemLocationCode", "A");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "learnCode", "T40");
|
||||
SM.setNodeAttr("identAndStatusSection.dmAddress.dmIdent.dmCode", "learnEventCode", "C");
|
||||
SM.item->fileCode = SM.dmIdentString("identAndStatusSection.dmAddress.dmIdent");
|
||||
}
|
||||
|
||||
for (int i = 0; i < SM.items[ind].child.count(); i++)
|
||||
fillDefaultCodingRecurs(SM.items[ind].child[i]);
|
||||
}
|
||||
39
s1000d/Converter_Source/console.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifndef CONSOLE_H
|
||||
#define CONSOLE_H
|
||||
|
||||
#include <QObject>
|
||||
#include "s1000d_manager.h"
|
||||
#include "editormainwindow.h"
|
||||
#include "ru_const.h"
|
||||
#include "lyx.h"
|
||||
#include "html.h"
|
||||
#include <QElapsedTimer>
|
||||
|
||||
class console
|
||||
{
|
||||
//Q_OBJECT
|
||||
public:
|
||||
console();
|
||||
int exec(int argc, char *argv[]);
|
||||
void printHelp();
|
||||
|
||||
QString lyxFile, dstPath;
|
||||
QList<QString> packageNames;
|
||||
bool exportSCORM, exportS1000D, exportSingleSCORM;
|
||||
QString delYYY(QString st);
|
||||
bool isCodingFilled();
|
||||
bool isCodingFilledRecurs(int ind);
|
||||
void fillDefaultCoding();
|
||||
void fillDefaultCodingRecurs(int ind);
|
||||
|
||||
S1000D_Manager SM;
|
||||
LyX lyx;
|
||||
HTML html;
|
||||
RU_Const ru_const;
|
||||
QStringList tmpStrList;
|
||||
QList<int> tmpIntList;
|
||||
int dmCnt;
|
||||
int pmCnt;
|
||||
};
|
||||
|
||||
#endif // CONSOLE_H
|
||||
6
s1000d/Converter_Source/desktop.ini
Normal file
@@ -0,0 +1,6 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=C:\Windows\System32\SHELL32.dll,84
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Generic
|
||||
2195
s1000d/Converter_Source/editormainwindow.cpp
Normal file
211
s1000d/Converter_Source/editormainwindow.h
Normal file
@@ -0,0 +1,211 @@
|
||||
#ifndef EDITORMAINWINDOW_H
|
||||
#define EDITORMAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QLineEdit>
|
||||
#include <QListWidget>
|
||||
#include "s1000d_manager.h"
|
||||
#include "ru_const.h"
|
||||
#include "lyx.h"
|
||||
#include "html.h"
|
||||
#include "exportdialog.h"
|
||||
#include "splashform.h"
|
||||
#include <QTreeWidgetItem>
|
||||
#include <QAbstractButton>
|
||||
#include <QElapsedTimer>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class EditorMainWindow; }
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
||||
// figure 552
|
||||
class EditorMainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QString version = "вер. 1.18b";
|
||||
EditorMainWindow(QWidget *parent = nullptr);
|
||||
~EditorMainWindow();
|
||||
|
||||
bool isProjectOpened;
|
||||
bool isProjectModifyed;
|
||||
S1000D_Manager SM;
|
||||
LyX lyx;
|
||||
HTML html;
|
||||
RU_Const ru_const;
|
||||
struct { QString lastOpenedFile; } config;
|
||||
QDialog *logDialog; QListWidget* logDialogList;
|
||||
SplashForm* splash;
|
||||
ExportDialog* exportDlg;
|
||||
|
||||
int bugCnt=0;
|
||||
QIcon iconFolder = QIcon(":new/Icons/folder.png");
|
||||
QIcon iconFolder_ex = QIcon(":new/Icons/folder_exclamation.png");
|
||||
QIcon iconDoc_head_blue = QIcon(":new/Icons/doc_head_blue.png");
|
||||
QIcon iconDoc_head_blue_ex = QIcon(":new/Icons/doc_head_blue_exclamation.png");
|
||||
QIcon iconSheep_up_arrow = QIcon(":/new/Icons/sheep_up_arrow.png");
|
||||
bool DBG=true;
|
||||
bool allowCodePageToSetItems = true;
|
||||
bool allowCodePageToCallOnChangeComboBox = true;
|
||||
bool allowDMCodePageToSetItems = true;
|
||||
bool allowDMCodePageCallOnChangeComboBox = false;
|
||||
bool allowDMLearningPageToSetItems = true;
|
||||
bool allowDMLearningPageCallOnChangeLists = true;
|
||||
bool isClearing = false;
|
||||
QStringList tmpStrList;
|
||||
QList<int> tmpIntList;
|
||||
|
||||
void openLyXFile(QString fileName);
|
||||
void Save();
|
||||
|
||||
bool event(QEvent*);
|
||||
bool eventFilter(QObject* obj, QEvent* ev);
|
||||
void setIsModifyed(bool flag);
|
||||
void fillTreeWidgetWithItems();
|
||||
QList<QTreeWidgetItem *> makeTreeWidgetFromItems(QTreeWidgetItem *parent, QList<int> list);
|
||||
void updateTreeWidgetNames();
|
||||
void updateTreeWidgetNamesRecurs(QTreeWidgetItem *node);
|
||||
void fillItemsFromTreeWidget(int parentInd, QTreeWidgetItem *node);
|
||||
void treeWidgetNormalizeDMsAfterDrop(QTreeWidgetItem *node);
|
||||
QTreeWidgetItem* getTreeWidgetItemByItemIndexRecurs(int itemInd, QTreeWidgetItem *node);
|
||||
QTreeWidgetItem* getTreeWidgetItemByItemIndex(int itemInd);
|
||||
QString delYYY(QString st);
|
||||
void fillLearningPageWithData();
|
||||
int getlcInteractionFromQuestRow(int row);
|
||||
bool isCodingFilled();
|
||||
bool isCodingFilledRecurs(QTreeWidgetItem* treeitem);
|
||||
void fillDefaultCoding();
|
||||
void fillDefaultCodingRecurs(QTreeWidgetItem* treeitem);
|
||||
int pmCnt, dmCnt;
|
||||
|
||||
Q_SLOT void exportS1000D();
|
||||
Q_SLOT void exportSCORM();
|
||||
Q_SLOT void exportSingleSCORM();
|
||||
Q_SLOT void exportEDL();
|
||||
|
||||
private slots:
|
||||
void on_actionOpenFolder_triggered();
|
||||
void on_treeWidget_itemSelectionChanged();
|
||||
void on_actionAddPM_triggered();
|
||||
void on_actionAddDM_triggered();
|
||||
void on_splitter_splitterMoved(int pos, int index);
|
||||
void on_actionSwitchToCodingPage_triggered();
|
||||
void on_actionSwitchToDataPage_triggered();
|
||||
void on_actionSaveProject_triggered();
|
||||
|
||||
void pmc_btn_pmIssuerPressed();
|
||||
void pmc_btn_modelIdentCodePressed();
|
||||
void pmc_cb_pmNumABC_Changed(int ind);
|
||||
void pmc_cb_pmNum_Changed(int ind);
|
||||
void pmc_cb_pmVolume_Changed(int ind);
|
||||
void codePagePM_TitleChanged();
|
||||
void codePagePM_EditChanged(QString newText);
|
||||
void codePageDM_TitleChanged();
|
||||
void codePageDM_EditChanged(QString newText);
|
||||
|
||||
void on_actionDeleteItem_triggered();
|
||||
void on_dmc_btnBox_IsLearningDM_clicked(QAbstractButton *button);
|
||||
void on_dmc_cb_InfoSets_currentIndexChanged(int index);
|
||||
void on_dml_btnBox_question_clicked(QAbstractButton *aButton);
|
||||
void on_dml_btnBox_answer_clicked(QAbstractButton *aButton);
|
||||
void on_dml_lw_question_currentRowChanged(int newRow);
|
||||
void on_dml_lw_question_itemChanged(QListWidgetItem *item);
|
||||
void on_dml_lw_answer_itemChanged(QListWidgetItem *item);
|
||||
void on_actionLyXImport_triggered();
|
||||
void on_action_refreshFromLyX_triggered();
|
||||
void on_actionOpenInBrowser_triggered();
|
||||
void on_actionExit_triggered();
|
||||
|
||||
void on_S1000D_doc_dmc_linkActivated(const QString &link);
|
||||
void on_label_33_linkActivated(const QString &link);
|
||||
void on_action_regenHTML_triggered();
|
||||
void on_action_Export_triggered();
|
||||
void on_label_34_linkActivated(const QString &link);
|
||||
void on_dmc_btn_Qual_clicked(bool checked);
|
||||
void on_pmc_btn_Qual_clicked(bool checked);
|
||||
|
||||
void treeWidgetDrop();
|
||||
|
||||
|
||||
private:
|
||||
Ui::EditorMainWindow *ui;
|
||||
void resizeEvent(QResizeEvent*);
|
||||
};
|
||||
#endif // EDITORMAINWINDOW_H
|
||||
|
||||
/*
|
||||
<security securityClassification="01"/>
|
||||
<issueInfo inWork="00" issueNumber="XXX"/>
|
||||
<restrictionInfo> <copyright> <copyrightPara>© 2017 АО «Вертолеты России»
|
||||
</copyrightPara></copyright></restri
|
||||
<responsiblePartnerCompany enterpriseCode="CAGEC">
|
||||
<enterpriseName>АО «ВСК»</enterpriseName>
|
||||
</responsiblePartnerCompany>
|
||||
<originator enterpriseCode="CAGEC">
|
||||
<enterpriseName>Наименование компании-разработчика</
|
||||
enterpriseName>
|
||||
</originator>
|
||||
|
||||
|
||||
|
||||
Ссылки на модули данных [с BRDP-S1-00102 по BRDPS1-
|
||||
00104, BRDP-S1-00107]
|
||||
Использование атрибутов ссылок на модули данных dmRef:
|
||||
- applicRefId — не обязательный
|
||||
- id — запрещен
|
||||
- changeMark, changeType, reasonForUpdateRefIds — запрещены
|
||||
- referredFragment — запрещен
|
||||
- securityClassification, commercialClassification — запрещены
|
||||
- authorityName, authorityDocument — запрещены
|
||||
Использование дочерних элементов элемента dmRef:
|
||||
- behavior — запрещен
|
||||
- issueInfo — запрещен
|
||||
- language — запрещен
|
||||
- dmTitle — обязательный
|
||||
- issueDate — запрещен
|
||||
|
||||
Использование заголовков [BRDP-S1-00118, BRDP-S1-00120]
|
||||
Контексты использования элемента title:
|
||||
- элемент levelledPara — не обязательно, можно включать в уровнях с 6 по 8
|
||||
- элемент table — обязательно
|
||||
- элемент multimedia — обязательно
|
||||
- элемент proceduralStep — не обязательно, можно включать в уровнях с 6 по 8
|
||||
|
||||
Использование иллюстраций и активных участков/хотспотов
|
||||
[BRDP-S1-00125, BRDP-S1-00132]
|
||||
Использование атрибутов элемента hotspot:
|
||||
- applicRefId — не обязательный
|
||||
- id — обязательный
|
||||
- changeMark, changeType, reasonForUpdateRefIds — запрещены
|
||||
- applicationStructureIdent — обязательный (уникальный идентификатор в SVG)
|
||||
- applicationStructureName — обязательный (например, обозначение выноски 1,2,3 или
|
||||
обозначение)
|
||||
- hotspotType — обязательный (callout — выноска, detail — контур детали/элемента)
|
||||
- hotspotTitle — обязательный
|
||||
- objectDescr — не обязательный
|
||||
- objectCoordinates — запрещен
|
||||
- visibility — не обязательный
|
||||
- securityClassification, commercialClassification, caveat — запрещены
|
||||
|
||||
BRDP-S1-00133]
|
||||
9.1 Объявление мультимедийного объекта
|
||||
Использование вложенных элементов multimedia:
|
||||
- title — обязательный
|
||||
Использование атрибутов элемента multimediaObject:
|
||||
- fullscreen — запрещен
|
||||
- multimediaObjectWidth — необязательный
|
||||
- autoPlay — запрещен
|
||||
- multimediaObjectHeight — необязательный
|
||||
- multimediaType — обязательный
|
||||
- runTimeDuration — запрещен
|
||||
- showPluginControls — запрещен
|
||||
Указание типа мультимедийного объекта выполняется с использованием атрибута
|
||||
multimediaType и элемента parameter, смотри (Таблица 10).
|
||||
Наличие одного элемента parameter обязательно, недопустимы 2 или более
|
||||
элементов parameter c атрибутом parameterIdent=”contenttype”.
|
||||
Таблица 10 Использование мультимедийных объектов. Идентификация типа объекта
|
||||
|
||||
|
||||
*/
|
||||
2489
s1000d/Converter_Source/editormainwindow.ui
Normal file
315
s1000d/Converter_Source/exportdialog.cpp
Normal file
@@ -0,0 +1,315 @@
|
||||
#include "exportdialog.h"
|
||||
#include "ui_exportdialog.h"
|
||||
#include <QDebug>
|
||||
#include <QFileDialog>
|
||||
#include <QTimer>
|
||||
#include <QCloseEvent>
|
||||
#include <QMessageBox>
|
||||
|
||||
ExportDialog::ExportDialog(QWidget *parent, S1000D_Manager* _SM) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::ExportDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->dlgTree->setFocus();
|
||||
SM = _SM;
|
||||
flagCanSetCheck = true;
|
||||
}
|
||||
|
||||
ExportDialog::~ExportDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ExportDialog::on_btnCloseDlg_clicked()
|
||||
{
|
||||
this->close();
|
||||
}
|
||||
|
||||
void ExportDialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
SM->SavePackagesXML();
|
||||
|
||||
QString packFNCheck = "";
|
||||
QStringList packFNList;
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM->packages)
|
||||
if(packFNList.contains(pack.exportFileName))
|
||||
{packFNCheck = pack.exportFileName; break;}
|
||||
else
|
||||
packFNList.append(pack.exportFileName);
|
||||
if (packFNCheck == "") {
|
||||
//SM->SavePackagesXML();
|
||||
event->accept();
|
||||
} else {
|
||||
QMessageBox::warning(this, tr("Предупреждение"), tr("Дублирование имен файлов пакетов конфигурации.\n"),
|
||||
QMessageBox::Ok, QMessageBox::Ok);
|
||||
//event->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
void ExportDialog::on_btnExportS1000D_clicked()
|
||||
{
|
||||
Q_EMIT actionS1000Dexport();
|
||||
}
|
||||
void ExportDialog::on_btnExportSCORM_clicked()
|
||||
{
|
||||
Q_EMIT actionSCORMexport();
|
||||
}
|
||||
void ExportDialog::on_btnExportEDL_clicked()
|
||||
{
|
||||
Q_EMIT actionEDLexport();
|
||||
}
|
||||
void ExportDialog::on_btnExportSingleSCORM_clicked()
|
||||
{
|
||||
Q_EMIT actionSingleSCORMexport();
|
||||
}
|
||||
|
||||
void ExportDialog::on_dlgTree_itemChanged(QTreeWidgetItem *item, int)
|
||||
{
|
||||
QString nm = item->text(0);
|
||||
if(item->checkState(0) == Qt::Checked) {
|
||||
if(item->parent() != nullptr)
|
||||
item->parent()->setCheckState(0, Qt::Checked);
|
||||
} else {
|
||||
for(int i=0;i<item->childCount();i++)
|
||||
item->child(i)->setCheckState(0, Qt::Unchecked);
|
||||
}
|
||||
|
||||
if(ui->cbPackageList->currentIndex() < 0) return;
|
||||
if(ui->cbPackageList->currentText() != ui->cbPackageList->itemText(ui->cbPackageList->currentIndex()))
|
||||
return;
|
||||
if(!flagCanSetCheck) return;
|
||||
|
||||
if(item->checkState(0) == Qt::Checked) {
|
||||
if(!SM->items[item->data(0, Qt::UserRole).toInt()].inPackages.contains(SM->packages[ui->cbPackageList->currentIndex()].cfgName))
|
||||
SM->items[item->data(0, Qt::UserRole).toInt()].inPackages.append(SM->packages[ui->cbPackageList->currentIndex()].cfgName);
|
||||
} else {
|
||||
if(SM->items[item->data(0, Qt::UserRole).toInt()].inPackages.contains(SM->packages[ui->cbPackageList->currentIndex()].cfgName))
|
||||
SM->items[item->data(0, Qt::UserRole).toInt()].inPackages.removeOne(SM->packages[ui->cbPackageList->currentIndex()].cfgName);
|
||||
}
|
||||
}
|
||||
|
||||
void ExportDialog::fillTree(QTreeWidget* tree) {
|
||||
ui->dlgTree->clear();
|
||||
|
||||
flagCanSetCheck = false;
|
||||
for(int i=0;i<tree->topLevelItemCount();i++) {
|
||||
QTreeWidgetItem* newItem = new QTreeWidgetItem();
|
||||
ui->dlgTree->addTopLevelItem(newItem);
|
||||
fillTreeItem(tree->topLevelItem(i), newItem);
|
||||
}
|
||||
flagCanSetCheck = true;
|
||||
ui->dlgTree->expandAll();
|
||||
ui->cbPackageList->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
void ExportDialog::fillTreeItem(QTreeWidgetItem* treeItem, QTreeWidgetItem* dlgItem) {
|
||||
QString txt = treeItem->text(0); txt.replace("\n", " ");
|
||||
dlgItem->setText(0, txt);
|
||||
dlgItem->setData(0, Qt::UserRole, treeItem->data(0, Qt::UserRole));
|
||||
dlgItem->setFlags(dlgItem->flags() | Qt::ItemIsUserCheckable);
|
||||
dlgItem->setCheckState(0, Qt::Checked);
|
||||
dlgItem->setIcon(0, treeItem->icon(0));
|
||||
|
||||
for(int i=0;i<treeItem->childCount();i++) {
|
||||
QTreeWidgetItem* newItem = new QTreeWidgetItem();
|
||||
dlgItem->addChild(newItem);
|
||||
fillTreeItem(treeItem->child(i), newItem);
|
||||
}
|
||||
}
|
||||
|
||||
QTreeWidget* ExportDialog::getDlgTreeWidget() {
|
||||
return ui->dlgTree;
|
||||
}
|
||||
|
||||
void ExportDialog::setPackName(QString packname) {
|
||||
ui->lePackName->setText(packname);
|
||||
}
|
||||
|
||||
QString ExportDialog::getPackName() {
|
||||
return ui->lePackName->text();
|
||||
}
|
||||
|
||||
void ExportDialog::setPackDir(QString packdir) {
|
||||
ui->lePackDir->setText(packdir);
|
||||
}
|
||||
|
||||
QString ExportDialog::getPackDir() {
|
||||
return ui->lePackDir->text();
|
||||
}
|
||||
|
||||
void ExportDialog::setPackTitle(QString packtitle) {
|
||||
ui->lePackTitle->setText(packtitle);
|
||||
}
|
||||
|
||||
QString ExportDialog::getPackTitle() {
|
||||
return ui->lePackTitle->text();
|
||||
}
|
||||
|
||||
int ExportDialog::getEDType() {
|
||||
return ui->cbEDType->currentIndex();
|
||||
}
|
||||
void ExportDialog::on_btnChooseDir_clicked()
|
||||
{
|
||||
QString dir = QFileDialog::getExistingDirectory(this, tr("Выберите папку размещения пакета"), getPackDir());
|
||||
if(dir != "")
|
||||
ui->lePackDir->setText(dir);
|
||||
}
|
||||
|
||||
void ExportDialog::setS1000Dlabel(QString text, QString color) {
|
||||
ui->lblS1000D_result->setText(text);
|
||||
ui->lblS1000D_result->setStyleSheet("QLabel { color: "+color+"; }");
|
||||
QTimer::singleShot(3000, this, SLOT(hidelabels()));
|
||||
}
|
||||
|
||||
void ExportDialog::setSCORMlabel(QString text, QString color) {
|
||||
ui->lblSCORM_result->setText(text);
|
||||
ui->lblSCORM_result->setStyleSheet("QLabel { color: "+color+"; }");
|
||||
QTimer::singleShot(3000, this, SLOT(hidelabels()));
|
||||
}
|
||||
|
||||
void ExportDialog::setEDLlabel(QString text, QString color) {
|
||||
ui->lblEDL_result->setText(text);
|
||||
ui->lblEDL_result->setStyleSheet("QLabel { color: "+color+"; }");
|
||||
QTimer::singleShot(3000, this, SLOT(hidelabels()));
|
||||
}
|
||||
|
||||
void ExportDialog::setSingleSCORMlabel(QString text, QString color) {
|
||||
ui->lblSingleSCORM_result->setText(text);
|
||||
ui->lblSingleSCORM_result->setStyleSheet("QLabel { color: "+color+"; }");
|
||||
QTimer::singleShot(3000, this, SLOT(hidelabels()));
|
||||
}
|
||||
|
||||
void ExportDialog::hidelabels() {
|
||||
ui->lblS1000D_result->setText("");
|
||||
ui->lblSCORM_result->setText("");
|
||||
ui->lblEDL_result->setText("");
|
||||
ui->lblSingleSCORM_result->setText("");
|
||||
}
|
||||
|
||||
void ExportDialog::on_cbPackageList_currentIndexChanged(int index)
|
||||
{
|
||||
if(ignore_cbPackageList_events) return;
|
||||
|
||||
QList<QTreeWidgetItem*> treeList;
|
||||
for(int i=0;i<ui->dlgTree->topLevelItemCount();i++)
|
||||
treeList.append(ui->dlgTree->topLevelItem(i));
|
||||
QTreeWidgetItem* treeItem;
|
||||
while(!treeList.isEmpty()) {
|
||||
treeItem = treeList.takeFirst();
|
||||
flagCanSetCheck = false;
|
||||
if(index >= 0) {
|
||||
if(SM->items[treeItem->data(0, Qt::UserRole).toInt()].inPackages.contains(SM->packages[index].cfgName, Qt::CaseInsensitive))
|
||||
treeItem->setCheckState(0, Qt::Checked);
|
||||
else
|
||||
treeItem->setCheckState(0, Qt::Unchecked);
|
||||
}
|
||||
else
|
||||
treeItem->setCheckState(0, Qt::Checked);
|
||||
flagCanSetCheck = true;
|
||||
|
||||
for(int i=0;i<treeItem->childCount();i++)
|
||||
treeList.append(treeItem->child(i));
|
||||
}
|
||||
curPackIndex = index;
|
||||
ignore_cbPackageList_events = true;
|
||||
if(index >= 0) {
|
||||
ui->lePackTitle->setText(SM->packages[index].title);
|
||||
ui->lePackName->setText(SM->packages[index].exportFileName);
|
||||
}
|
||||
else {
|
||||
//ui->lePackTitle->setText();
|
||||
//ui->lePackName->setText();
|
||||
}
|
||||
ignore_cbPackageList_events = false;
|
||||
}
|
||||
|
||||
void ExportDialog::setPackageListIndex(int ind) {
|
||||
on_cbPackageList_currentIndexChanged(ind);
|
||||
}
|
||||
|
||||
void ExportDialog::on_cbPackageList_currentTextChanged(QString _)
|
||||
{
|
||||
if(ignore_cbPackageList_events) return;
|
||||
ui->btnPackageAdd->setEnabled(true);
|
||||
}
|
||||
|
||||
void ExportDialog::fillPackageList()
|
||||
{
|
||||
ignore_cbPackageList_events = true;
|
||||
ui->cbPackageList->clear();
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM->packages)
|
||||
ui->cbPackageList->addItem(pack.cfgName);
|
||||
ignore_cbPackageList_events = false;
|
||||
}
|
||||
|
||||
void ExportDialog::on_btnPackageAdd_clicked()
|
||||
{
|
||||
foreach(S1000D_Manager::PackageStruct pack, SM->packages) {
|
||||
if(pack.cfgName == ui->cbPackageList->currentText())
|
||||
{
|
||||
QMessageBox::warning(this, tr("Ошибка"), tr("Дублирование имен пакетов конфигурации.\n"),
|
||||
QMessageBox::Ok, QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
}
|
||||
S1000D_Manager::PackageStruct pack;
|
||||
pack.cfgName = ui->cbPackageList->currentText();
|
||||
pack.title = ui->lePackTitle->text(); pack.exportFileName = ui->lePackName->text();
|
||||
SM->packages.append(pack);
|
||||
|
||||
QList<QTreeWidgetItem*> treeList;
|
||||
for(int i=0;i<ui->dlgTree->topLevelItemCount();i++)
|
||||
treeList.append(ui->dlgTree->topLevelItem(i));
|
||||
QTreeWidgetItem* treeItem;
|
||||
while(!treeList.isEmpty()) {
|
||||
treeItem = treeList.takeFirst();
|
||||
if(treeItem->checkState(0) == Qt::Checked)
|
||||
if(!SM->items[treeItem->data(0, Qt::UserRole).toInt()].inPackages.contains(pack.cfgName))
|
||||
SM->items[treeItem->data(0, Qt::UserRole).toInt()].inPackages.append(pack.cfgName);
|
||||
|
||||
for(int i=0;i<treeItem->childCount();i++)
|
||||
treeList.append(treeItem->child(i));
|
||||
}
|
||||
|
||||
fillPackageList(); ui->cbPackageList->setCurrentIndex(SM->packages.count()-1);
|
||||
ui->btnPackageAdd->setEnabled(false);
|
||||
ui->lePackName->setFocus();
|
||||
}
|
||||
|
||||
void ExportDialog::on_btnPackageDel_clicked()
|
||||
{
|
||||
if(ui->cbPackageList->currentIndex() < 0) return;
|
||||
QList<QTreeWidgetItem*> treeList;
|
||||
for(int i=0;i<ui->dlgTree->topLevelItemCount();i++)
|
||||
treeList.append(ui->dlgTree->topLevelItem(i));
|
||||
QTreeWidgetItem* treeItem;
|
||||
while(!treeList.isEmpty()) {
|
||||
treeItem = treeList.takeFirst();
|
||||
|
||||
if(SM->items[treeItem->data(0, Qt::UserRole).toInt()].inPackages.contains(SM->packages[ui->cbPackageList->currentIndex()].cfgName, Qt::CaseInsensitive))
|
||||
SM->items[treeItem->data(0, Qt::UserRole).toInt()].inPackages.removeOne(SM->packages[ui->cbPackageList->currentIndex()].cfgName);
|
||||
|
||||
for(int i=0;i<treeItem->childCount();i++)
|
||||
treeList.append(treeItem->child(i));
|
||||
}
|
||||
SM->packages.removeAt(ui->cbPackageList->currentIndex());
|
||||
ui->cbPackageList->removeItem(ui->cbPackageList->currentIndex());
|
||||
}
|
||||
|
||||
void ExportDialog::on_cbPackageList_editTextChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnPackageAdd->setEnabled(true);
|
||||
}
|
||||
|
||||
void ExportDialog::on_lePackName_textEdited(const QString &arg1)
|
||||
{
|
||||
if(curPackIndex == -1) return;
|
||||
SM->packages[curPackIndex].exportFileName = arg1;
|
||||
}
|
||||
|
||||
void ExportDialog::on_lePackTitle_textEdited(const QString &arg1)
|
||||
{
|
||||
if(curPackIndex == -1) return;
|
||||
SM->packages[curPackIndex].title = arg1;
|
||||
}
|
||||
72
s1000d/Converter_Source/exportdialog.h
Normal file
@@ -0,0 +1,72 @@
|
||||
#ifndef EXPORTDIALOG_H
|
||||
#define EXPORTDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QTreeWidget>
|
||||
#include "s1000d_manager.h"
|
||||
|
||||
namespace Ui {
|
||||
class ExportDialog;
|
||||
}
|
||||
|
||||
class ExportDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ExportDialog(QWidget *parent = nullptr, S1000D_Manager* _SM = nullptr);
|
||||
~ExportDialog();
|
||||
void setPackName(QString packname);
|
||||
QString getPackName();
|
||||
void setPackDir(QString packdir);
|
||||
QString getPackDir();
|
||||
void setPackTitle(QString packtitle);
|
||||
QString getPackTitle();
|
||||
int getEDType();
|
||||
void fillTree(QTreeWidget* tree);
|
||||
void fillTreeItem(QTreeWidgetItem* treeItem, QTreeWidgetItem* dlgItem);
|
||||
QTreeWidget* getDlgTreeWidget();
|
||||
void setS1000Dlabel(QString text, QString color);
|
||||
void setSCORMlabel(QString text, QString color);
|
||||
void setEDLlabel(QString text, QString color);
|
||||
void setSingleSCORMlabel(QString text, QString color);
|
||||
void fillPackageList();
|
||||
void setPackageListIndex(int ind);
|
||||
|
||||
bool flagCanSetCheck;
|
||||
bool ignore_cbPackageList_events=false;
|
||||
int curPackIndex = -1;
|
||||
|
||||
private slots:
|
||||
void on_btnCloseDlg_clicked();
|
||||
void on_btnExportS1000D_clicked();
|
||||
void on_btnExportSCORM_clicked();
|
||||
void on_btnExportEDL_clicked();
|
||||
void on_btnExportSingleSCORM_clicked();
|
||||
void on_dlgTree_itemChanged(QTreeWidgetItem *item, int column);
|
||||
|
||||
void on_btnChooseDir_clicked();
|
||||
|
||||
void on_cbPackageList_currentIndexChanged(int index);
|
||||
void on_cbPackageList_currentTextChanged(QString _);
|
||||
|
||||
void hidelabels();
|
||||
void on_btnPackageAdd_clicked();
|
||||
void on_btnPackageDel_clicked();
|
||||
void closeEvent(QCloseEvent *event);
|
||||
void on_cbPackageList_editTextChanged(const QString &arg1);
|
||||
void on_lePackName_textEdited(const QString &arg1);
|
||||
void on_lePackTitle_textEdited(const QString &arg1);
|
||||
|
||||
private:
|
||||
Ui::ExportDialog *ui;
|
||||
S1000D_Manager* SM;
|
||||
|
||||
Q_SIGNALS:
|
||||
void actionS1000Dexport();
|
||||
void actionSCORMexport();
|
||||
void actionEDLexport();
|
||||
void actionSingleSCORMexport();
|
||||
};
|
||||
|
||||
#endif // EXPORTDIALOG_H
|
||||
845
s1000d/Converter_Source/exportdialog.ui
Normal file
@@ -0,0 +1,845 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ExportDialog</class>
|
||||
<widget class="QDialog" name="ExportDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::ApplicationModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1019</width>
|
||||
<height>617</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Конвертер АУК - экспорт</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/doc_config.ico</normaloff>:/new/Icons/doc_config.ico</iconset>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: white</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="2" column="2">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>30</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="7">
|
||||
<widget class="QPushButton" name="btnPackageDel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>113</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Удалить</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/delete.png</normaloff>:/new/Icons/delete.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="8">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Формирование и конфигурирование пакетов</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="cbPackageList">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>490</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;</string>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Имя конфигурации пакета:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="7">
|
||||
<widget class="QTreeWidget" name="dlgTree">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Segoe UI</family>
|
||||
<pointsize>9</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="showDropIndicator" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>15</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="rootIsDecorated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="itemsExpandable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="headerHidden">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="6">
|
||||
<widget class="QPushButton" name="btnPackageAdd">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>113</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Создать</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/add.png</normaloff>:/new/Icons/add.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="7">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="1" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="lePackTitle">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="lePackName">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>250</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QPushButton" name="btnChooseDir">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Выбрать...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Расположение:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="lePackDir">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Титул АУК:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Имя файла:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Тип эл.док-та:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QComboBox" name="cbEDType">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="currentText">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1. Руководство по эксплуатации</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2. Инструкция по монтажу, пуску, регулированию и обкатке изделия</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>3. Формуляр</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4. Паспорт</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>5. Этикетка</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>6. Каталог изделия</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>7. Нормы расхода запасных частей</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>8. Нормы расхода материалов</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>9. Ведомость ЗИП</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>10. Учебно-технические плакаты</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>11. Инструкции эксплуатационные специальные</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>12. Ведомость эксплуатационных документов</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="5" column="7" rowspan="3">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Buttons">
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnExportS1000D">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/S1000D_logo.png</normaloff>:/new/Icons/S1000D_logo.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoExclusive">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lblS1000D_result">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>14</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnExportSCORM">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/scorm_logo.png</normaloff>:/new/Icons/scorm_logo.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lblSCORM_result">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>14</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnExportEDL">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/edl_logo.png</normaloff>:/new/Icons/edl_logo.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lblEDL_result">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>14</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_15">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnExportSingleSCORM">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>110</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/maple-leaf.png</normaloff>:/new/Icons/maple-leaf.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="lblSingleSCORM_result">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>14</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnCloseDlg">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: rgb(230,230,230);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string> Закрыть</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/suspend.png</normaloff>:/new/Icons/suspend.png</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Состав пакета:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>30</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="S1000DResources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
1126
s1000d/Converter_Source/html.cpp
Normal file
43
s1000d/Converter_Source/html.h
Normal file
@@ -0,0 +1,43 @@
|
||||
#ifndef HTML_H
|
||||
#define HTML_H
|
||||
|
||||
#include "s1000d_manager.h"
|
||||
#include "ru_const.h"
|
||||
#include "splashform.h"
|
||||
|
||||
class HTML
|
||||
{
|
||||
public:
|
||||
HTML();
|
||||
void Generate(S1000D_Manager* SM, bool _toScorm, SplashForm* _splash);
|
||||
void parseNode(QDomNode node, int lvl);
|
||||
QString spc(int n);
|
||||
void add(int lvl, QString s);
|
||||
void cat(QString s);
|
||||
QString searchSVGNodeForText(QDomNode g);
|
||||
|
||||
S1000D_Manager* SM;
|
||||
RU_Const *ru_const;
|
||||
SplashForm* splash;
|
||||
bool DBG = true;
|
||||
bool toScorm;
|
||||
int ID_pars, ID_tabs, ID_figs, ID_mmos;
|
||||
struct labelStruct {
|
||||
QString title, id;
|
||||
QString type;
|
||||
};
|
||||
QList<labelStruct> idList;
|
||||
struct acronymStruct {
|
||||
QString id, term, definition;
|
||||
};
|
||||
QList<acronymStruct> acrList;
|
||||
QString footnoteID;
|
||||
int svgUI;
|
||||
bool paraIdent=true;
|
||||
QString paraTextAlign;
|
||||
int iframeDivCnt;
|
||||
|
||||
QString domElementToXML(const QDomElement& elem, int lvl);
|
||||
};
|
||||
|
||||
#endif // HTML_H
|
||||
2254
s1000d/Converter_Source/lyx.cpp
Normal file
102
s1000d/Converter_Source/lyx.h
Normal file
@@ -0,0 +1,102 @@
|
||||
#ifndef LYX_H
|
||||
#define LYX_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QMainWindow>
|
||||
#include "s1000d_manager.h"
|
||||
#include "splashform.h"
|
||||
|
||||
class LyX {
|
||||
public:
|
||||
struct tableOfContentsStruct {
|
||||
QString id, title;
|
||||
QList<tableOfContentsStruct> childs;
|
||||
} tableOfContentsRoot;
|
||||
|
||||
LyX();
|
||||
bool Import(S1000D_Manager* SM, QString fileName, SplashForm* splash);
|
||||
bool readLyXFile(QString fileName, bool isMainFile=false);
|
||||
void checkForOldIdent();
|
||||
void parseBlock(int _beg, int _end, QDomNode domCurLevelNode);
|
||||
void parseInset(int _beg, int _end);
|
||||
int findTagEnd(int _beg);
|
||||
int findTag(int _beg, int _end, QString startsWithName);
|
||||
void pushFlags();
|
||||
void popFlags();
|
||||
void pushLyXFileData();
|
||||
void popLyXFileData();
|
||||
void appendChapter(QString title);
|
||||
void appendSection(QString title);
|
||||
void appendSubsection(QString title);
|
||||
void fillTableOfContents(tableOfContentsStruct tocNode, QDomNode domToCNode, QString deepSpaces);
|
||||
void fillAcronymList(QDomNode domAcronymListNode);
|
||||
int parseLearningModule(QDomNode domLearnNode, int _learnBeg, int _learnMaxEnd);
|
||||
// QString questLyXtoHTML(QString answer);
|
||||
void addQuestInteraction(QDomNode domLearnNode, QString question, QStringList answers);
|
||||
QDomNode searchSVGNodeForSpanNode(QDomNode node);
|
||||
void connectRefsWithLabels();
|
||||
|
||||
QStringList lyxList;
|
||||
QStringList lyxLog;
|
||||
QString curLyXFileName; //, domContentPath;
|
||||
//QString curXmlFileName;
|
||||
QString projPath;
|
||||
QDomNode domRootNode, domTableOfContentsNode, domAcronymListNode;
|
||||
int tocItemNum, acrListItemNum;
|
||||
QString tableTitle, tableID, figureTitle, figureID;
|
||||
|
||||
S1000D_Manager* SM;
|
||||
SplashForm* splash;
|
||||
bool DBG = true;
|
||||
struct flagsStruct {
|
||||
QString align;
|
||||
bool bold, italic, underlined;
|
||||
} flags;
|
||||
QList<flagsStruct> flagsStack;
|
||||
struct acronymStruct {
|
||||
QString lyxFootnoteName, id, term, definition;
|
||||
};
|
||||
QList<acronymStruct> acronymList;
|
||||
struct labelStruct {
|
||||
int itemInd;
|
||||
QString lyxLabel, id;
|
||||
bool defined = false;
|
||||
bool used = false;
|
||||
QString nodeXPath;
|
||||
int lineNum;
|
||||
};
|
||||
QList<labelStruct> labelList;
|
||||
struct refStruct {
|
||||
int itemInd;
|
||||
QString lyxRef;
|
||||
bool labelFound;
|
||||
QString nodeXPath;
|
||||
int lineNum;
|
||||
};
|
||||
QList<refStruct> refList;
|
||||
int cntTable, cntFigure, cntPar, globalTable, globalFigure, globalPar;
|
||||
|
||||
struct cellStruct {
|
||||
int _cellBeg, _cellEnd;
|
||||
QString colname, spanname, multiCol, multiRow;
|
||||
bool topline, bottomline, leftline, rightline, checkPassed;
|
||||
bool createS1000D_entry;
|
||||
QString alignment, rotate;
|
||||
};
|
||||
|
||||
struct fileStruct {
|
||||
QString fileName;
|
||||
QStringList lyxList;
|
||||
};
|
||||
QList<fileStruct> lyxFileStack;
|
||||
QStringList internalRefList;
|
||||
|
||||
RU_Const* ru_const;
|
||||
|
||||
|
||||
int docChapter, docSection, docSubsection;//, docSubsubsection;
|
||||
int curChapterItem, curSectionItem, curSubsectionItem;
|
||||
|
||||
QList<int> lyxEmptyCnt;
|
||||
};
|
||||
#endif // LYX_H
|
||||
26
s1000d/Converter_Source/main.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "editormainwindow.h"
|
||||
#include "console.h"
|
||||
#include <QApplication>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
setlocale(LC_ALL,"Russian");
|
||||
if(argc == 1)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
ShowWindow(GetConsoleWindow(), 0);
|
||||
#endif
|
||||
EditorMainWindow w;
|
||||
w.show();
|
||||
return a.exec();
|
||||
}
|
||||
else
|
||||
{
|
||||
console c;
|
||||
c.exec(argc, argv);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
222
s1000d/Converter_Source/ru_const.cpp
Normal file
@@ -0,0 +1,222 @@
|
||||
#include <QMap>
|
||||
#include <QString>
|
||||
#include "ru_const.h"
|
||||
|
||||
void RU_Const::Init_RU_Const() {
|
||||
companyName = "АО 'ЦНТУ 'Динамика'";//"АО «Вертолеты России»";
|
||||
modelIdentCode = "Model"; pmIssuer = "RHC01"; //modelIdentCode = "MI38"
|
||||
languageIsoCode = "ru"; countryIsoCode = "RU";
|
||||
inWork = "01"; issueNumber = "000";
|
||||
security_securityClassification = "01";
|
||||
responsiblePartnerCompany_enterpriseCode="CAGEC"; responsiblePartnerCompany_enterpriseName = "АО «ВСК»";
|
||||
originator_enterpriseCode = "CAGEC"; originator_enterpriseName = "АО ЦНТУ «Динамика»";
|
||||
copyrightPara = "©2022 АО 'ЦНТУ 'Динамика'";//"© 2017 АО «Вертолеты России»";
|
||||
tableOfContents = "Содержание"; acronymsList = "Перечень сокращений";
|
||||
htmlButtonLearned = "ИЗУЧЕНО";
|
||||
tableTitle = "Таблица"; tableShortTitle = "таб."; figureTitle = "Рисунок"; figureShortTitle = "рис.";
|
||||
testQuestions = "Контроль знаний";
|
||||
icn_variantCode = "R"; // A — для ГМК, в котором нет объектов для локализации/перевода
|
||||
// R — для ГМК на русском языке
|
||||
// E — для ГМК на английском языке
|
||||
crew.append("КВС"); crew.append("2П"); crew.append("ИВД"); crew.append("ИАО"); crew.append("ИРЭО"); crew.append("ИТО"); crew.append("БП"); crew.append("БО");
|
||||
|
||||
addPMCode("GTC", "01", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "ВОЗДУШНОЕ ПРАВО", "");
|
||||
addPMCode("GTC", "02", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "МЕТЕОРОЛОГИЯ", "");
|
||||
addPMCode("GTC", "03", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "АВИАЦИОННАЯ БЕЗОПАСНОСТЬ", "");
|
||||
addPMCode("GTC", "04", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "ПРАВИЛА ПЕРЕВОЗКИ ГРУЗОВ", "");
|
||||
addPMCode("GTC", "05", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "ЧЕЛОВЕЧЕСКИЙ ФАКТОР (CRM)", "");
|
||||
addPMCode("GTC", "06", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "ПРОТИВООБЛЕДЕНИТЕЛЬНАЯ ЗАЩИТА ВС НА ЗЕМЛЕ", "");
|
||||
addPMCode("GTC", "07", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "АВАРИЙНО-СПАСАТЕЛЬНАЯ ПОДГОТОВКА (ВОДА И СУША)", "");
|
||||
addPMCode("GTC", "08", "00", "АУК ОБЩЕГО ПРИМЕНЕНИЯ", "ПРАВИЛА ТЕХНИЧЕСКОГО ОБСЛУЖИВАНИЯ", "");
|
||||
addPMCode("FTC", "01", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ПРАКТИЧЕСКАЯ АЭРОДИНАМИКА", "");
|
||||
addPMCode("FTC", "02", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ЛЕТНАЯ ЭКСПЛУАТАЦИЯ", "");
|
||||
addPMCode("FTC", "03", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "БЕЗОПАСНОСТЬ ПОЛЕТОВ", "");
|
||||
addPMCode("FTC", "04", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ВОЗДУШНАЯ НАВИГАЦИЯ", "");
|
||||
addPMCode("FTC", "05", "01", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ВАРИАНТЫ ПРИМЕНЕНИЯ", "(НЕБОЕВЫЕ)");
|
||||
addPMCode("FTC", "05", "02", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ВАРИАНТЫ ПРИМЕНЕНИЯ", "(БОЕВЫЕ)");
|
||||
addPMCode("FTC", "06", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ ВЕРТОЛЕТА И ЕГО СИСТЕМЫ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "07", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ СИЛОВОЙ УСТАНОВКИ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "08", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ОБОРУДОВАНИЕ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "09", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "РАДИОЭЛЕКТРОННОЕ ОБОРУДОВАНИЕ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "10", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ВООРУЖЕНИЕ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "11", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "АВАРИЙНО-СПАСАТЕЛЬНЫЕ СРЕДСТВА", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("FTC", "12", "00", "АУК ЛЕТНОГО ПЕРСОНАЛА", "ДЕСАНТНО-ТРАНСПОРТНОЕ ОБОРУДОВАНИЕ", "ОПИСАНИЕ И ЭКСПЛУАТАЦИЯ");
|
||||
addPMCode("MTC", "01", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ ВЕРТОЛЕТА И ЕГО СИСТЕМЫ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "01", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ ВЕРТОЛЕТА И ЕГО СИСТЕМЫ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "02", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ СИЛОВОЙ УСТАНОВКИ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "02", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "КОНСТРУКЦИЯ СИЛОВОЙ УСТАНОВКИ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "03", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "03", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "04", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "РАДИОЭЛЕКТРОННОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "04", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "РАДИОЭЛЕКТРОННОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "05", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ВООРУЖЕНИЕ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "05", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВИАЦИОННОЕ ВООРУЖЕНИЕ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "06", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВАРИЙНО-СПАСАТЕЛЬНЫЕ СРЕДСТВА", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "06", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "АВАРИЙНО-СПАСАТЕЛЬНЫЕ СРЕДСТВА", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "07", "01", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "ДЕСАНТНО-ТРАНСПОРТНОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОПИСАНИЕ");
|
||||
addPMCode("MTC", "07", "02", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "ДЕСАНТНО-ТРАНСПОРТНОЕ ОБОРУДОВАНИЕ", "ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ");
|
||||
addPMCode("MTC", "11", "XX", "АУК ТЕХНИЧЕСКОГО ПЕРСОНАЛА", "ОБЩИЕ ПРОЦЕДУРЫ", "");
|
||||
|
||||
addPMCodesRTC("01", "КОНСТРУКЦИЯ ВЕРТОЛЕТА И ЕГО СИСТЕМЫ");
|
||||
addPMCodesRTC("02", "СИЛОВАЯ УСТАНОВКА");
|
||||
addPMCodesRTC("03", "РАДИОЭЛЕКТРОННОЕ ОБОРУДОВАНИЕ");
|
||||
addPMCodesRTC("04", "АВИАЦИОННОЕ ОБОРУДОВАНИЕ");
|
||||
addPMCodesRTC("05", "АВИАЦИОННОЕ ВООРУЖЕНИЕ");
|
||||
addPMCodesRTC("06", "АВАРИЙНО-СПАСАТЕЛЬНЫЕ СРЕДСТВА");
|
||||
addPMCodesRTC("07", "ДЕСАНТНО-ТРАНСПОРТНЫЕ СРЕДСТВА");
|
||||
addPMCodesRTC("11", "ОБЩИЕ ПРОЦЕДУРЫ");
|
||||
|
||||
addPMCode("PTC", "XX", "00", "АУК ПРОИЗВОДСТВЕННОГО ПЕРСОНАЛА", "(самостоятельно определить тему)", "");
|
||||
|
||||
addDMCode("Техническое обслуживание", "Описание и работа систем",
|
||||
"<html><head/><body><p>Модули данных по каждой системе/подсистеме ВС. Задача этих модулей дать полную информацию о конструкции и функционировании систем ВС.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-NNA-040A-A_T40C</span> (Наименование системы или подсистемы – Описание и работа), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX-XX: код стандартной системы нумерации</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-NNA-040A-A_T80E</span> (Наименование системы или подсистемы – Контроль знаний: Описание и работа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-XX-XX-00-NNA-040A-A_T40C", "T80E", "Наименование системы или подсистемы", "Описание и работа" );
|
||||
addDMCode("Техническое обслуживание", "Описание и работа компонентов",
|
||||
"<html><head/><body><p>Модули данных по компонентам систем/подсистем ВС, которые обладают сложной конструкцией и внутренней работой. Задача этих модулей дать полную информацию о конструкции и функционировании таких компонентов. Используйте эти модули данных только, если информации, раскрытой в описании системы, не достаточно для полного понимания принципов работы. Обычно, такие компоненты требуют технического обслуживания с разборкой.</p><p>ЗАПРЕЩАЕТСЯ ИСПОЛЬЗОВАТЬ ССЫЛКИ НА МЕСТО ЭТОГО КОМПОНЕНТА В СИСТЕМЕ. ИНФОРМАЦИЯ ДОЛЖНА БЫТЬ АВТОНОМНОЙ, РАСКРЫВАЮЩЕЙ ТОЛЬКО ВНУТРЕННЕЕ ФУНКЦИОНИРОВАНИЕ.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-XX-NNA-040A-A_T40C</span> (Наименование компонента – Описание и работа),</p><p>где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX-XX-XX: код стандартной системы нумерации</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-XX-NNA-040A-A_T80E</span> (Наименование компонента – Контроль знаний: Описание и работа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-XX-XX-XX-NNA-040A-A_T40C", "T80E", "Наименование компонента", "Описание и работа" );
|
||||
addDMCode("Техническое обслуживание", "Планирование ТО",
|
||||
"<html><head/><body><p>Модули данных по планированию технического обслуживания.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-05-4X-00-NNA-0B0A-A_T40C</span> (Вид технического обслуживания – Информация по планированию технического обслуживания), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 4X: где X последовательная нумерация видов ТО</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-05-4X-00-NNA-0B0A-A_T80E</span> (Вид технического обслуживания – Контроль знаний: Информация по планированию технического обслуживания)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-05-4X-00-NNA-0B0A-A_T40C", "T80E", "Вид технического обслуживания", "Информация по планированию технического обслуживания" );
|
||||
addDMCode("Техническое обслуживание", "Общие меры безопасности",
|
||||
"<html><head/><body><p>Модули данных по специальным общим мерам безопаности для типа ВС.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-20-00-NNA-012A-A_T40C</span> (Меры безопасности – Общие предупреждения и предостережения), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> NN: 00, или если требуется более одного модуля данных, начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-20-00-NNA-012A-A_T80</span>E (Меры безопасности – Контроль знаний: Общие предупреждения и предостережения)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-20-00-NNA-012A-A_T40C", "T80E", "Меры безопасности", "Общие предупреждения и предостережения" );
|
||||
addDMCode("Техническое обслуживание", "Процедуры ТО",
|
||||
"<html><head/><body><p>Модули данных по процедурам технического обслуживания для типа ВС.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-XX-NNA-ZZZZ-Q_T40C</span> (Процедуры ТО – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX-XX-XX, принятая стандартной системы нумерации</p><p> NN: 00, или если требуется более одного модуля данных, начиная с 01.</p><p> ZZZZ: информационный код и его вариант.</p><p> Q: код расположения.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-XX-NNA-ZZZZ-Q_T80E</span> (Процедуры ТО – Контроль знаний: Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-XX-XX-XX-NNA-ZZZZ-Q_T40C", "T80E", "Процедуры ТО", "Информационное имя" );
|
||||
addDMCode("Техническое обслуживание", "Средства материально-технического обеспечения",
|
||||
"<html><head/><body><p>Модули данных с информацией по КПА, вспомогательному оборудованию, инструменту и расходуемым материалам.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-00-00-NNA-ZZZA-A_T40C</span> (Воздушное судно – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить перечни по специальностям), начиная с 01.</p><p> ZZZ: 060 — Вспомогательное оборудование, инструмент и программное</p><p>обеспечение, 070 — Расходуемые материалы.</p><p>ЗАПРЕЩЕНО ОПИСЫВАТЬ ПРОЦЕДУРЫ ПРОВЕРОК ОБОРУДОВАНИЯ ВС В ЭТИХ МОДУЛЯХ.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-00-00-NNA-ZZZA-A_T80E</span> (Воздушное судно – Контроль знаний: Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-00-00-NNA-ZZZA-A_T40C", "T80E", "Воздушное судно", "Информационное имя" );
|
||||
addDMCode("Техническое обслуживание", "Общие процедуры",
|
||||
"<html><head/><body><p>Модули данных с осщей информацией по обращению с ВС в целом.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-ХХ-XX-XX-NNA-ZZZA-A_T40C</span> (Наименование темы – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> ХХ-XX-XX: 00, Согласно классификации ГОСТ 18675–2012, для систем 07, 08, 09, 10, 12, 15, 16.</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить перечни по специальностям), начиная с 01.</p><p> ZZZ: — Согласно классификации ГОСТ 18675–2012.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-ХХ-XX-XX-NNA-ZZZA-A_T80</span>E (Наименование темы – Контроль знаний: Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-ХХ-XX-XX-NNA-ZZZA-A_T40C", "T80E", "Наименование темы", "Информационное имя" );
|
||||
addDMCode("Общая информация и данные", "Служебные и вводные данные",
|
||||
"<html><head/><body><p>Модули данных по правилам подготовки и кодирования служебой и вводной информации.</p><p>Коды модулей данных должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-47-XX-NNA-XXXX-A_T40C</span> (Наименование АУК – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX:</p><p> 00 – Автоматизированные учебные курсы</p><p> 01 – Автоматизированные учебные курсы (летный персонал)</p><p> 02 – Автоматизированные учебные курсы (технический персонал)</p><p> 03 – Автоматизированные учебные курсы (ремонтный персонал)</p><p> 04 – Автоматизированные учебные курсы (производственный персонал)</p><p> NN: 00, или если требуется более одного модуля данных (для каждого конкретного АУК), начиная с 01.</p><p> XXX: информационный код и его вариант:</p><p> 001A — Титульный лист</p><p> 00UA — Внесенные изменения</p><p> 009A — Содержание</p><p> 009B — Поиск по курсу</p><p> 018A — Введение</p><p> 023A — Административные формы и данные</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-47-XX-NNA-XXXX-A_T40C", "T80E", "Наименование АУК", "Информационное имя" );
|
||||
addDMCode("Общая информация и данные", "Общие сведения о ВС",
|
||||
"<html><head/><body><p>Модули данных для описания ВС в целом, чтобы дать общее представление о назначении, конструкции, составе оборудования ВС.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-00-00-NNA-010A-A_T40C</span> (Воздушное судно – Общие данные), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-00-00-NNA-010A-A_T80</span>E (Воздушное судно – Контроль знаний: Общие данные)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-00-00-NNA-010A-A_T40C", "T80E", "Воздушное судно", "Общие данные" );
|
||||
addDMCode("Общая информация и данные", "Нормативные требования авиации",
|
||||
"<html><head/><body><p>Модули данных, относящиеся к общим дисциплинам авиационной деятельности и ее тематикам.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-7X-XXXX-NNZ-010A-A_T40C</span> (Наименование документа/раздела – Общие данные), где:</p><p> YY-Y – идентификационный код модели и отличительный код системы:</p><p> RHCT-A — для модулей данных нормативного характера Холдинга “Вертолеты России”</p><p> RHCT-B — для модулей данных общего применения международного характера</p><p> RHCT-C — для модулей данных общего применения на территории РФ</p><p> RHCT-D и далее — для модулей данных общего применения на территории иностранных государств</p><p> YY-Y — для модулей данных, применимых к конкретному типу ВС</p><p> 7X — категории авиационных требований:</p><p> 71 – авиационные требования общего назначения</p><p> 72 – авиационные требования гражданской авиации</p><p> 73 – авиационные требования государственной авиации</p><p> 74 – авиационные требования экспериментальной авиации</p><p> XXXX – последовательная нумерация регламентирующих документов</p><p> NN – последовательная нумерация/классификация разделов, согласно структуре исходного документа</p><p> Z – один буквенно-цифровой символ для дополнительного разделения информации, начиная c “A”.</p><p>В случае использования информации, относящейся к конкретному типу ВС необходимо:</p><p> определить категорию и нормативный документ регламентирующий учебную тему</p><p> определить тему по соответствующему нормативному документу</p><p> если код документа не присвоен, обратиться к организации, ответственной за выпуск Настоящих правил, за присвоением последовательного кода документа</p><p> присвоить код МД:</p><p> использовать идентификационный код модели и отличительный код системы дляданного типа ВС</p><p> использовать категорию (7X) и код документа (XXXX)</p><p> использовать номер раздела документа (NN).</p><p>ПРИМЕР:</p><p> MI171-A: информация по вертолету Ми-171</p><p> 72-0017: Правила расследования авиационных происшествий и инцидентов (ПРАПИ-98)</p><p> 03: Расследование авиационных происшествий</p><p> Полный код модуля в этом случае: MI171-A-00-72-0017-03A-010A-A-T40C</p><p> Наименование модуля модуля в этом случае: (Расследование авиационных происшествий — Общие данные).</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-7X-XXXX-NNZ-010A-A_T80E</span> (Наименование документа/раздела – Контроль знаний: Общие данные)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-7X-XXXX-NNZ-010A-A_T40C", "T80E", "Наименование документа/раздела", "Общие данные" );
|
||||
addDMCode("Технологии ремонта", "Организация ремонта",
|
||||
"<html><head/><body><p>Модули данных по общим задачам организации ремонта. Материал нацелен на руководящий состав, который должен обладать знаниями по принципам организации ремонта, его этапам, необходимым организационным мероприятиям, оснащению, требования к персоналу.</p><p>Коды модулей данных должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-6Х-ХХ-NNA-010A-A_T40C</span> (Ремонт – Общие данные), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 6Х:</p><p> 0 – Ремонт</p><p> 1 – Средний ремонт</p><p> 2 – Капитальный ремонт</p><p> ХХ: Тема внутри задач организации ремонта</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-00-6Х-ХХ-NNA-010A-A_T80E</span> (Ремонт – Общие данные)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-00-6Х-ХХ-NNA-010A-A_T40C", "T80E", "Ремонт", "Общие данные" );
|
||||
addDMCode("Технологии ремонта", "Ремонт конструкций планера",
|
||||
"<html><head/><body><p>Модули данных по технологиям ремонта конструкций планера. Материал нацелен на персонал рабочих специальностей, который должен обладать знаниями по технологическим операциям выполнения ремонта на различных этапах.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-5Х-ХХ-ХХ-NNA-ZZZA-A_T40C</span> (Наименование темы – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 5Х-ХХ-ХХ: согласно классификатору ГОСТ 18675-2012</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям) или компоненты разборки основных узлов, начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-5Х-ХХ-ХХ-NNA-ZZZA-A_T80E</span> (Наименование темы – Информационное имя)</p><p><br/></p></body></html>",
|
||||
"DESCRIPT", "YY-A-5Х-ХХ-ХХ-NNA-ZZZA-A_T40C", "T80E", "Наименование темы", "Информационное имя" );
|
||||
addDMCode("Технологии ремонта", "Ремонт силовой установки",
|
||||
"<html><head/><body><p>Модули данных по технологиям ремонта конструкции силовой установки. Материал нацелен на персонал рабочих специальностей, который должен обладать знаниями по технологическим операциям выполнения ремонта на различных этапах.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-7Х-ХХ-ХХ-NNA-ZZZA-A_T40C</span> (Наименование темы – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 7Х-ХХ-ХХ: согласно классификатору ГОСТ 18675-2012</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям) или компоненты разборки основных узлов, начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-7Х-ХХ-ХХ-NNA-ZZZA-A_T80E</span> (Наименование темы – Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-7Х-ХХ-ХХ-NNA-ZZZA-A_T40C", "T80E", "Наименование темы", "Информационное имя" );
|
||||
addDMCode("Технологии ремонта", "Ремонт несущей системы и трансмиссии",
|
||||
"<html><head/><body><p>Модули данных по технологиям ремонта несущей системы (НС) и трансмиссии воздушного судна. Материал нацелен на персонал рабочих специальностей, который должен обладать знаниями по технологическим операциям выполнения ремонта на различных этапах.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-6Х-ХХ-ХХ-NNA-ZZZA-A_T40C</span> (Наименование темы – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 6Х-ХХ-ХХ: согласно классификатору ГОСТ 18675-2012 из разделов 60-69, (84).</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям) или компоненты разборки основных узлов, начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-6Х-ХХ-ХХ-NNA-ZZZA-A_T80E</span> (Наименование темы – Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-6Х-ХХ-ХХ-NNA-ZZZA-A_T40C", "T80E", "Наименование темы", "Информационное имя" );
|
||||
addDMCode("Технологии ремонта", "Ремонт систем и компонентов",
|
||||
"<html><head/><body><p>Модули данных по технологиям ремонта систем, съемного оборудования воздушного судна. Материал нацелен на персонал рабочих специальностей, который должен обладать знаниями по технологическим операциям выполнения ремонта на различных этапах.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-ХХ-ХХ-ХХ-NNA-ZZZA-A_T40C</span> (Наименование темы – Информационное имя), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> ХХ-ХХ-ХХ: согласно классификатору ГОСТ 18675-2012 из разделов 20-49.</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям) или компоненты разборки основных узлов, начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XХ-ХХ-ХХ-NNA-ZZZA-A_T80</span>E (Наименование темы – Информационное имя)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-ХХ-ХХ-ХХ-NNA-ZZZA-A_T40C", "T80E", "Наименование темы", "Информационное имя" );
|
||||
addDMCode("Информация для экипажа", "Описание и работа систем",
|
||||
"<html><head/><body><p>Модули данных по каждой системе/подсистеме ВС. Задача этих модулей дать инженерный взгляд на конструкцию и функционирование систем и компонентов ВС в объеме достаточном для экипажа.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-NNA-043A-A_T40C</span> (Наименование системы или подсистемы – Информация для экипажа), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX-XX: код стандартной системы нумерации</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-NNA-043A-A_T80E</span> (Наименование системы или подсистемы – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-XX-XX-00-NNA-043A-A_T40C", "T80E", "Наименование системы или подсистемы", "Информация для экипажа" );
|
||||
addDMCode("Информация для экипажа", "Нормальная эксплуатация систем и оборудования",
|
||||
"<html><head/><body><p>Модули данных по каждой системе/подсистеме ВС, имеющей нормальные процедуры эксплуатации.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-00A-131A-A_T40C</span> (Наименование системы или подсистемы – Процедура нормальной эксплуатации), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX-XX: код стандартной системы нумерации</p><p>Содержание разделов модулей данных должно быть составлено, исходя из условий (этапов) работы членов экипажа (по применимости), примеры:</p><p> Контрольный осмотр</p><p> Контрольная проверка перед запуском</p><p> Запуск двигателей</p><p> Контрольная проверка после запуска</p><p> Выполнение полета</p><p> После посадки.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-XX-XX-00-NNA-131A-A_T80E</span> (Наименование системы или подсистемы – Контроль знаний: Процедура нормальной эксплуатации)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-XX-XX-00-00A-131A-A_T40C", "T80E", "Наименование системы или подсистемы", "Процедура нормальной эксплуатации" );
|
||||
addDMCode("Информация для экипажа", "Эксплуатационные ограничения",
|
||||
"<html><head/><body><p>Модули данных по каждой системе/подсистеме ВС, имеющей эксплуатационные ограничения.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-10-XX-NNA-043B-A_T40C</span> (Наименование системы или подсистемы – Эксплуатационные ограничения), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX: код стандартной системы нумерации, 00 для ВС в целом.</p><p> NN – номер подсистемы/подподсистемы, если не требуется использовать 00.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-10-XX-NNA-043B-A_T80E</span> (Наименование системы или подсистемы – Контроль знаний: Эксплуатационные ограничения)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-10-XX-NNA-043B-A_T40C", "T80E", "Наименование системы или подсистемы", "Эксплуатационные ограничения" );
|
||||
addDMCode("Информация для экипажа", "Нормальная эксплуатация ВС",
|
||||
"<html><head/><body><p>Модули данных нормальных процедур эксплуатации по стадиям подготовки и полета. </p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-3X-XX-NNA-043A-A_T40C</span> (Наименование режима (стадии) – Информация для экипажа), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> 3X-XX:</p><p> 31 — Предвариатильная подготовка:</p><p> XX: используется для дальнейшей классификации, если необходимо, например:</p><p> 01: Штурманская подготовка</p><p> 02: Расчет полета</p><p> 32 — Подготовка к полету:</p><p> XX: используется для дальнейшей классификации, если необходимо, например:</p><p> 01: Предполетный осмотр</p><p> 02: Предполетная проверка перед запуском</p><p> 03: Запуск двигателей</p><p> 04: Предполетная проверка после запуска</p><p> 33 — Выполнение полета:</p><p> XX: используется для дальнейшей классификации, если необходимо, например:</p><p> 01 — Руление</p><p> 02 — Взлет и полет на малой высоте</p><p> 03 — Набор высоты</p><p> 04 — Крейсерский полет</p><p> 05 — Снижение</p><p> 06 — Заход на посадку</p><p> 07 — Посадка</p><p> 34 — Вертолетовождение/Самолетовождение:</p><p> XX: используется для дальнейшей классификации, если необходимо</p><p> (35–38) — Используется при необходимости</p><p> 39 — Завершение полета:</p><p> XX: используется для дальнейшей классификации, если необходимо, например:</p><p> 01: Выключение двигателей и оборудования</p><p> 02: Послеполетный осмотр</p><p> 03: Заполнение документации</p><p> 04: Анализ полетных данных</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-3X-XX-NNA-043A-A_T80E</span> (Наименование режима (стадии) – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-3X-XX-NNA-043A-A_T40C", "T80E", "Наименование режима (стадии)", "Информация для экипажа" );
|
||||
addDMCode("Информация для экипажа", "Контрольные облеты и испытания/регулировки",
|
||||
"<html><head/><body><p>Модули данных программ контрольных облетов и испытаний/регулировок в полете, включая динамическую регулировку несущей системы.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-05-62-XX-NNA-043A-A_T40C</span> (Наименование программы – Информация для экипажа), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX: используется для нумерации каждой уникальной программы облета/испытаний/регулировки</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Перечень необходимых программ, смотри ЭТД применимого типа ВС.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-05-62-XX-NNA-043A-A_T80</span>E (Наименование программы – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-05-62-XX-NNA-043A-A_T40C", "T80E", "Наименование программы", "Информация для экипажа" );
|
||||
addDMCode("Информация для экипажа", "Особые условия эксплуатации ВС",
|
||||
"<html><head/><body><p>Модули данных процедур эксплуатации в особых условиях.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-50-XX-NNA-131A-A_T40C</span> (Наименование особого условия – Процедура нормальной эксплуатации), где:</p><p> YY-Y: идентификационный код модели и отличительный код системы</p><p> XX: используется для нумерации каждого уникального особого условия</p><p> NN: 00, или если требуется более одного модуля данных (например, разделить курсы по специальностям, членам экипажа), начиная с 01.</p><p>Перечень необходимых особых условий, смотри РЛЭ применимого типа ВС.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-50-XX-NNA-131A-A_T80E</span> (Наименование особого условия – Контроль знаний: Процедура нормальной эксплуатации)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-50-XX-NNA-131A-A_T40C", "T80E", "Наименование особого условия", "Процедура нормальной эксплуатации" );
|
||||
addDMCode("Информация для экипажа", "Аварийная эксплуатация ВС",
|
||||
"<html><head/><body><p>Модули данных по действиям экипажа при возникновении аварийной ситуации/отказа.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-4X-XX-NNA-141A-A_T40C</span> (Наименование отказа/аварийной ситуации – Процедура аварийной эксплуатации), где:</p><p> 4X – тип ситуации:</p><p> 41 - Общие сведения</p><p> 42 - Аварийные ситуации на земле</p><p> 43 - Аварийные ситуации на взлете</p><p> 44 - Аварийные ситуации, связанные с неисправностью систем</p><p> 45 - Отказ одного или нескольких двигателей</p><p> 46 - Аварийные ситуации при заходе на посадку/посадке</p><p> 47 - Отказы систем БРЭО</p><p> 48 - Прочие аварийные ситуации или отказы</p><p> 49 - Показания многофункционального дисплея со сведениями об аварийной ситуации</p><p> XX – последовательная нумерация отказа/аварийной ситуации, внутри типа</p><p> NN – последовательная нумерация, если требуется более одного модуля данных.</p><p>Типы ситуации 41,42,43,45,46,48 могут быть использованы для АУК Летная эксплуатация.</p><p>Типы ситуации 44,45,47,48 могут быть использованы для АУК … Описание и эксплуатация.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-4X-XX-NNA-141A-A_T80E</span> (Наименование отказа/аварийной ситуации – Контроль знаний: Процедура аварийной эксплуатации)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-4X-XX-NNA-141A-A_T40C", "T80E", "Наименование отказа/аварийной ситуации", "Процедура аварийной эксплуатации" );
|
||||
addDMCode("Информация для экипажа", "Практическая аэродинамика",
|
||||
"<html><head/><body><p>Модули данных анализа летно-технических характеристик ВС.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-21-XX-NNA-043A-A_T40C</span> (Наименование темы — Информация для экипажа), где:</p><p> XX – последовательная нумерация МД/тем:</p><p> 01: Аэродинамические характеристики</p><p> 02: Устойчивость, управляемость и балансировка</p><p> 03: Висение и вертикальные режимы полета</p><p> 04: Установившиеся режимы полета с поступательной скоростью</p><p> 05: Переходные режимы полета, виражи и развороты</p><p> 06: Руление, взлет и посадка</p><p> 07: Дальность и продолжительность полета</p><p> 08: Особые условия полета</p><p> 09: Особые случаи в полете</p><p> 10: Критические режимы полета</p><p> NN – 00 или последовательная нумерация, если требуется более одного модуля данных.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-21-XX-NNA-043A-A_T80E</span> (Наименование темы – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-21-XX-NNA-043A-A_T40C", "T80E", "Наименование темы", "Информация для экипажа" );
|
||||
addDMCode("Информация для экипажа", "Эксплуатация по вариантам применения",
|
||||
"<html><head/><body><p>Модули данных при применении ВС на различных видах работ.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-71-XX-NNA-043A-A_T40C</span> (Наименование варианта применения – Информация для экипажа), где:</p><p> XX – последовательная нумерация варианта применения</p><p> NN – последовательная нумерация, если требуется более одного модуля данных.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-71-XX-NNA-043A-A_T80E</span> (Наименование варианта применения – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-71-XX-NNA-043A-A_T40C", "T80E", "Наименование варианта применения", "Информация для экипажа" );
|
||||
addDMCode("Информация для экипажа", "Боевое применение",
|
||||
"<html><head/><body><p>Модули данных при боевом применении вооружения. Включают описательные данные/ограничения, нормальные и аварийные процедуры применения по вариантам вооружения.</p><p>Коды модулей данных учебной темы должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-72-00-NNA-043A-A_T40C</span> (Боевое применение – Информация для экипажа)</p><p>- <span style=\" font-weight:600;\">YY-Y-15-72-XX-NNA-043A-A_T40C</span> (Наименование варианта боевого применения – Информация для экипажа), где:</p><p> XX – последовательная нумерация варианта боевого применения</p><p> NN – последовательная нумерация, если требуется более одного модуля данных.</p><p>Коды модулей данных контроля знаний должны иметь следующую структуру:</p><p>- <span style=\" font-weight:600;\">YY-Y-15-72-XX-NNA-043A-A_T80E</span> (Наименование варианта боевого применения – Контроль знаний: Информация для экипажа)</p></body></html>",
|
||||
"DESCRIPT", "YY-A-15-72-XX-NNA-043A-A_T40C", "T80E", "Наименование варианта боевого применения", "Информация для экипажа" );
|
||||
|
||||
|
||||
addEDocName("РЭ", "Руководство по эксплуатации");
|
||||
addEDocName("ИМ", "Инструкция по монтажу, пуску, регулированию и обкатке изделия");
|
||||
addEDocName("ФО", "Формуляр");
|
||||
addEDocName("ПС", "Паспорт");
|
||||
addEDocName("ЭТ", "Этикетка");
|
||||
addEDocName("КИ", "Каталог изделия");
|
||||
addEDocName("НЗЧ", "Нормы расхода запасных частей");
|
||||
addEDocName("НМ", "Нормы расхода материалов");
|
||||
addEDocName("ЗИ", "Ведомость ЗИП");
|
||||
addEDocName("УП", "Учебно-технические плакаты");
|
||||
addEDocName("ИС", "Инструкции эксплуатационные специальные");
|
||||
addEDocName("ВЭ", "Ведомость эксплуатационных документов");
|
||||
|
||||
}
|
||||
|
||||
void RU_Const::addPMCodesRTC(QString pmNumber, QString pmNumberText) {
|
||||
addPMCode("RTC", pmNumber, "00", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ");
|
||||
addPMCode("RTC", pmNumber, "10", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ПРЕДВАРИТЕЛЬНАЯ ДЕФЕКТАЦИЯ (СИСТЕМ, КОНСТРУКЦИЙ)");
|
||||
addPMCode("RTC", pmNumber, "11", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ТЕХНИЧЕСКОЕ ОПИСАНИЕ (СИСТЕМ, КОНСТРУКЦИЙ)");
|
||||
addPMCode("RTC", pmNumber, "12", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ИСПЫТАНИЯ И ОСМОТРЫ (СИСТЕМ, КОНСТРУКЦИЙ)");
|
||||
addPMCode("RTC", pmNumber, "13", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РАЗБОРКА, СБОРКА (СИСТЕМ, КОНСТРУКЦИЙ)");
|
||||
addPMCode("RTC", pmNumber, "20", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ТИПОВЫЕ ТЕХНОЛОГИИ СИСТЕМ");
|
||||
addPMCode("RTC", pmNumber, "21", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ЭЛЕКТРОЖГУТОВ");
|
||||
addPMCode("RTC", pmNumber, "22", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ШВЕЙНЫЕ, ОБОЙНО-ЭМАЛИТНЫЕ РАБОТЫ");
|
||||
addPMCode("RTC", pmNumber, "23", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ВОЗДУШНО-МАСЛЯНЫХ РАДИАТОРОВ");
|
||||
addPMCode("RTC", pmNumber, "24", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ГИДРОБАКОВ");
|
||||
addPMCode("RTC", pmNumber, "25", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ МАСЛОБАКОВ");
|
||||
addPMCode("RTC", pmNumber, "26", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ЖЕСТКИХ ТОПЛИВНЫХ БАКОВ");
|
||||
addPMCode("RTC", pmNumber, "27", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ МЯГКИХ ТОПЛИВНЫХ БАКОВ");
|
||||
addPMCode("RTC", pmNumber, "28", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ТРУБОПРОВОДОВ");
|
||||
addPMCode("RTC", pmNumber, "29", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ШЛАНГОВ");
|
||||
addPMCode("RTC", pmNumber, "30", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ КОМПОНЕНТОВ");
|
||||
addPMCode("RTC", pmNumber, "31", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ДЕФЕКТАЦИЯ КОМПОНЕНТОВ");
|
||||
addPMCode("RTC", pmNumber, "32", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "СБОРКА/РАЗБОРКА КОМПОНЕНТОВ");
|
||||
addPMCode("RTC", pmNumber, "33", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "Технологии ремонта КОМПОНЕНТОВ");
|
||||
addPMCode("RTC", pmNumber, "50", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ТИПОВЫЕ ТЕХНОЛОГИИ КОНСТРУКЦИЙ ПЛАНЕРА");
|
||||
addPMCode("RTC", pmNumber, "51", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ОСТЕКЛЕНИЯ");
|
||||
addPMCode("RTC", pmNumber, "52", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ЛКП");
|
||||
addPMCode("RTC", pmNumber, "53", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ КРЕПЕЖА");
|
||||
addPMCode("RTC", pmNumber, "54", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ДЕФЕКТАЦИЯ МЕТОДАМИ НЕРАЗРУШАЮЩЕГО КОНТРОЛЯ");
|
||||
addPMCode("RTC", pmNumber, "60", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ТИПОВЫЕ ТЕХНОЛОГИИ НЕСУЩЕЙ СИСТЕМЫ И ТРАНСМИССИИ");
|
||||
addPMCode("RTC", pmNumber, "61", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "РЕМОНТ ЛОПАСТЕЙ НВ И РВ");
|
||||
addPMCode("RTC", pmNumber, "70", "АУК РЕМОНТНОГО ПЕРСОНАЛА", pmNumberText, "ТИПОВЫЕ ТЕХНОЛОГИИ СИЛОВОЙ УСТАНОВКИ");
|
||||
}
|
||||
|
||||
void RU_Const::addPMCode(QString pmNumABC, QString pmNumber, QString pmVolume,
|
||||
QString pmNumABCText, QString pmNumberText, QString pmVolumeText) {
|
||||
pmCodeListItemType item;
|
||||
item.pmNumABC = pmNumABC; item.pmNumABCText = pmNumABCText;
|
||||
item.pmNumber = pmNumber; item.pmNumberText = pmNumberText;
|
||||
item.pmVolume = pmVolume; item.pmVolumeText = pmVolumeText;
|
||||
pmCodeList.append(item);
|
||||
}
|
||||
|
||||
// DESCRIPT CREW LEARNING
|
||||
void RU_Const::addDMCode(QString chapterName, QString paraName, QString text, QString schemeTypeStr, QString dmCode,
|
||||
QString dmLearningCode, QString techName, QString infoName) {
|
||||
dmCodeListItemType dm;
|
||||
dm.chapterName = chapterName; dm.paraName = paraName;
|
||||
dm.text = text; dm.schemeTypeStr = schemeTypeStr; dm.infoName = infoName; dm.techName = techName;
|
||||
QStringList dmSplitList = dmCode.split("-"); //YY-Y-15-72-XX-NNA-043A-A_T40C
|
||||
QStringList dmSplitList7 = dmSplitList[7].split("_"); //A_T40C
|
||||
dm.modelIdentCode = modelIdentCode; /*dmSplitList[0];*/ dm.systemDiffCode = dmSplitList[1];
|
||||
dm.systemCode = dmSplitList[2]; dm.subSystemCode = dmSplitList[3].mid(0,1); dm.subSubSystemCode = dmSplitList[3].mid(1,1); dm.assyCode = dmSplitList[4];
|
||||
dm.disassyCode = dmSplitList[5].mid(0,2); dm.disassyCodeVariant = dmSplitList[5].mid(2,1);
|
||||
dm.infoCode = dmSplitList[6].mid(0,3); dm.infoCodeVariant = dmSplitList[6].mid(3,1);
|
||||
dm.itemLocationCode = dmSplitList7[0];
|
||||
dm.learnCode = dmSplitList7[1].mid(0,3); dm.learnEventCode = dmSplitList7[1].mid(3,1);
|
||||
dm._learnCode = dmLearningCode.mid(0,3); dm._learnEventCode = dmLearningCode.mid(3,1);
|
||||
dmCodeList.append(dm);
|
||||
}
|
||||
|
||||
void RU_Const::addEDocName(QString shName, QString name) {
|
||||
eDocShortNames.append(shName); eDocNames.append(name);
|
||||
}
|
||||
55
s1000d/Converter_Source/ru_const.h
Normal file
@@ -0,0 +1,55 @@
|
||||
#ifndef RU_CONST_H
|
||||
#define RU_CONST_H
|
||||
|
||||
#include <QMap>
|
||||
#include <QString>
|
||||
|
||||
class RU_Const {
|
||||
public:
|
||||
void Init_RU_Const();
|
||||
void addPMCode(QString pmNumABC, QString pmNumber, QString pmVolume,
|
||||
QString pmNumABCText, QString pmNumberText, QString pmVolumeText);
|
||||
void addPMCodesRTC(QString pmNumber, QString pmNumberText);
|
||||
void addDMCode(QString chapterName, QString paraName, QString text, QString schemeTypeStr, QString dmCode,
|
||||
QString dmLearningCode, QString techName, QString infoName);
|
||||
void addEDocName(QString shName, QString name);
|
||||
|
||||
QMap<QString, QString> attr_accessPointTypeValue;
|
||||
|
||||
QString companyName;
|
||||
QString modelIdentCode, pmIssuer;
|
||||
struct pmCodeListItemType{
|
||||
QString pmNumABC, pmNumber, pmVolume;
|
||||
QString pmNumABCText, pmNumberText, pmVolumeText;
|
||||
};
|
||||
|
||||
QList<pmCodeListItemType> pmCodeList;
|
||||
|
||||
struct dmCodeListItemType{
|
||||
QString chapterName, paraName, text, schemeTypeStr, dmCode, infoName, techName, dmLearningCode;
|
||||
QString modelIdentCode, systemDiffCode, systemCode, subSystemCode, subSubSystemCode, assyCode,
|
||||
disassyCode, disassyCodeVariant, infoCode, infoCodeVariant, itemLocationCode, learnCode, learnEventCode, _learnCode, _learnEventCode;
|
||||
};
|
||||
QList<dmCodeListItemType> dmCodeList;
|
||||
|
||||
QString languageIsoCode, countryIsoCode, inWork, issueNumber, security_securityClassification;
|
||||
QString responsiblePartnerCompany_enterpriseCode, responsiblePartnerCompany_enterpriseName,
|
||||
originator_enterpriseCode, originator_enterpriseName, copyrightPara;
|
||||
QString tableOfContents, acronymsList;
|
||||
QString htmlButtonLearned;
|
||||
QString tableTitle, tableShortTitle, figureTitle, figureShortTitle;
|
||||
QString testQuestions;
|
||||
QString icn_variantCode;
|
||||
QStringList crew;
|
||||
|
||||
QStringList eDocNames, eDocShortNames;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // RU_CONST_H
|
||||
3492
s1000d/Converter_Source/s1000d_manager.cpp
Normal file
133
s1000d/Converter_Source/s1000d_manager.h
Normal file
@@ -0,0 +1,133 @@
|
||||
#ifndef S1000D_MANAGER_H
|
||||
#define S1000D_MANAGER_H
|
||||
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
//#include <QXmlStreamWriter>
|
||||
//#include <QXmlStreamReader>
|
||||
//#include <QXmlStreamAttribute>
|
||||
#include <QDomDocument>
|
||||
#include "ru_const.h"
|
||||
#include "splashform.h"
|
||||
#include <QApplication>
|
||||
#include "QMessageBox"
|
||||
#include <QElapsedTimer>
|
||||
#include <QProcess>
|
||||
#include <QDateTime>
|
||||
|
||||
enum _moduleType { mtDDN, mtDML, mtDM, mtPM, mtUNKNOWN };
|
||||
enum _schemeType { stDDN, stDML, stPM, stAPPLICCROSSREFTABLE, stPRDCROSSREFTABLE, stCONDCROSSREFTABLE, stDESCRIPT, stPROCED, stPROCESS,
|
||||
stCOMREP, stFRONTMATTER, stBREX, stBRDOC, stLEARNING, stCREW, stFAULT, stIPD, stCHECKLIST, stNOTATIONS, stCONTAINER, stXLINK, stWRNGFLDS, stUNKNOWN};
|
||||
|
||||
class S1000D_Manager
|
||||
{
|
||||
public:
|
||||
S1000D_Manager();
|
||||
~S1000D_Manager();
|
||||
|
||||
bool OpenProjectDirectory(const QString& projectPath, QString& schemasPath); // старое
|
||||
void prepareSaveProject(); // старое
|
||||
QString SaveProject();
|
||||
|
||||
//static bool validateXML(const QString &xsdschema, const QString &xmlschema);
|
||||
QDomNode findElementRec(QDomNode domNode, QString path);
|
||||
QDomNode findElement(QString path);
|
||||
//void searchPrepare();
|
||||
//QDomNode searchNodeWithTag(QString tag); //QDomNode startNode,
|
||||
//QDomNode searchNodeWithAttr(QString attrName, QString attrVal); //QDomNode startNode,
|
||||
QString makeNodeXPath(QDomNode node);
|
||||
QDomNode getNodeFromXPath(QString path, bool debugTrace=false);
|
||||
QString getNodeText(QString path);
|
||||
void setNodeText(QString path, QString text);
|
||||
void deleteNode(QString path);
|
||||
int createNode(QString path, QString nodeName);
|
||||
bool isNodeCreated(QString path);
|
||||
QString getNodeAttr(QString path, QString attrName);
|
||||
void setNodeAttr(QString path, QString attrName, QString attrVal);
|
||||
void deleteNodeAttr(QString path, QString attrName);
|
||||
QStringList getNodeAllChilds(QString path);
|
||||
int getNodeChildsWithNameCount(QString path, QString childNodeName);
|
||||
int getNodePathIndex(QString name);
|
||||
QString dmIdentString(QString dmIdentPath);
|
||||
QString pmIdentString(QString pmIdentPath);
|
||||
QString dmCodeIdentString(QDomNode node);
|
||||
void setCurItem(int ind);
|
||||
void clearItems();
|
||||
|
||||
void buildPMTree(int pmItemInd); // старое
|
||||
void replaceCurItem_pmCode(QString new_Title, QString new_modelIdentCode, QString new_pmIssuer, QString new_pmNumber, QString pmVolume);
|
||||
void moveItemToPM(int itemInd, int pmInd, int pmContextEntryIndex);
|
||||
void replaceCurItem_dmCode(QString new_techName, QString new_infoName,
|
||||
QString new_modelIdentCode, QString new_systemDiffCode,
|
||||
QString new_systemCode, QString new_subSystemCode, QString new_subSubSystemCode, QString new_assyCode,
|
||||
QString new_disassyCode, QString new_disassyCodeVariant,
|
||||
QString new_infoCode, QString new_infoCodeVariant,
|
||||
QString new_itemLocationCode, QString new_learnCode, QString new_learnEventCode);
|
||||
|
||||
int createPM(int parentItemInd, int insertAfterChildNum);
|
||||
int createDM(int parentItemInd, int insertAfterChildNum, QString scheme);
|
||||
QDomElement createEmpty_pmRef(QString parent_modelIdentCode, QString parent_pmIssuer);
|
||||
QDomElement createEmpty_dmRef(QString parent_modelIdentCode);
|
||||
void deleteItem(int itemInd);
|
||||
_schemeType getSchemeTypeByStr(QString str);
|
||||
void resetICN();
|
||||
QString genICN();
|
||||
bool copyDir(const QString &srcPath, const QString &dstPath);
|
||||
|
||||
void fillManifest(int itemIndex, QDomNode curOrgNode, QDomNode resNode, QDomDocument manifest, int lvl=0);
|
||||
bool exportS1000D(QString dstDir, QString packFileName, QString packTitle, SplashForm* splash);
|
||||
bool exportSCORM(QString dstDir, QString packFileName, QString packTitle, SplashForm* splash);
|
||||
bool exportEDL(QString dstDir, QString packFileName, QString packTitle, int EDType, SplashForm* splash);
|
||||
bool exportSingleSCORM(QString dstDir, QString packFileName, QString packTitle, SplashForm* splash);
|
||||
QStringList html;
|
||||
void addHTML(int lvl, QString s);
|
||||
void catHTML(QString s);
|
||||
|
||||
|
||||
int bugCnt=0;
|
||||
RU_Const ru_const;
|
||||
//struct searchListStruct {
|
||||
// QString name;
|
||||
// QDomNode node;
|
||||
//};
|
||||
|
||||
struct ItemStruct { // Основная структура хранения данных
|
||||
QString fileName, S1000D_fileName, SCORM_fileName;
|
||||
QString fileCode;
|
||||
_moduleType moduleType;
|
||||
_schemeType schemeType;
|
||||
int parent; // -1 = root
|
||||
QList<int> child;
|
||||
QDomDocument doc;
|
||||
bool isReady, dmDataFilled, toExport, isQualifyed;
|
||||
int selectedInDMCodeList;
|
||||
QString importedFromLyX;
|
||||
QStringList lyxLog, html, inPackages;
|
||||
QString origTitle;
|
||||
} *item;
|
||||
int itemIndex;
|
||||
|
||||
QList <ItemStruct> items;
|
||||
QList <QString> log;
|
||||
bool DBG=true;
|
||||
QString projectPath="";
|
||||
QString rootLyXfile="";
|
||||
int ICN_UI=0;
|
||||
|
||||
bool isConsole=false;
|
||||
int timeConvert, timeSCORM, timeSingleSCORM, timeS1000D, timeEDL;
|
||||
struct PackageStruct {
|
||||
QString cfgName, fullName, title, exportFileName;
|
||||
};
|
||||
QList <PackageStruct> packages;
|
||||
QString manifestFirstPage = "";
|
||||
int indexTocId, manifestFirstPageId;
|
||||
QString typeOfExport="";
|
||||
|
||||
void LoadPackagesXML();
|
||||
void SavePackagesXML();
|
||||
void AddPackageContent(QDomNode node, int ind);
|
||||
void ParsePackageContent(QDomNode node, int parentItem);
|
||||
};
|
||||
|
||||
#endif // S1000D_MANAGER_H
|
||||
46
s1000d/Converter_Source/splashform.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
#include "splashform.h"
|
||||
#include "ui_splashform.h"
|
||||
#include <QDesktopWidget>
|
||||
#include <qdebug.h>
|
||||
#include <QMessageBox>
|
||||
|
||||
SplashForm::SplashForm(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::SplashForm)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
QDesktopWidget desktop;
|
||||
QRect rect = desktop.availableGeometry(this);
|
||||
QPoint center = rect.center();
|
||||
int x = center.x() - (width()/2);
|
||||
int y = center.y() - (height()/2);
|
||||
center.setX(x); center.setY(y);
|
||||
this->move(center);
|
||||
this->setWindowFlag(Qt::SplashScreen, true);
|
||||
this->setWindowFlag(Qt::WindowStaysOnTopHint, true);
|
||||
}
|
||||
|
||||
SplashForm::~SplashForm()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void SplashForm::Reset() {
|
||||
ui->progressBar->setValue(100);
|
||||
ui->lblTitle->setText("Задумались...");
|
||||
}
|
||||
|
||||
void SplashForm::Step() {
|
||||
if(ui->progressBar->value() >= 100)
|
||||
ui->progressBar->setValue(0);
|
||||
else
|
||||
ui->progressBar->setValue(ui->progressBar->value()+1);
|
||||
}
|
||||
|
||||
void SplashForm::SetTitle(QString title) {
|
||||
ui->lblTitle->setText(title);
|
||||
}
|
||||
|
||||
void SplashForm::ErrMessage(QString title, QString msg) {
|
||||
QMessageBox::critical(this,title,msg,QMessageBox::Ok);
|
||||
}
|
||||
30
s1000d/Converter_Source/splashform.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef SPLASHFORM_H
|
||||
#define SPLASHFORM_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QWindow>
|
||||
#include <QTimer>
|
||||
|
||||
namespace Ui {
|
||||
class SplashForm;
|
||||
}
|
||||
|
||||
class SplashForm : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SplashForm(QWidget *parent = nullptr);
|
||||
~SplashForm();
|
||||
void Reset();
|
||||
void Step();
|
||||
void SetTitle(QString title);
|
||||
void ErrMessage(QString title, QString msg);
|
||||
|
||||
QTimer* timer;
|
||||
|
||||
private:
|
||||
Ui::SplashForm *ui;
|
||||
};
|
||||
|
||||
#endif // SPLASHFORM_H
|
||||
123
s1000d/Converter_Source/splashform.ui
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SplashForm</class>
|
||||
<widget class="QDialog" name="SplashForm">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::ApplicationModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>492</width>
|
||||
<height>157</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::NoContextMenu</enum>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="S1000DResources.qrc">
|
||||
<normaloff>:/new/Icons/doc_config.png</normaloff>:/new/Icons/doc_config.png</iconset>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: white;</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="2" column="0">
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>1</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="textVisible">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>9</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="S1000DResources.qrc">:/new/Icons/logo.png</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lblTitle">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Times New Roman</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(144, 144, 144);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="S1000DResources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||