Fleshed out remainder of XmlUtil. Units cleanup.
This commit is contained in:
+1
-1
@@ -62,7 +62,7 @@ namespace libglabels
|
||||
virtual double w() const = 0;
|
||||
virtual double h() const = 0;
|
||||
|
||||
virtual const QString sizeDescription( const Units* units ) const = 0;
|
||||
virtual const QString sizeDescription( const Units& units ) const = 0;
|
||||
virtual bool isSimilarTo( Frame* other ) const = 0;
|
||||
|
||||
virtual const QPainterPath& path() const = 0;
|
||||
|
||||
@@ -80,22 +80,22 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
const QString FrameCd::sizeDescription( const Units* units ) const
|
||||
const QString FrameCd::sizeDescription( const Units& units ) const
|
||||
{
|
||||
if ( units->id() == "in" )
|
||||
if ( units.id() == "in" )
|
||||
{
|
||||
QString dStr = StrUtil::formatFraction( 2 * mR1 * units->unitsPerPoint() );
|
||||
QString dStr = StrUtil::formatFraction( 2 * mR1 * units.unitsPerPoint() );
|
||||
|
||||
return QString().sprintf( "%s %s %s",
|
||||
qPrintable(dStr),
|
||||
qPrintable(units->name()),
|
||||
qPrintable(units.name()),
|
||||
qPrintable(tr("diameter")) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString().sprintf( "%.5g %s %s",
|
||||
2 * mR1 * units->unitsPerPoint(),
|
||||
qPrintable(units->name()),
|
||||
2 * mR1 * units.unitsPerPoint(),
|
||||
qPrintable(units.name()),
|
||||
qPrintable(tr("diameter")) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace libglabels
|
||||
double w() const;
|
||||
double h() const;
|
||||
|
||||
const QString sizeDescription( const Units* units ) const;
|
||||
const QString sizeDescription( const Units& units ) const;
|
||||
bool isSimilarTo( Frame* other ) const;
|
||||
|
||||
const QPainterPath& path() const;
|
||||
|
||||
@@ -59,24 +59,24 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
const QString FrameEllipse::sizeDescription( const Units* units ) const
|
||||
const QString FrameEllipse::sizeDescription( const Units& units ) const
|
||||
{
|
||||
if ( units->id() == "in" )
|
||||
if ( units.id() == "in" )
|
||||
{
|
||||
QString wStr = StrUtil::formatFraction( mW * units->unitsPerPoint() );
|
||||
QString hStr = StrUtil::formatFraction( mH * units->unitsPerPoint() );
|
||||
QString wStr = StrUtil::formatFraction( mW * units.unitsPerPoint() );
|
||||
QString hStr = StrUtil::formatFraction( mH * units.unitsPerPoint() );
|
||||
|
||||
return QString().sprintf( "%s x %s %s",
|
||||
qPrintable(wStr),
|
||||
qPrintable(hStr),
|
||||
qPrintable(units->name()) );
|
||||
qPrintable(units.name()) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString().sprintf( "%.5g x %.5g %s",
|
||||
mW * units->unitsPerPoint(),
|
||||
mH * units->unitsPerPoint(),
|
||||
qPrintable(units->name()) );
|
||||
mW * units.unitsPerPoint(),
|
||||
mH * units.unitsPerPoint(),
|
||||
qPrintable(units.name()) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace libglabels
|
||||
double w() const;
|
||||
double h() const;
|
||||
|
||||
const QString sizeDescription( const Units* units ) const;
|
||||
const QString sizeDescription( const Units& units ) const;
|
||||
bool isSimilarTo( Frame* other ) const;
|
||||
|
||||
const QPainterPath& path() const;
|
||||
|
||||
@@ -61,24 +61,24 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
const QString FrameRect::sizeDescription( const Units* units ) const
|
||||
const QString FrameRect::sizeDescription( const Units& units ) const
|
||||
{
|
||||
if ( units->id() == "in" )
|
||||
if ( units.id() == "in" )
|
||||
{
|
||||
QString wStr = StrUtil::formatFraction( mW * units->unitsPerPoint() );
|
||||
QString hStr = StrUtil::formatFraction( mH * units->unitsPerPoint() );
|
||||
QString wStr = StrUtil::formatFraction( mW * units.unitsPerPoint() );
|
||||
QString hStr = StrUtil::formatFraction( mH * units.unitsPerPoint() );
|
||||
|
||||
return QString().sprintf( "%s x %s %s",
|
||||
qPrintable(wStr),
|
||||
qPrintable(hStr),
|
||||
qPrintable(units->name()) );
|
||||
qPrintable(units.name()) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString().sprintf( "%.5g x %.5g %s",
|
||||
mW * units->unitsPerPoint(),
|
||||
mH * units->unitsPerPoint(),
|
||||
qPrintable(units->name()) );
|
||||
mW * units.unitsPerPoint(),
|
||||
mH * units.unitsPerPoint(),
|
||||
qPrintable(units.name()) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace libglabels
|
||||
double w() const;
|
||||
double h() const;
|
||||
|
||||
const QString sizeDescription( const Units* units ) const;
|
||||
const QString sizeDescription( const Units& units ) const;
|
||||
|
||||
bool isSimilarTo( Frame* other ) const;
|
||||
|
||||
|
||||
@@ -60,22 +60,22 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
const QString FrameRound::sizeDescription( const Units* units ) const
|
||||
const QString FrameRound::sizeDescription( const Units& units ) const
|
||||
{
|
||||
if ( units->id() == "in" )
|
||||
if ( units.id() == "in" )
|
||||
{
|
||||
QString dStr = StrUtil::formatFraction( 2 * mR * units->unitsPerPoint() );
|
||||
QString dStr = StrUtil::formatFraction( 2 * mR * units.unitsPerPoint() );
|
||||
|
||||
return QString().sprintf( "%s %s %s",
|
||||
qPrintable(dStr),
|
||||
qPrintable(units->name()),
|
||||
qPrintable(units.name()),
|
||||
qPrintable(tr("diameter")) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString().sprintf( "%.5g %s %s",
|
||||
2 * mR * units->unitsPerPoint(),
|
||||
qPrintable(units->name()),
|
||||
2 * mR * units.unitsPerPoint(),
|
||||
qPrintable(units.name()),
|
||||
qPrintable(tr("diameter")) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace libglabels
|
||||
double w() const;
|
||||
double h() const;
|
||||
|
||||
const QString sizeDescription( const Units* units ) const;
|
||||
const QString sizeDescription( const Units& units ) const;
|
||||
bool isSimilarTo( Frame* other ) const;
|
||||
|
||||
const QPainterPath& path() const;
|
||||
|
||||
+17
-46
@@ -43,7 +43,13 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
Units *Units::fromId( const QString &id )
|
||||
Units::Units()
|
||||
: mId("pt"), mName(tr("points")), mPointsPerUnit(POINTS_PER_POINT)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Units Units::fromId( const QString &id )
|
||||
{
|
||||
if ( id == "pt" )
|
||||
{
|
||||
@@ -79,68 +85,33 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
Units *Units::point()
|
||||
Units Units::point()
|
||||
{
|
||||
static Units *instance = NULL;
|
||||
|
||||
if ( instance == NULL )
|
||||
{
|
||||
instance = new Units( "pt", tr("points"), POINTS_PER_POINT );
|
||||
}
|
||||
|
||||
return instance;
|
||||
return Units( "pt", tr("points"), POINTS_PER_POINT );
|
||||
}
|
||||
|
||||
|
||||
Units *Units::inch()
|
||||
Units Units::inch()
|
||||
{
|
||||
static Units *instance = NULL;
|
||||
|
||||
if ( instance == NULL )
|
||||
{
|
||||
instance = new Units( "in", tr("inches"), POINTS_PER_INCH );
|
||||
}
|
||||
|
||||
return instance;
|
||||
return Units( "in", tr("inches"), POINTS_PER_INCH );
|
||||
}
|
||||
|
||||
|
||||
Units *Units::mm()
|
||||
Units Units::mm()
|
||||
{
|
||||
static Units *instance = NULL;
|
||||
|
||||
if ( instance == NULL )
|
||||
{
|
||||
instance = new Units( "mm", tr("mm"), POINTS_PER_MM );
|
||||
}
|
||||
|
||||
return instance;
|
||||
return Units( "mm", tr("mm"), POINTS_PER_MM );
|
||||
}
|
||||
|
||||
|
||||
Units *Units::cm()
|
||||
Units Units::cm()
|
||||
{
|
||||
static Units *instance = NULL;
|
||||
|
||||
if ( instance == NULL )
|
||||
{
|
||||
instance = new Units( "cm", tr("cm"), POINTS_PER_CM );
|
||||
}
|
||||
|
||||
return instance;
|
||||
return Units( "cm", tr("cm"), POINTS_PER_CM );
|
||||
}
|
||||
|
||||
|
||||
Units *Units::pica()
|
||||
Units Units::pica()
|
||||
{
|
||||
static Units *instance = NULL;
|
||||
|
||||
if ( instance == NULL )
|
||||
{
|
||||
instance = new Units( "pc", tr("picas"), POINTS_PER_PICA );
|
||||
}
|
||||
|
||||
return instance;
|
||||
return Units( "pc", tr("picas"), POINTS_PER_PICA );
|
||||
}
|
||||
|
||||
|
||||
|
||||
+8
-6
@@ -39,23 +39,25 @@ namespace libglabels
|
||||
Units( const QString &id, const QString &name, double pointsPerUnit );
|
||||
|
||||
public:
|
||||
Units();
|
||||
|
||||
QString id() const;
|
||||
QString name() const;
|
||||
|
||||
double pointsPerUnit() const;
|
||||
double unitsPerPoint() const;
|
||||
|
||||
static Units *fromId( const QString &id );
|
||||
static Units fromId( const QString &id );
|
||||
|
||||
static Units *point();
|
||||
static Units point();
|
||||
|
||||
static Units *inch();
|
||||
static Units inch();
|
||||
|
||||
static Units *mm();
|
||||
static Units mm();
|
||||
|
||||
static Units *cm();
|
||||
static Units cm();
|
||||
|
||||
static Units *pica();
|
||||
static Units pica();
|
||||
|
||||
static bool isIdValid( QString id );
|
||||
|
||||
|
||||
+30
-29
@@ -27,7 +27,7 @@
|
||||
namespace libglabels
|
||||
{
|
||||
|
||||
Units* XmlUtil::mDefaultUnits;
|
||||
Units XmlUtil::mDefaultUnits;
|
||||
|
||||
|
||||
XmlUtil::XmlUtil()
|
||||
@@ -42,13 +42,13 @@ namespace libglabels
|
||||
}
|
||||
|
||||
|
||||
const Units* XmlUtil::defaultUnits()
|
||||
Units XmlUtil::defaultUnits()
|
||||
{
|
||||
return mDefaultUnits;
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setDefaultUnits( Units* defaultUnits )
|
||||
void XmlUtil::setDefaultUnits( const Units& defaultUnits )
|
||||
{
|
||||
mDefaultUnits = defaultUnits;
|
||||
}
|
||||
@@ -210,60 +210,61 @@ namespace libglabels
|
||||
return default_value;
|
||||
}
|
||||
|
||||
Units* units = Units::fromId( unitsString );
|
||||
Units units = Units::fromId( unitsString );
|
||||
|
||||
return value* units->pointsPerUnit();
|
||||
return value * units.pointsPerUnit();
|
||||
}
|
||||
|
||||
return default_value;
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setStringAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
const QString& value )
|
||||
void XmlUtil::setStringAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
const QString& value )
|
||||
{
|
||||
// TODO
|
||||
node.setAttribute( name, value );
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setDoubleAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
double value )
|
||||
void XmlUtil::setDoubleAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
double value )
|
||||
{
|
||||
// TODO
|
||||
node.setAttribute( name, QString::number(value) );
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setBoolAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
bool value )
|
||||
void XmlUtil::setBoolAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
bool value )
|
||||
{
|
||||
// TODO
|
||||
node.setAttribute( name, value ? "true" : "false" );
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setIntAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
int value )
|
||||
void XmlUtil::setIntAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
int value )
|
||||
{
|
||||
// TODO
|
||||
node.setAttribute( name, QString::number(value) );
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setUIntAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
uint32_t value )
|
||||
void XmlUtil::setUIntAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
uint32_t value )
|
||||
{
|
||||
// TODO
|
||||
node.setAttribute( name, "0x" + QString::number(value, 16) );
|
||||
}
|
||||
|
||||
|
||||
void XmlUtil::setLengthAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
double value )
|
||||
void XmlUtil::setLengthAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
double value )
|
||||
{
|
||||
// TODO
|
||||
value *= mDefaultUnits.unitsPerPoint();
|
||||
node.setAttribute( name, QString::number(value) + mDefaultUnits.id() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+25
-25
@@ -41,8 +41,8 @@ namespace libglabels
|
||||
|
||||
static void init();
|
||||
|
||||
static const Units* defaultUnits();
|
||||
static void setDefaultUnits( Units* defaultUnits );
|
||||
static Units defaultUnits();
|
||||
static void setDefaultUnits( const Units& defaultUnits );
|
||||
|
||||
static QString getStringAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
@@ -72,32 +72,32 @@ namespace libglabels
|
||||
const QString& name,
|
||||
double default_value );
|
||||
|
||||
static void setStringAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
const QString& value );
|
||||
|
||||
static void setDoubleAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
double value );
|
||||
|
||||
static void setBoolAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
bool value );
|
||||
|
||||
static void setIntAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
int value );
|
||||
|
||||
static void setUIntAttr( const QDomElement& node,
|
||||
const QString& name,
|
||||
uint32_t value );
|
||||
|
||||
static void setLengthAttr( const QDomElement& node,
|
||||
static void setStringAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
double value );
|
||||
const QString& value );
|
||||
|
||||
static void setDoubleAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
double value );
|
||||
|
||||
static void setBoolAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
bool value );
|
||||
|
||||
static void setIntAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
int value );
|
||||
|
||||
static void setUIntAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
uint32_t value );
|
||||
|
||||
static void setLengthAttr( QDomElement& node,
|
||||
const QString& name,
|
||||
double value );
|
||||
|
||||
private:
|
||||
static Units* mDefaultUnits;
|
||||
static Units mDefaultUnits;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user