KUnitConversion
mass.cpp
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2008-2009 Petri Damstén <damu@iki.fi> 00003 * Copyright (C) 2008 Kristof Bal <kristof.bal@gmail.com> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU Library General Public License as 00007 * published by the Free Software Foundation; either version 2, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details 00014 * 00015 * You should have received a copy of the GNU Library General Public 00016 * License along with this program; if not, write to the 00017 * Free Software Foundation, Inc., 00018 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #include "mass.h" 00022 #include "converter.h" 00023 #include <klocale.h> 00024 00025 using namespace KUnitConversion; 00026 00027 Mass::Mass() : UnitCategory(MassCategory) 00028 { 00029 setName(i18n("Mass")); 00030 setSymbolStringFormat(ki18nc("%1 value, %2 unit symbol (mass)", "%1 %2")); 00031 00032 U(Yottagram, 1e+24, 00033 i18nc("mass unit symbol", "Yg"), 00034 i18nc("unit description in lists", "yottagrams"), 00035 i18nc("unit synonyms for matching user input", "yottagram;yottagrams;Yg"), 00036 ki18nc("amount in units (real)", "%1 yottagrams"), 00037 ki18ncp("amount in units (integer)", "%1 yottagram", "%1 yottagrams") 00038 ); 00039 U(Zettagram, 1e+21, 00040 i18nc("mass unit symbol", "Zg"), 00041 i18nc("unit description in lists", "zettagrams"), 00042 i18nc("unit synonyms for matching user input", "zettagram;zettagrams;Zg"), 00043 ki18nc("amount in units (real)", "%1 zettagrams"), 00044 ki18ncp("amount in units (integer)", "%1 zettagram", "%1 zettagrams") 00045 ); 00046 U(Exagram, 1e+18, 00047 i18nc("mass unit symbol", "Eg"), 00048 i18nc("unit description in lists", "exagrams"), 00049 i18nc("unit synonyms for matching user input", "exagram;exagrams;Eg"), 00050 ki18nc("amount in units (real)", "%1 exagrams"), 00051 ki18ncp("amount in units (integer)", "%1 exagram", "%1 exagrams") 00052 ); 00053 U(Petagram, 1e+15, 00054 i18nc("mass unit symbol", "Pg"), 00055 i18nc("unit description in lists", "petagrams"), 00056 i18nc("unit synonyms for matching user input", "petagram;petagrams;Pg"), 00057 ki18nc("amount in units (real)", "%1 petagrams"), 00058 ki18ncp("amount in units (integer)", "%1 petagram", "%1 petagrams") 00059 ); 00060 U(Teragram, 1e+12, 00061 i18nc("mass unit symbol", "Tg"), 00062 i18nc("unit description in lists", "teragrams"), 00063 i18nc("unit synonyms for matching user input", "teragram;teragrams;Tg"), 00064 ki18nc("amount in units (real)", "%1 teragrams"), 00065 ki18ncp("amount in units (integer)", "%1 teragram", "%1 teragrams") 00066 ); 00067 U(Gigagram, 1e+09, 00068 i18nc("mass unit symbol", "Gg"), 00069 i18nc("unit description in lists", "gigagrams"), 00070 i18nc("unit synonyms for matching user input", "gigagram;gigagrams;Gg"), 00071 ki18nc("amount in units (real)", "%1 gigagrams"), 00072 ki18ncp("amount in units (integer)", "%1 gigagram", "%1 gigagrams") 00073 ); 00074 U(Megagram, 1e+06, 00075 i18nc("mass unit symbol", "Mg"), 00076 i18nc("unit description in lists", "megagrams"), 00077 i18nc("unit synonyms for matching user input", "megagram;megagrams;Mg"), 00078 ki18nc("amount in units (real)", "%1 megagrams"), 00079 ki18ncp("amount in units (integer)", "%1 megagram", "%1 megagrams") 00080 ); 00081 setDefaultUnit(UP(Kilogram, 1000, 00082 i18nc("mass unit symbol", "kg"), 00083 i18nc("unit description in lists", "kilograms"), 00084 i18nc("unit synonyms for matching user input", "kilogram;kilograms;kg"), 00085 ki18nc("amount in units (real)", "%1 kilograms"), 00086 ki18ncp("amount in units (integer)", "%1 kilogram", "%1 kilograms") 00087 )); 00088 U(Hectogram, 100, 00089 i18nc("mass unit symbol", "hg"), 00090 i18nc("unit description in lists", "hectograms"), 00091 i18nc("unit synonyms for matching user input", "hectogram;hectograms;hg"), 00092 ki18nc("amount in units (real)", "%1 hectograms"), 00093 ki18ncp("amount in units (integer)", "%1 hectogram", "%1 hectograms") 00094 ); 00095 U(Decagram, 10, 00096 i18nc("mass unit symbol", "dag"), 00097 i18nc("unit description in lists", "decagrams"), 00098 i18nc("unit synonyms for matching user input", "decagram;decagrams;dag"), 00099 ki18nc("amount in units (real)", "%1 decagrams"), 00100 ki18ncp("amount in units (integer)", "%1 decagram", "%1 decagrams") 00101 ); 00102 U(Gram, 1, 00103 i18nc("mass unit symbol", "g"), 00104 i18nc("unit description in lists", "grams"), 00105 i18nc("unit synonyms for matching user input", "gram;grams;g"), 00106 ki18nc("amount in units (real)", "%1 grams"), 00107 ki18ncp("amount in units (integer)", "%1 gram", "%1 grams") 00108 ); 00109 U(Decigram, 0.1, 00110 i18nc("mass unit symbol", "dg"), 00111 i18nc("unit description in lists", "decigrams"), 00112 i18nc("unit synonyms for matching user input", "decigram;decigrams;dg"), 00113 ki18nc("amount in units (real)", "%1 decigrams"), 00114 ki18ncp("amount in units (integer)", "%1 decigram", "%1 decigrams") 00115 ); 00116 U(Centigram, 0.01, 00117 i18nc("mass unit symbol", "cg"), 00118 i18nc("unit description in lists", "centigrams"), 00119 i18nc("unit synonyms for matching user input", "centigram;centigrams;cg"), 00120 ki18nc("amount in units (real)", "%1 centigrams"), 00121 ki18ncp("amount in units (integer)", "%1 centigram", "%1 centigrams") 00122 ); 00123 U(Milligram, 0.001, 00124 i18nc("mass unit symbol", "mg"), 00125 i18nc("unit description in lists", "milligrams"), 00126 i18nc("unit synonyms for matching user input", "milligram;milligrams;mg"), 00127 ki18nc("amount in units (real)", "%1 milligrams"), 00128 ki18ncp("amount in units (integer)", "%1 milligram", "%1 milligrams") 00129 ); 00130 U(Microgram, 1e-06, 00131 i18nc("mass unit symbol", "µg"), 00132 i18nc("unit description in lists", "micrograms"), 00133 i18nc("unit synonyms for matching user input", "microgram;micrograms;µg;ug"), 00134 ki18nc("amount in units (real)", "%1 micrograms"), 00135 ki18ncp("amount in units (integer)", "%1 microgram", "%1 micrograms") 00136 ); 00137 U(Nanogram, 1e-09, 00138 i18nc("mass unit symbol", "ng"), 00139 i18nc("unit description in lists", "nanograms"), 00140 i18nc("unit synonyms for matching user input", "nanogram;nanograms;ng"), 00141 ki18nc("amount in units (real)", "%1 nanograms"), 00142 ki18ncp("amount in units (integer)", "%1 nanogram", "%1 nanograms") 00143 ); 00144 U(Picogram, 1e-12, 00145 i18nc("mass unit symbol", "pg"), 00146 i18nc("unit description in lists", "picograms"), 00147 i18nc("unit synonyms for matching user input", "picogram;picograms;pg"), 00148 ki18nc("amount in units (real)", "%1 picograms"), 00149 ki18ncp("amount in units (integer)", "%1 picogram", "%1 picograms") 00150 ); 00151 U(Femtogram, 1e-15, 00152 i18nc("mass unit symbol", "fg"), 00153 i18nc("unit description in lists", "femtograms"), 00154 i18nc("unit synonyms for matching user input", "femtogram;femtograms;fg"), 00155 ki18nc("amount in units (real)", "%1 femtograms"), 00156 ki18ncp("amount in units (integer)", "%1 femtogram", "%1 femtograms") 00157 ); 00158 U(Attogram, 1e-18, 00159 i18nc("mass unit symbol", "ag"), 00160 i18nc("unit description in lists", "attograms"), 00161 i18nc("unit synonyms for matching user input", "attogram;attograms;ag"), 00162 ki18nc("amount in units (real)", "%1 attograms"), 00163 ki18ncp("amount in units (integer)", "%1 attogram", "%1 attograms") 00164 ); 00165 U(Zeptogram, 1e-21, 00166 i18nc("mass unit symbol", "zg"), 00167 i18nc("unit description in lists", "zeptograms"), 00168 i18nc("unit synonyms for matching user input", "zeptogram;zeptograms;zg"), 00169 ki18nc("amount in units (real)", "%1 zeptograms"), 00170 ki18ncp("amount in units (integer)", "%1 zeptogram", "%1 zeptograms") 00171 ); 00172 U(Yoctogram, 1e-24, 00173 i18nc("mass unit symbol", "yg"), 00174 i18nc("unit description in lists", "yoctograms"), 00175 i18nc("unit synonyms for matching user input", "yoctogram;yoctograms;yg"), 00176 ki18nc("amount in units (real)", "%1 yoctograms"), 00177 ki18ncp("amount in units (integer)", "%1 yoctogram", "%1 yoctograms") 00178 ); 00179 U(Ton, 1e+06, 00180 i18nc("mass unit symbol", "t"), 00181 i18nc("unit description in lists", "tons"), 00182 i18nc("unit synonyms for matching user input", "ton;tons;t;tonne"), 00183 ki18nc("amount in units (real)", "%1 tons"), 00184 ki18ncp("amount in units (integer)", "%1 ton", "%1 tons") 00185 ); 00186 //I guess it's useful... 00187 U(Carat, 0.2, 00188 i18nc("mass unit symbol", "CD"), 00189 i18nc("unit description in lists", "carats"), 00190 i18nc("unit synonyms for matching user input", "carat;carats;CD"), 00191 ki18nc("amount in units (real)", "%1 carats"), 00192 ki18ncp("amount in units (integer)", "%1 carat", "%1 carats") 00193 ); 00194 //http://en.wikipedia.org/wiki/Pound_(mass)#International_pound 00195 U(Pound, 453.592, 00196 i18nc("mass unit symbol", "lb"), 00197 i18nc("unit description in lists", "pounds"), 00198 i18nc("unit synonyms for matching user input", "pound;pounds;lb"), 00199 ki18nc("amount in units (real)", "%1 pounds"), 00200 ki18ncp("amount in units (integer)", "%1 pound", "%1 pounds") 00201 ); 00202 //International avoirdupois ounce 00203 U(Ounce, 28.3495, 00204 i18nc("mass unit symbol", "oz"), 00205 i18nc("unit description in lists", "ounces"), 00206 i18nc("unit synonyms for matching user input", "ounce;ounces;oz"), 00207 ki18nc("amount in units (real)", "%1 ounces"), 00208 ki18ncp("amount in units (integer)", "%1 ounce", "%1 ounces") 00209 ); 00210 U(TroyOunce, 31.1035, 00211 i18nc("mass unit symbol", "t oz"), 00212 i18nc("unit description in lists", "troy ounces"), 00213 i18nc("unit synonyms for matching user input", "troy ounce;troy ounces;t oz"), 00214 ki18nc("amount in units (real)", "%1 troy ounces"), 00215 ki18ncp("amount in units (integer)", "%1 troy ounce", "%1 troy ounces") 00216 ); 00217 U(MassNewton, 101.937, 00218 i18nc("mass unit symbol", "N"), 00219 i18nc("unit description in lists", "newtons"), 00220 i18nc("unit synonyms for matching user input", "newton;newtons;N"), 00221 ki18nc("amount in units (real)", "%1 newtons"), 00222 ki18ncp("amount in units (integer)", "%1 newton", "%1 newtons") 00223 ); 00224 //used a lot in industry (aircraft engines for example) 00225 U(Kilonewton, 101937, 00226 i18nc("mass unit symbol", "kN"), 00227 i18nc("unit description in lists", "kilonewton"), 00228 i18nc("unit synonyms for matching user input", "kilonewton;kilonewton;kN"), 00229 ki18nc("amount in units (real)", "%1 kilonewton"), 00230 ki18ncp("amount in units (integer)", "%1 kilonewton", "%1 kilonewton") 00231 ); 00232 00233 setMostCommonUnits(QList<int>() << 00234 Kilogram << Gram << Microgram << Ton << Pound << Ounce); 00235 }
KDE 4.6 API Reference