Pārlūkot izejas kodu

Fix some situations where units were not shown in properties

Michael Ragazzon 1 gadu atpakaļ
vecāks
revīzija
6e1d4874f1
2 mainītis faili ar 6 papildinājumiem un 9 dzēšanām
  1. 1 1
      Source/Core/Property.cpp
  2. 5 8
      Source/Core/TransformUtilities.cpp

+ 1 - 1
Source/Core/Property.cpp

@@ -40,7 +40,7 @@ Property::Property() : unit(Unit::UNKNOWN), specificity(-1)
 String Property::ToString() const
 {
 	if (!definition)
-		return value.Get<String>();
+		return value.Get<String>() + Rml::ToString(unit);
 
 	String string;
 	definition->GetValue(string, *this);

+ 5 - 8
Source/Core/TransformUtilities.cpp

@@ -94,14 +94,6 @@ static inline float ResolveDepth(NumericValue value, Element& e) noexcept
 	return e.ResolveNumericValue(value, Math::Max(size.x, size.y));
 }
 
-static inline String ToString(NumericValue value) noexcept
-{
-	Property prop;
-	prop.value = Variant(value.number);
-	prop.unit = value.unit;
-	return prop.ToString();
-}
-
 struct SetIdentityVisitor {
 	template <size_t N>
 	void operator()(Transforms::ResolvedPrimitive<N>& p)
@@ -609,6 +601,11 @@ static String ToString(const Transforms::ResolvedPrimitive<N>& p, const String&
 	return result;
 }
 
+static inline String ToString(NumericValue value) noexcept
+{
+	return ToString(value.number) + ToString(value.unit);
+}
+
 template <size_t N>
 static inline String ToString(const Transforms::UnresolvedPrimitive<N>& p) noexcept
 {