Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
This commit is contained in:
@@ -178,20 +178,19 @@ 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 = reader.getAttribute<ConstraintType>("Type");
|
||||
Value = reader.getAttribute<double>("Value");
|
||||
First = reader.getAttribute<long>("First");
|
||||
FirstPos = reader.getAttribute<PointPos>("FirstPos");
|
||||
Second = reader.getAttribute<long>("Second");
|
||||
SecondPos = reader.getAttribute<PointPos>("SecondPos");
|
||||
|
||||
if (this->Type == InternalAlignment) {
|
||||
AlignmentType = static_cast<InternalAlignmentType>(
|
||||
reader.getAttributeAsInteger("InternalAlignmentType"));
|
||||
AlignmentType = reader.getAttribute<InternalAlignmentType>("InternalAlignmentType");
|
||||
|
||||
if (reader.hasAttribute("InternalAlignmentIndex")) {
|
||||
InternalAlignmentIndex = reader.getAttributeAsInteger("InternalAlignmentIndex");
|
||||
InternalAlignmentIndex = reader.getAttribute<long>("InternalAlignmentIndex");
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -200,29 +199,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 = reader.getAttribute<PointPos>("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<bool>("IsDriving");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("IsInVirtualSpace")) {
|
||||
isInVirtualSpace = reader.getAttributeAsInteger("IsInVirtualSpace") ? true : false;
|
||||
isInVirtualSpace = reader.getAttribute<bool>("IsInVirtualSpace");
|
||||
}
|
||||
|
||||
if (reader.hasAttribute("IsActive")) {
|
||||
isActive = reader.getAttributeAsInteger("IsActive") ? true : false;
|
||||
isActive = reader.getAttribute<bool>("IsActive");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,9 +48,9 @@ void ExternalGeometryExtension::restoreAttributes(Base::XMLReader& reader)
|
||||
{
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
Ref = reader.getAttribute("Ref", "");
|
||||
RefIndex = reader.getAttributeAsInteger("RefIndex", "-1");
|
||||
Flags = FlagType(reader.getAttributeAsUnsigned("Flags", "0"));
|
||||
Ref = reader.getAttribute<const char*>("Ref", "");
|
||||
RefIndex = reader.getAttribute<long>("RefIndex", -1);
|
||||
Flags = FlagType(reader.getAttribute<unsigned long>("Flags", 0));
|
||||
}
|
||||
|
||||
void ExternalGeometryExtension::saveAttributes(Base::Writer& writer) const
|
||||
|
||||
@@ -341,7 +341,7 @@ void PropertyConstraintList::Restore(Base::XMLReader& reader)
|
||||
// read my element
|
||||
reader.readElement("ConstraintList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
|
||||
std::vector<Constraint*> values;
|
||||
values.reserve(count);
|
||||
|
||||
@@ -65,16 +65,15 @@ void SketchGeometryExtension::restoreAttributes(Base::XMLReader& reader)
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
if (reader.hasAttribute("id")) {
|
||||
Id = reader.getAttributeAsInteger("id");
|
||||
Id = reader.getAttribute<long>("id");
|
||||
}
|
||||
|
||||
InternalGeometryType = static_cast<InternalType::InternalType>(
|
||||
reader.getAttributeAsInteger("internalGeometryType"));
|
||||
InternalGeometryType = reader.getAttribute<InternalType::InternalType>("internalGeometryType");
|
||||
|
||||
GeometryModeFlags = GeometryModeFlagType(reader.getAttribute("geometryModeFlags"));
|
||||
GeometryModeFlags = GeometryModeFlagType(reader.getAttribute<const char*>("geometryModeFlags"));
|
||||
|
||||
if (reader.hasAttribute("geometryLayer")) {
|
||||
GeometryLayer = reader.getAttributeAsInteger("geometryLayer");
|
||||
GeometryLayer = reader.getAttribute<long>("geometryLayer");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ void PropertyVisualLayerList::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VisualLayerList");
|
||||
// get the value of my attribute
|
||||
int count = reader.getAttributeAsInteger("count");
|
||||
int count = reader.getAttribute<long>("count");
|
||||
|
||||
std::vector<VisualLayer> layers;
|
||||
layers.reserve(count);
|
||||
|
||||
@@ -65,7 +65,7 @@ void ViewProviderSketchGeometryExtension::restoreAttributes(Base::XMLReader& rea
|
||||
Part::GeometryPersistenceExtension::restoreAttributes(reader);
|
||||
|
||||
if (reader.hasAttribute("visualLayerId")) {
|
||||
VisualLayerId = reader.getAttributeAsInteger("visualLayerId");
|
||||
VisualLayerId = reader.getAttribute<long>("visualLayerId");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,9 +80,9 @@ void VisualLayer::Restore(Base::XMLReader& reader)
|
||||
{
|
||||
reader.readElement("VisualLayer");
|
||||
|
||||
std::string str = reader.getAttribute("visible");
|
||||
std::string str = reader.getAttribute<const char*>("visible");
|
||||
visible = (str == "true");
|
||||
|
||||
linePattern = reader.getAttributeAsUnsigned("linePattern");
|
||||
lineWidth = reader.getAttributeAsFloat("lineWidth");
|
||||
linePattern = reader.getAttribute<unsigned long>("linePattern");
|
||||
lineWidth = reader.getAttribute<double>("lineWidth");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user