Base: make getAttribute template

This commit is contained in:
Benjamin Bræstrup Sayoc
2025-02-25 20:32:11 +01:00
parent 7f49550dee
commit 2b1aec0041
64 changed files with 834 additions and 675 deletions

View File

@@ -178,20 +178,20 @@ void Constraint::Save(Writer& writer) const
void Constraint::Restore(XMLReader& reader)
{
reader.readElement("Constrain");
Name = reader.getAttribute("Name");
Type = static_cast<ConstraintType>(reader.getAttributeAsInteger("Type"));
Value = reader.getAttributeAsFloat("Value");
First = reader.getAttributeAsInteger("First");
FirstPos = static_cast<PointPos>(reader.getAttributeAsInteger("FirstPos"));
Second = reader.getAttributeAsInteger("Second");
SecondPos = static_cast<PointPos>(reader.getAttributeAsInteger("SecondPos"));
Name = reader.getAttribute<const char*>("Name");
Type = static_cast<ConstraintType>(reader.getAttribute<long>("Type"));
Value = reader.getAttribute<double>("Value");
First = reader.getAttribute<long>("First");
FirstPos = static_cast<PointPos>(reader.getAttribute<long>("FirstPos"));
Second = reader.getAttribute<long>("Second");
SecondPos = reader.getAttribute<PointPos>("SecondPos");
if (this->Type == InternalAlignment) {
AlignmentType = static_cast<InternalAlignmentType>(
reader.getAttributeAsInteger("InternalAlignmentType"));
reader.getAttribute<long>("InternalAlignmentType"));
if (reader.hasAttribute("InternalAlignmentIndex")) {
InternalAlignmentIndex = reader.getAttributeAsInteger("InternalAlignmentIndex");
InternalAlignmentIndex = reader.getAttribute<long>("InternalAlignmentIndex");
}
}
else {
@@ -200,29 +200,29 @@ void Constraint::Restore(XMLReader& reader)
// read the third geo group if present
if (reader.hasAttribute("Third")) {
Third = reader.getAttributeAsInteger("Third");
ThirdPos = static_cast<PointPos>(reader.getAttributeAsInteger("ThirdPos"));
Third = reader.getAttribute<long>("Third");
ThirdPos = static_cast<PointPos>(reader.getAttribute<long>("ThirdPos"));
}
// Read the distance a constraint label has been moved
if (reader.hasAttribute("LabelDistance")) {
LabelDistance = (float)reader.getAttributeAsFloat("LabelDistance");
LabelDistance = (float)reader.getAttribute<double>("LabelDistance");
}
if (reader.hasAttribute("LabelPosition")) {
LabelPosition = (float)reader.getAttributeAsFloat("LabelPosition");
LabelPosition = (float)reader.getAttribute<double>("LabelPosition");
}
if (reader.hasAttribute("IsDriving")) {
isDriving = reader.getAttributeAsInteger("IsDriving") ? true : false;
isDriving = reader.getAttribute<long>("IsDriving") ? true : false;
}
if (reader.hasAttribute("IsInVirtualSpace")) {
isInVirtualSpace = reader.getAttributeAsInteger("IsInVirtualSpace") ? true : false;
isInVirtualSpace = reader.getAttribute<long>("IsInVirtualSpace") ? true : false;
}
if (reader.hasAttribute("IsActive")) {
isActive = reader.getAttributeAsInteger("IsActive") ? true : false;
isActive = reader.getAttribute<long>("IsActive") ? true : false;
}
}