diff options
Diffstat (limited to 'src/datablocks/unit.h')
-rw-r--r-- | src/datablocks/unit.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/datablocks/unit.h b/src/datablocks/unit.h new file mode 100644 index 0000000..f948cf8 --- /dev/null +++ b/src/datablocks/unit.h @@ -0,0 +1,45 @@ +/*************************************************************************** +* Copyright (C) 2004-2006 by * +* Jason Kivlighn (jkivlighn@gmail.com) * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +***************************************************************************/ + +#ifndef UNIT_H +#define UNIT_H + +#include <tqstring.h> +#include <tqvaluelist.h> + +class Unit +{ +public: + Unit(); + Unit( const TQString &name, const TQString &plural, int id = -1 ); + + typedef enum { All = -1, Other = 0, Mass, Volume } Type; + + /** Use @param amount to determine whether to use @param name as the plural or singlular form */ + Unit( const TQString &name, double amount ); + + bool operator==( const Unit &u ) const; + bool operator<( const Unit &u ) const; + + TQString determineName( double amount, bool useAbbrev ) const; + + Type type; + + int id; + TQString name; + TQString plural; + + TQString name_abbrev; + TQString plural_abbrev; +}; + +typedef TQValueList< Unit > UnitList; + +#endif //UNIT_H |