Accounting Software
Small Business Software Estimating Software
Contact SoftwareInventory SoftwareInventory Tracking SoftwareInventory Management SoftwareInventory Control SoftwareCustomer Management SoftwareBusiness Management Software

File Preferences (Header)

Link to: source code | prefs directory

Copyright Turtle Creek Software 1996-2006. All Rights Reserved.

This class manages file preferences for the Goldenseal accounting software,
small business management software, construction project management software and
construction accounting software.

class CFilePreferences : public DB_DescribedPersistent
{
public:

static CLASS_DESC *sDescriptor;
static DB_PersistentObject *MakeNew() { return TCS_NEW CFilePreferences; }

CFilePreferences();
virtual ~CFilePreferences() {}

virtual NeoID GetDBClassID(void) const { return id_FilePrefs; }
virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const;

virtual void CopyFrom(DB_PersistentObject */*source*/, const UInt8 /*copyFlags*/ = 0) {}
// only one object, so we never need to copy

virtual Boolean GetMemberValue(const TagType aTag, const TagType aType,
void *aValue) const;
virtual Boolean SetMemberValue(const TagType aTag, const TagType aType,
const void *aValue);

virtual void ReadObject(CNeoStream *aStream, const TagType aTag);
virtual void WriteObject(CNeoStream *aStream, const TagType aTag);

virtual void FinishNonViewerCreate();

virtual CTextString GetValidationString() const { return mValidationString; }

virtual Boolean NeedsName() const { return false; } // TCS 2/3/01
virtual Boolean ForbidDuplicateNames() const { return false; } // TCS 7/25/01
virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;

virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }

protected:
CTextString mValidationString; // TCS 2/25/00 replaced SValidationBlock
UInt32 mBackupFileCount,
mFutureLong;

CDate mBackupTime,
mPostingTime; // currently unused

UInt8 mBackupType,
mPostingType, // currently unused
mExportFileType, // TCS 8/15/00
mCountry, // TCS 1/5/01
mExpansion;

// *** NEVER insert members before this bitfield!!!
UInt8 mExportAsDecimal:1,
mIncludeObjectID:1,
mParseImportText:1, // TCS 4/10/00
mImportModDates:1, // TCS 4/25/00
mImportAFWPaths:1, // TCS 3/28/01
mSaveExportOrder:1, // TCS 5/2/01
mExportWithTags:1,
mBypassFieldOrderDialog:1;

// *** NEVER insert members before this bitfield!!!
UInt8 mWarnMissingObjects:1, // TCS 8/10/01
mCompressFile:1, // TCS 6/18/02
mExportWinReturns:1, // TCS 9/11/02
mFutureEnum1:5;

UInt8 mFutureEnum2,
mFutureEnum3,
mFutureEnum4;

// calculated members
TagType mEndSafetyTag; // TCS 9/8/02

enum
{
cCopyFileLength = 0,

cFileLength = cCopyFileLength +
2*sizeof(UInt32) +
2*sizeof(CDate) +
10*sizeof(UInt8) +
sizeof(TagType)
};
};