aboutsummaryrefslogtreecommitdiff
path: root/src/qml
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2013-12-09 23:06:39 +0200
committerOskari Timperi <oskari.timperi@iki.fi>2013-12-09 23:06:39 +0200
commit4f61719b3368df3ff9eaea27b83517e9cf4612e4 (patch)
treee30f2b7ae0095ebfd0c05255ad869043797991ce /src/qml
parent6e444978a1c327c7cd98ded195478dc6906dc1b7 (diff)
downloadunitmaster-4f61719b3368df3ff9eaea27b83517e9cf4612e4.tar.gz
unitmaster-4f61719b3368df3ff9eaea27b83517e9cf4612e4.zip
area model + tests
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/pages/AreaModel.qml78
-rw-r--r--src/qml/pages/QuantityModel.qml8
2 files changed, 82 insertions, 4 deletions
diff --git a/src/qml/pages/AreaModel.qml b/src/qml/pages/AreaModel.qml
new file mode 100644
index 0000000..169b127
--- /dev/null
+++ b/src/qml/pages/AreaModel.qml
@@ -0,0 +1,78 @@
+import QtQuick 2.0
+
+ListModel {
+ function from(title, value) {
+ var functions = {
+ "square meter": function () { return value; },
+ "square kilometer": function () { return value*(1000*1000); },
+ "square feet": function () { return value*0.09290304; },
+ "square yard": function () { return value*0.83612736; },
+ "square mile": function () { return value*2.589988110336e6; },
+ "are": function () { return value*100; },
+ "hectare": function () { return value*10000; },
+ "international acre": function () { return value*4046.8564224; },
+ "survey acre": function () { return value*4046.872609874252; }
+ };
+ return functions[title]();
+ }
+
+ function to(title, value) {
+ var functions = {
+ "square meter": function () { return value; },
+ "square kilometer": function () { return value/(1000*1000); },
+ "square feet": function () { return value/0.09290304; },
+ "square yard": function () { return value/0.83612736; },
+ "square mile": function () { return value/2.589988110336e6; },
+ "are": function () { return value/100; },
+ "hectare": function () { return value/10000; },
+ "international acre": function () { return value/4046.8564224; },
+ "survey acre": function () { return value/4046.872609874252; }
+ };
+ return functions[title]();
+ }
+
+ ListElement {
+ title: "square meter"
+ abbr: "m²"
+ }
+
+ ListElement {
+ title: "square kilometer"
+ abbr: "km²"
+ }
+
+ ListElement {
+ title: "square feet"
+ abbr: "ft²"
+ }
+
+ ListElement {
+ title: "square yard"
+ abbr: "yd²"
+ }
+
+ ListElement {
+ title: "square mile"
+ abbr: "mi²"
+ }
+
+ ListElement {
+ title: "are"
+ abbr: "a"
+ }
+
+ ListElement {
+ title: "hectare"
+ abbr: "ha"
+ }
+
+ ListElement {
+ title: "international acre"
+ abbr: ""
+ }
+
+ ListElement {
+ title: "survey acre"
+ abbr: ""
+ }
+}
diff --git a/src/qml/pages/QuantityModel.qml b/src/qml/pages/QuantityModel.qml
index f7e3844..81ecb50 100644
--- a/src/qml/pages/QuantityModel.qml
+++ b/src/qml/pages/QuantityModel.qml
@@ -26,10 +26,10 @@ ListModel {
// model: "CurrentModel.qml"
// }
-// ListElement {
-// title: "area"
-// model: "AreaModel.qml"
-// }
+ ListElement {
+ title: "area"
+ model: "AreaModel.qml"
+ }
ListElement {
title: "angle"