Files
sethLabels/backends/barcode/Style.cpp
T

205 lines
3.4 KiB
C++

/* Style.cpp
*
* Copyright (C) 2013 Jim Evins <evins@snaught.com>
*
* This file is part of gLabels-qt.
*
* gLabels-qt 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 3 of the License, or
* (at your option) any later version.
*
* gLabels-qt is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "Style.h"
namespace glabels::barcode
{
///
/// Default Constructor
///
Style::Style ()
: mId( "" ),
mBackendId( "" ),
mName( "" ),
mCanText( false ),
mTextOptional( false ),
mCanChecksum( false ),
mChecksumOptional( false ),
mDefaultDigits( "" ),
mCanFreeform( false ),
mPreferedN( 0 )
{
// empty
}
///
/// Constructor From Data
///
Style::Style ( const QString& id,
const QString& backendId,
const QString& name,
bool canText,
bool textOptional,
bool canChecksum,
bool checksumOptional,
const QString& defaultDigits,
bool canFreeform,
int preferedN )
: mId( id ),
mBackendId( backendId ),
mName( name ),
mCanText( canText ),
mTextOptional( textOptional ),
mCanChecksum( canChecksum ),
mChecksumOptional( checksumOptional ),
mDefaultDigits( defaultDigits ),
mCanFreeform( canFreeform ),
mPreferedN( preferedN )
{
// empty
}
///
/// ID Property Getter
///
const QString& Style::id() const
{
return mId;
}
///
/// Full ID Property Getter
///
QString Style::fullId() const
{
if ( mBackendId == "" )
{
return mId;
}
else
{
return mBackendId + "::" + mId;
}
}
///
/// Backend ID Property Getter
///
const QString& Style::backendId() const
{
return mBackendId;
}
///
/// Name Property Getter
///
const QString& Style::name() const
{
return mName;
}
///
/// Can Text Property Getter
///
bool Style::canText() const
{
return mCanText;
}
///
/// Text Optional Property Getter
///
bool Style::textOptional() const
{
return mTextOptional;
}
///
/// Can Checksum Property Getter
///
bool Style::canChecksum() const
{
return mCanChecksum;
}
///
/// Checksum Optional Property Getter
///
bool Style::checksumOptional() const
{
return mChecksumOptional;
}
///
/// Default Digits Property Getter
///
const QString& Style::defaultDigits() const
{
return mDefaultDigits;
}
///
/// Can Freeform Property Getter
///
bool Style::canFreeform() const
{
return mCanFreeform;
}
///
/// Prefered N Property Getter
///
int Style::preferedN() const
{
return mPreferedN;
}
///
/// Generate Example Digits
///
QString Style::exampleDigits( int n ) const
{
if ( mCanFreeform )
{
return QString( qMax( n, 1 ), QChar('0') );
}
else
{
return mDefaultDigits;
}
}
///
/// "Not equals" operator
///
bool Style::operator!=( const Style& other ) const
{
return mId != other.mId;
}
} // namespace glabels::barcode