mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-23 15:34:12 +02:00
dfec60a3a5
A terminal's label is written as it is read off the plan, "X1:1", and
the symbol draws it as one field. On a long strip that field is long
enough to reach into the next terminal, and a user who wants the number
next to the screw and the label out of the way has no way to say so.
Settings > General > Appearance now has a "Display of the terminal
labelling" group with two choices: the label and its terminal number in
one field, the way it has always been drawn, or the two split. The
first is what every drawing gets, so nothing moves until the user asks
for it, and choosing the other one redraws the drawings already open --
nothing needs to be closed and opened again.
A symbol made for the split carries a text field bound to the new
"Terminal number" information (in the element editor's list, next to
the label, and as the %{terminal_number} variable of a composite text):
the label field then shows "X1" and the number field "1", each placed
where the symbol wants it, and hideable when it must be. A symbol which
has no such field -- every symbol drawn until now -- gets the number on
its own line inside the label field, so switching the setting on can
never make a number vanish, and never needs a symbol to be touched
first. A field which becomes, or stops being, the number field tells
the label fields of its symbol to draw themselves again.
Only the drawing reacts. What the element stores, the numbering, the
sorting in the terminal strip editor, the automatic strip import and
every export keep the whole label: the split is read where the text is
drawn (Element::labelForDisplay() and friends), not where the label is
made.
The new test covers both choices, with and without the number field, a
label with no colon at all, and the way back to the whole label. The
full test suite passes (124/124).
442 lines
18 KiB
C++
442 lines
18 KiB
C++
/*
|
|
Copyright 2006-2026 The QElectroTech Team
|
|
This file is part of QElectroTech.
|
|
|
|
QElectroTech is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
QElectroTech is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include <QObject>
|
|
#include <QHash>
|
|
#include "qetinformation.h"
|
|
|
|
/**
|
|
@brief QETInformation::titleblockInfoKeys
|
|
@return all available key for use with a titleblock
|
|
*/
|
|
QStringList QETInformation::titleblockInfoKeys()
|
|
{
|
|
QStringList info_list = { DIA_AUTHOR,
|
|
DIA_DATE,
|
|
DIA_TITLE,
|
|
DIA_FILENAME,
|
|
DIA_PLANT,
|
|
DIA_LOCMACH,
|
|
DIA_INDEX_REV,
|
|
QET_VERSION,
|
|
DIA_FOLIO,
|
|
DIA_FOLIO_ID,
|
|
PROJECT_FOLIO_TOTAL,
|
|
DIA_PREVIOUS_FOLIO_NUM,
|
|
DIA_NEXT_FOLIO_NUM,
|
|
PROJECT_TITLE,
|
|
PROJECT_PATH,
|
|
PROJECT_FILE_NAME,
|
|
PROJECT_SAVE_DATE,
|
|
PROJECT_SAVE_DATE_EU,
|
|
PROJECT_SAVE_DATE_US,
|
|
PROJECT_SAVE_TIME,
|
|
PROJECT_SAVED_FILE_NAME,
|
|
PROJECT_SAVED_FILE_PATH };
|
|
return info_list;
|
|
}
|
|
|
|
/**
|
|
@brief QETInformation::titleblockInfoKeysToVar
|
|
@param info
|
|
@return var in form %{my-var} corresponding to the info.
|
|
if there is not available var for the given info, the returned var is %{void}
|
|
*/
|
|
QString QETInformation::titleblockInfoKeysToVar(const QString &info)
|
|
{
|
|
if (titleblockInfoKeys().contains(info))
|
|
return infoToVar(info);
|
|
else
|
|
return QString("%{void}");
|
|
}
|
|
|
|
/**
|
|
@brief QETInformation::titleblockTranslatedKeyHashVar
|
|
@return a QHash with for key, the translated information key of title block,
|
|
and for value the corresponding var.
|
|
*/
|
|
QHash<QString, QString> QETInformation::titleblockTranslatedKeyHashVar()
|
|
{
|
|
QHash <QString, QString> hash_;
|
|
for (QString str : titleblockInfoKeys()) {
|
|
hash_.insert(translatedInfoKey(str), titleblockInfoKeysToVar(str));
|
|
}
|
|
return hash_;
|
|
}
|
|
|
|
/**
|
|
* @brief QETInformation::folioReportInfoKey
|
|
* @return The info key available for dynamic element text item of a folio report
|
|
*/
|
|
QStringList QETInformation::folioReportInfoKeys()
|
|
{
|
|
QStringList list = { ELMT_LABEL,
|
|
COND_FUNCTION,
|
|
COND_TENSION_PROTOCOL,
|
|
COND_COLOR,
|
|
COND_SECTION };
|
|
|
|
return list;
|
|
}
|
|
QHash<QString, QString> QETInformation::folioReportInfoKeyToVar()
|
|
{
|
|
QHash <QString, QString> H_;
|
|
H_.insert(ELMT_LABEL, infoToVar(ELMT_LABEL));
|
|
H_.insert(COND_FUNCTION, infoToVar(COND_FUNCTION));
|
|
H_.insert(COND_TENSION_PROTOCOL, infoToVar(COND_TENSION_PROTOCOL));
|
|
H_.insert(COND_COLOR, infoToVar(COND_COLOR));
|
|
H_.insert(COND_SECTION, infoToVar(COND_SECTION));
|
|
|
|
return H_;
|
|
}
|
|
|
|
QString QETInformation::folioReportInfoToVar(const QString &info)
|
|
{
|
|
if (QETInformation::folioReportInfoKeys().contains(info))
|
|
return infoToVar(info);
|
|
else
|
|
return (QString ("%{void}"));
|
|
}
|
|
|
|
QStringList QETInformation::conductorInfoKeys()
|
|
{
|
|
QStringList list = { COND_FORMULA,
|
|
COND_TEXT,
|
|
COND_FUNCTION,
|
|
COND_TENSION_PROTOCOL,
|
|
COND_COLOR,
|
|
COND_SECTION };
|
|
return list;
|
|
}
|
|
|
|
QStringList QETInformation::diagramInfoKeys()
|
|
{
|
|
QStringList list = { DIA_TITLE,
|
|
DIA_AUTHOR,
|
|
DIA_FILENAME,
|
|
DIA_FOLIO,
|
|
DIA_PLANT,
|
|
DIA_LOCMACH,
|
|
DIA_INDEX_REV,
|
|
DIA_DATE,
|
|
DIA_DISPLAY_FOLIO };
|
|
return list;
|
|
}
|
|
|
|
QStringList QETInformation::elementInfoKeys()
|
|
{
|
|
QStringList list = { ELMT_FORMULA,
|
|
ELMT_LABEL,
|
|
ELMT_TERMINAL_NUMBER,
|
|
ELMT_PLANT,
|
|
ELMT_LOCATION,
|
|
ELMT_COMMENT,
|
|
ELMT_FUNCTION,
|
|
ELMT_DESCRIPTION,
|
|
ELMT_DESIGNATION,
|
|
ELMT_MANUFACTURER,
|
|
ELMT_MANUFACTURER_REF,
|
|
ELMT_MODEL,
|
|
ELMT_CATEGORY,
|
|
ELMT_VOLTAGE_RATING,
|
|
ELMT_CURRENT_RATING,
|
|
ELMT_NOTES,
|
|
ELMT_MACHINE_MANUFACTURER_REF,
|
|
ELMT_SUPPLIER,
|
|
ELMT_QUANTITY,
|
|
ELMT_UNITY,
|
|
ELMT_WIDTH,
|
|
ELMT_HEIGHT,
|
|
ELMT_DEPTH,
|
|
ELMT_AUX1,
|
|
ELMT_DESCRIPTION_AUX1,
|
|
ELMT_DESIGNATION_AUX1,
|
|
ELMT_MANUFACTURER_AUX1,
|
|
ELMT_MANUFACTURER_REF_AUX1,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX1,
|
|
ELMT_SUPPLIER_AUX1,
|
|
ELMT_QUANTITY_AUX1,
|
|
ELMT_UNITY_AUX1,
|
|
ELMT_AUX2,
|
|
ELMT_DESCRIPTION_AUX2,
|
|
ELMT_DESIGNATION_AUX2,
|
|
ELMT_MANUFACTURER_AUX2,
|
|
ELMT_MANUFACTURER_REF_AUX2,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX2,
|
|
ELMT_SUPPLIER_AUX2,
|
|
ELMT_QUANTITY_AUX2,
|
|
ELMT_UNITY_AUX2,
|
|
ELMT_AUX3,
|
|
ELMT_DESCRIPTION_AUX3,
|
|
ELMT_DESIGNATION_AUX3,
|
|
ELMT_MANUFACTURER_AUX3,
|
|
ELMT_MANUFACTURER_REF_AUX3,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX3,
|
|
ELMT_SUPPLIER_AUX3,
|
|
ELMT_QUANTITY_AUX3,
|
|
ELMT_UNITY_AUX3,
|
|
ELMT_AUX4,
|
|
ELMT_DESCRIPTION_AUX4,
|
|
ELMT_DESIGNATION_AUX4,
|
|
ELMT_MANUFACTURER_AUX4,
|
|
ELMT_MANUFACTURER_REF_AUX4,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX4,
|
|
ELMT_SUPPLIER_AUX4,
|
|
ELMT_QUANTITY_AUX4,
|
|
ELMT_UNITY_AUX4,
|
|
ELMT_PLC_TYPE,
|
|
ELMT_PLC_ADDRESS,
|
|
ELMT_PLC_FUNCTION,
|
|
ELMT_PLC_COMMENT,
|
|
ELMT_PLC_CROSSREF,
|
|
ELMT_XREF,
|
|
"exclude_from_bom" };
|
|
return list;
|
|
}
|
|
|
|
/**
|
|
* @brief QETInformation::elementInfoToVar
|
|
* @param info
|
|
* @return The info to a variable or %{void} if @info
|
|
* is not an element information
|
|
*/
|
|
QString QETInformation::elementInfoToVar(const QString &info)
|
|
{
|
|
if (QETInformation::elementInfoKeys().contains(info))
|
|
return infoToVar(info);
|
|
else
|
|
return (QString ("%{void}"));
|
|
}
|
|
|
|
/**
|
|
* @brief QETInformation::numericInfoPattern
|
|
* @return the pattern used to validate numeric elementInformation
|
|
* fields (currently width/height/depth): digits with an optional "."
|
|
* as decimal separator, requiring at least one digit overall so a
|
|
* lone "." can never be a complete, acceptable value on its own.
|
|
*/
|
|
QRegularExpression QETInformation::numericInfoPattern()
|
|
{
|
|
return QRegularExpression(QStringLiteral(R"(^[0-9]+$|^[0-9]*\.[0-9]{1,2}$)"));
|
|
}
|
|
|
|
/**
|
|
@brief QETInformation::NumericInfoValidator::NumericInfoValidator
|
|
@param parent
|
|
*/
|
|
QETInformation::NumericInfoValidator::NumericInfoValidator(QObject *parent) :
|
|
QRegularExpressionValidator(numericInfoPattern(), parent)
|
|
{
|
|
}
|
|
|
|
/**
|
|
@brief QETInformation::NumericInfoValidator::validate
|
|
Rewrites any "," in @a input to "." in place, then delegates to
|
|
the base class for the actual numericInfoPattern() check. @a pos
|
|
is left untouched by the rewrite itself -- replacing "," with "."
|
|
never changes the string's length, so the cursor position the
|
|
caller already tracked stays correct.
|
|
@param input the text being validated; may be rewritten
|
|
@param pos the cursor position within @a input
|
|
@return the resulting validation state
|
|
*/
|
|
QValidator::State QETInformation::NumericInfoValidator::validate(QString &input, int &pos) const
|
|
{
|
|
if (input.contains(QLatin1Char(',')))
|
|
input.replace(QLatin1Char(','), QLatin1Char('.'));
|
|
return QRegularExpressionValidator::validate(input, pos);
|
|
}
|
|
|
|
/**
|
|
* @brief QETInformation::infoToVar
|
|
* @param info
|
|
* @return return the string @info prepended by %{ ans appended by }
|
|
* example : if info is label, the returned string is %{label}
|
|
*/
|
|
QString QETInformation::infoToVar(const QString &info)
|
|
{
|
|
return QString("%{")+info+QString("}");
|
|
}
|
|
|
|
/**
|
|
* @brief QETInformation::translatedInfoKey
|
|
* @param info
|
|
* @return the information translated to the current local.
|
|
* This function translate all information : element, conductor, diagram
|
|
* Return an empty QString if don't match
|
|
*/
|
|
QString QETInformation::translatedInfoKey(const QString &info)
|
|
{
|
|
if (info == ELMT_MODEL) return QObject::tr("Model");
|
|
else if (info == ELMT_CATEGORY) return QObject::tr("Category");
|
|
else if (info == ELMT_VOLTAGE_RATING) return QObject::tr("Rated voltage");
|
|
else if (info == ELMT_CURRENT_RATING) return QObject::tr("Rated current");
|
|
else if (info == ELMT_NOTES) return QObject::tr("Notes");
|
|
else if (info == DIA_AUTHOR) return QObject::tr("Author");
|
|
else if (info == DIA_DATE) return QObject::tr("Date");
|
|
else if (info == DIA_TITLE) return QObject::tr("Title");
|
|
else if (info == DIA_FILENAME) return QObject::tr("File");
|
|
else if (info == DIA_PLANT) return QObject::tr("Plant (=)");
|
|
else if (info == DIA_LOCMACH) return QObject::tr("Location (+)");
|
|
else if (info == DIA_INDEX_REV) return QObject::tr("Revision index");
|
|
else if (info == DIA_POS) return QObject::tr("Position");
|
|
else if (info == QET_VERSION) return QObject::tr("Version of QElectroTech");
|
|
else if (info == DIA_FOLIO) return QObject::tr("Sheet number");
|
|
else if (info == DIA_FOLIO_ID) return QObject::tr("Sheet position");
|
|
else if (info == PROJECT_FOLIO_TOTAL) return QObject::tr("Number of sheets");
|
|
else if (info == DIA_PREVIOUS_FOLIO_NUM) return QObject::tr("Number of the previous sheet");
|
|
else if (info == DIA_NEXT_FOLIO_NUM) return QObject::tr("Number of the following sheet");
|
|
else if (info == PROJECT_TITLE) return QObject::tr("Project title");
|
|
else if (info == PROJECT_PATH) return QObject::tr("Project file path");
|
|
else if (info == PROJECT_FILE_NAME) return QObject::tr("File name");
|
|
else if (info == PROJECT_SAVE_DATE) return QObject::tr("Date of saving of the file in local date format");
|
|
else if (info == PROJECT_SAVE_DATE_EU) return QObject::tr("Date of saving of the file in the format DD-MM-YYYY");
|
|
else if (info == PROJECT_SAVE_DATE_US) return QObject::tr("Date of saving of the file in the format YYYY-MM-DD");
|
|
else if (info == PROJECT_SAVE_TIME) return QObject::tr("File saving time");
|
|
else if (info == PROJECT_SAVED_FILE_NAME) return QObject::tr("Name of the saved file");
|
|
else if (info == PROJECT_SAVED_FILE_PATH) return QObject::tr("Saved file path");
|
|
else if (info == ELMT_FORMULA) return QObject::tr("Label formula");
|
|
else if (info == ELMT_LABEL) return QObject::tr("Label");
|
|
else if (info == ELMT_TERMINAL_NUMBER) return QObject::tr("Terminal number");
|
|
else if (info == ELMT_COMMENT) return QObject::tr("Annotation");
|
|
else if (info == ELMT_FUNCTION) return QObject::tr("Function");
|
|
else if (info == ELMT_DESCRIPTION) return QObject::tr("Textual description");
|
|
else if (info == ELMT_DESIGNATION) return QObject::tr("Article number");
|
|
else if (info == ELMT_MANUFACTURER) return QObject::tr("Manufacturer");
|
|
else if (info == ELMT_MANUFACTURER_REF) return QObject::tr("Order number");
|
|
else if (info == ELMT_MACHINE_MANUFACTURER_REF) return QObject::tr("Internal number");
|
|
else if (info == ELMT_SUPPLIER) return QObject::tr("Supplier");
|
|
else if (info == ELMT_QUANTITY) return QObject::tr("Quantity");
|
|
else if (info == ELMT_UNITY) return QObject::tr("Unity");
|
|
else if (info == ELMT_WIDTH) return QObject::tr("Width [mm]");
|
|
else if (info == ELMT_HEIGHT) return QObject::tr("Height [mm]");
|
|
else if (info == ELMT_DEPTH) return QObject::tr("Depth [mm]");
|
|
else if (info == ELMT_LOCATION) return QObject::tr("Location (+)");
|
|
else if (info == COND_FUNCTION) return QObject::tr("Function");
|
|
else if (info == COND_TENSION_PROTOCOL) return QObject::tr("Voltage / Protocol");
|
|
else if (info == COND_COLOR) return QObject::tr("Wire color");
|
|
else if (info == COND_SECTION) return QObject::tr("Wire section");
|
|
else if (info == COND_TEXT) return QObject::tr("Text");
|
|
else if (info == COND_FORMULA) return QObject::tr("Text Formula");
|
|
else if (info == ELMT_AUX1) return QObject::tr("Auxiliary block 1");
|
|
else if (info == ELMT_DESCRIPTION_AUX1) return QObject::tr("Auxiliary 1 text description");
|
|
else if (info == ELMT_DESIGNATION_AUX1) return QObject::tr("Auxiliary 1 article number");
|
|
else if (info == ELMT_MANUFACTURER_AUX1) return QObject::tr("Manufacturer of auxiliary 1");
|
|
else if (info == ELMT_MANUFACTURER_REF_AUX1) return QObject::tr("Order number auxiliary 1");
|
|
else if (info == ELMT_MACHINE_MANUFACTURER_REF_AUX1) return QObject::tr("Internal number of auxiliary 1");
|
|
else if (info == ELMT_SUPPLIER_AUX1) return QObject::tr("supplier of auxiliary 1");
|
|
else if (info == ELMT_QUANTITY_AUX1) return QObject::tr("Quantity of auxiliary 1");
|
|
else if (info == ELMT_UNITY_AUX1) return QObject::tr("Unity of auxiliary 1");
|
|
else if (info == ELMT_AUX2) return QObject::tr("Auxiliary block 2");
|
|
else if (info == ELMT_DESCRIPTION_AUX2) return QObject::tr("Auxiliary 2 text description");
|
|
else if (info == ELMT_DESIGNATION_AUX2) return QObject::tr("Auxiliary 2 article number");
|
|
else if (info == ELMT_MANUFACTURER_AUX2) return QObject::tr("Manufacturer of auxiliary 2");
|
|
else if (info == ELMT_MANUFACTURER_REF_AUX2) return QObject::tr("Order number auxiliary 2");
|
|
else if (info == ELMT_MACHINE_MANUFACTURER_REF_AUX2) return QObject::tr("Internal number of auxiliary 2");
|
|
else if (info == ELMT_SUPPLIER_AUX2) return QObject::tr("supplier of auxiliary 2");
|
|
else if (info == ELMT_QUANTITY_AUX2) return QObject::tr("Quantity of auxiliary 2");
|
|
else if (info == ELMT_UNITY_AUX2) return QObject::tr("Unity of auxiliary 2");
|
|
else if (info == ELMT_AUX3) return QObject::tr("Auxiliary block 3");
|
|
else if (info == ELMT_DESCRIPTION_AUX3) return QObject::tr("Auxiliary 3 text description");
|
|
else if (info == ELMT_DESIGNATION_AUX3) return QObject::tr("Auxiliary 3 article number");
|
|
else if (info == ELMT_MANUFACTURER_AUX3) return QObject::tr("Manufacturer of auxiliary 3");
|
|
else if (info == ELMT_MANUFACTURER_REF_AUX3) return QObject::tr("Order number auxiliary 3");
|
|
else if (info == ELMT_MACHINE_MANUFACTURER_REF_AUX3) return QObject::tr("Internal number of auxiliary 3");
|
|
else if (info == ELMT_SUPPLIER_AUX3) return QObject::tr("supplier of auxiliary 3");
|
|
else if (info == ELMT_QUANTITY_AUX3) return QObject::tr("Quantity of auxiliary 3");
|
|
else if (info == ELMT_UNITY_AUX3) return QObject::tr("Unity of auxiliary 3");
|
|
else if (info == ELMT_AUX4) return QObject::tr("Auxiliary block 4");
|
|
else if (info == ELMT_DESCRIPTION_AUX4) return QObject::tr("Auxiliary 4 text description");
|
|
else if (info == ELMT_DESIGNATION_AUX4) return QObject::tr("Auxiliary 4 article number");
|
|
else if (info == ELMT_MANUFACTURER_AUX4) return QObject::tr("Manufacturer of auxiliary 4");
|
|
else if (info == ELMT_MANUFACTURER_REF_AUX4) return QObject::tr("Order number auxiliary 4");
|
|
else if (info == ELMT_MACHINE_MANUFACTURER_REF_AUX4) return QObject::tr("Internal number of auxiliary 4");
|
|
else if (info == ELMT_SUPPLIER_AUX4) return QObject::tr("supplier of auxiliary 4");
|
|
else if (info == ELMT_QUANTITY_AUX4) return QObject::tr("Quantity of auxiliary 4");
|
|
else if (info == ELMT_UNITY_AUX4) return QObject::tr("Unity of auxiliary 4");
|
|
else if (info == ELMT_PLC_TYPE) return QObject::tr("Type PLC");
|
|
else if (info == ELMT_PLC_ADDRESS) return QObject::tr("PLC address");
|
|
else if (info == ELMT_PLC_FUNCTION) return QObject::tr("PLC function");
|
|
else if (info == ELMT_PLC_COMMENT) return QObject::tr("PLC comment");
|
|
else if (info == ELMT_PLC_CROSSREF) return QObject::tr("PLC cross-reference");
|
|
else if (info == ELMT_XREF) return QObject::tr("Cross-reference");
|
|
else return QString();
|
|
}
|
|
|
|
QStringList QETInformation::elementEditorElementInfoKeys()
|
|
{
|
|
QStringList list = { ELMT_LABEL,
|
|
ELMT_PLANT,
|
|
ELMT_LOCATION,
|
|
ELMT_COMMENT,
|
|
ELMT_FUNCTION,
|
|
ELMT_DESCRIPTION,
|
|
ELMT_DESIGNATION,
|
|
ELMT_MANUFACTURER,
|
|
ELMT_MANUFACTURER_REF,
|
|
ELMT_MODEL,
|
|
ELMT_CATEGORY,
|
|
ELMT_VOLTAGE_RATING,
|
|
ELMT_CURRENT_RATING,
|
|
ELMT_NOTES,
|
|
ELMT_MACHINE_MANUFACTURER_REF,
|
|
ELMT_SUPPLIER,
|
|
ELMT_QUANTITY,
|
|
ELMT_UNITY,
|
|
ELMT_WIDTH,
|
|
ELMT_HEIGHT,
|
|
ELMT_DEPTH,
|
|
ELMT_AUX1,
|
|
ELMT_DESCRIPTION_AUX1,
|
|
ELMT_DESIGNATION_AUX1,
|
|
ELMT_MANUFACTURER_AUX1,
|
|
ELMT_MANUFACTURER_REF_AUX1,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX1,
|
|
ELMT_SUPPLIER_AUX1,
|
|
ELMT_QUANTITY_AUX1,
|
|
ELMT_UNITY_AUX1,
|
|
ELMT_AUX2,
|
|
ELMT_DESCRIPTION_AUX2,
|
|
ELMT_DESIGNATION_AUX2,
|
|
ELMT_MANUFACTURER_AUX2,
|
|
ELMT_MANUFACTURER_REF_AUX2,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX2,
|
|
ELMT_SUPPLIER_AUX2,
|
|
ELMT_QUANTITY_AUX2,
|
|
ELMT_UNITY_AUX2,
|
|
ELMT_AUX3,
|
|
ELMT_DESCRIPTION_AUX3,
|
|
ELMT_DESIGNATION_AUX3,
|
|
ELMT_MANUFACTURER_AUX3,
|
|
ELMT_MANUFACTURER_REF_AUX3,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX3,
|
|
ELMT_SUPPLIER_AUX3,
|
|
ELMT_QUANTITY_AUX3,
|
|
ELMT_UNITY_AUX3,
|
|
ELMT_AUX4,
|
|
ELMT_DESCRIPTION_AUX4,
|
|
ELMT_DESIGNATION_AUX4,
|
|
ELMT_MANUFACTURER_AUX4,
|
|
ELMT_MANUFACTURER_REF_AUX4,
|
|
ELMT_MACHINE_MANUFACTURER_REF_AUX4,
|
|
ELMT_SUPPLIER_AUX4,
|
|
ELMT_QUANTITY_AUX4,
|
|
ELMT_UNITY_AUX4 };
|
|
return list;
|
|
}
|