From 4f61719b3368df3ff9eaea27b83517e9cf4612e4 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Mon, 9 Dec 2013 23:06:39 +0200 Subject: area model + tests --- src/qml/pages/AreaModel.qml | 78 +++++++++++++++++++++++++++++++++++++++++ src/qml/pages/QuantityModel.qml | 8 ++--- 2 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 src/qml/pages/AreaModel.qml (limited to 'src') 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" -- cgit v1.2.3