Link to: source code | unit
cost directory
Copyright Turtle Creek Software 1996-2006. All Rights Reserved.
This class manages calculated utility account quantities in the Goldenseal accounting software,
estimating software, project
management software
and construction
accounting software.
class CCalcUtilityAccounts : public DB_DescribedPersistent
{
public:
static CLASS_DESC *sDescriptor;
static DB_PersistentObject *MakeNew() { return TCS_NEW CCalcUtilityAccounts; }
CCalcUtilityAccounts();
virtual ~CCalcUtilityAccounts() {}
virtual DBid GetDBClassID(void) const { return id_CalcUtilityAccount; }
virtual void CopyFrom(DB_PersistentObject *source, const UInt8 copyFlags = 0);
virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const;
virtual Boolean GetMemberValue(const NeoTag aTag, const NeoTag aType,
void *aValue) const;
virtual Boolean SetMemberValue(const NeoTag aTag, const NeoTag aType,
const void *aValue);
virtual void ReadObject(CNeoStream *aStream, const TagType aTag);
virtual void WriteObject(CNeoStream *aStream, const TagType aTag);
static CMoney GetCalculation(const DBid accountID, const UInt8 calcType,
const UInt8 rounding, const UInt8 timeRange);
// utility account calculators are always numbers TCS rev 4/29/04
virtual Boolean IsNumber() const { return true; }
virtual Boolean IsSimpleNumber() const { return true; }
virtual Boolean IsMathable() const { return true; }
virtual CTextString GetDisplayCString(const FormatType format = 0, const Boolean alwaysUpdate = false);
virtual CTextString GetStarterCString(const FormatType format) const;
virtual void UpdateCalculatorValue(SInt32 &runLimit, const FormatType format,
const Boolean alwaysUpdate = false);
virtual CMoney GetCalculatorMoney();
virtual UInt8 GetStatusForMenuArray() const { return mCalculationType; } // TCS 12/13/00
virtual Boolean IsDisplayDirty() const { return mDisplayDirty; }
virtual Boolean SetDisplayDirty(const UInt8 source);
virtual void SetCalcDirty(const Boolean inValue = true) { mCalcDirty = inValue; }
virtual Boolean IsCalcDirty() const { return mCalcDirty; }
virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;
virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }
protected:
// copied members
CMoney mCurrentValue;
DBid mAccount;
UInt8 mCalculationType,
mRoundingType,
mTimeRange,
mPadding; // TCS added padding 3/27/02
// calculated members
// *** NEVER insert members before this bitfield!!!
UInt8 mCalcDirty:1,
mDisplayDirty:1,
filler:6;
UInt8 mMorePadding;
CMoney mExpansionMoney;
TagType mEndSafetyTag; // TCS 9/8/02
enum
{
cCopyFileLength = sizeof(CMoney) +
sizeof(DBid) +
4*sizeof(UInt8) +
sizeof(CMoney),
cFileLength = cCopyFileLength +
2*sizeof (UInt8) +
sizeof(TagType)
};
}; |