Link to: header | prefs
directory
Copyright Turtle Creek Software 1996-2006. All Rights Reserved.
Comments
CInterfacePreferences
This class manages interface preferences for the Goldenseal accounting software,
small business management software, construction
project management software and
construction
accounting software.
It's the storage object for interface preferences. This will be data storage for all
the little quirks that users may want to reset. It starts out with a lot
of empty storage area so we can fill in values as people complain.
SUPERCLASS = DB_PersistentObject
Constructor
/******************************************************************************
default constructor
******************************************************************************/
CInterfacePreferences::CInterfacePreferences()
{
mBillingStartValue = filter_material;
mJobCostStartFilter = filter_projects;
mJobCostStartDetails = details_categories;
mDepositBankClass = 0;
mPayrollBankClass = 0;
mPayBillsBankClass = 0;
mPayrollCheckbook = 0;
mPayBillsCheckbook = 0;
mDepositStartFilter = 0;
mEnum10 = mEnum11 = mEnum12 = 0;
mEnum13 = mEnum14 = mEnum15 = 0;
mEnum16 = mEnum17 = mEnum18 = 0;
mEnum19 = 0;
mWarnMissingCalculators = false; // TCS 10/28/02
mEnum20 = 0;
mOverdueCutoff = 30;
mOverdueCutoff2 = 60;
mOverdueCutoff3 = 90;
mActionTablePrintRows = 25;
mDefaultFont = TCS_GetSystemFont(); // TCS 10/18/02 rev 7/1/03
mDefaultReportFont = TCS_GetSystemFont(); // TCS 10/29/02 rev 7/1/03
mShort4 = 0;
mDepositBankAccount = 0;
mPayrollBankAccount = 0;
mPayBillsBankAccount = 0;
mLong7 = mLong8 = mLong9 = 0;
mLong10 = mLong11 = mLong12 = 0;
mLong13 = mLong14 = mLong15 = 0;
mLong16 = 0;
mPrintInColor = false;
mAskBeforeAccountChange = false; // TCS 2/5/03
mAskBeforeTransChange = false; // TCS 2/25/00
mOpenToEmpty = false; // TCS 3/30/00
mShowReminderAlerts = false;
mStartProjectBillsChecked = false; // TCS 7/27/01
mUseRequiredFields = false;
mAllowListDeletion = false;
mPlaySounds = true; // TCS 12/17/00
mShowWatermark = true;
mWarnOfUnfinished = true;
mShowHelpText = true;
mStartPayBillsChecked = true; // TCS 7/27/01
mStartPayrollChecked = true;
mStartSaleBillsChecked = true;
mWarnOfLowMemory = true; // TCS 9/10/01
mUseCustomDimensions = false; // TCS 3/10/03
mSortCategoryNames = false; // TCS 7/19/03
mBoolean16 = true;
mEndSafetyTag = tag_endsafetytag; // TCS 9/8/02
}
Source Code
/*********************************************************************************
GetFileLength
return the file length used by this object
*********************************************************************************/
NeoSize CInterfacePreferences::GetFileLength(const CNeoFormat *aFormat) const
{
return THE_SUPERCLASS::GetFileLength(aFormat) +
ARRAY_FILE_SIZE(mLayoutSettingsArray) +
mCreatorName.FileLength(cMenuTextLen) +
mValidationString.LongFileLength(cMaximumTextLen) + // rev TCS 9/8/02
cFileLength;
}
/*********************************************************************************
GetMemberValue
get the next number for an item
*********************************************************************************/
Boolean CInterfacePreferences::GetMemberValue(const TagType aTag, const TagType aType,
void *aValue) const
{
switch (aTag)
{
case tag_paybillstartfilter:
return ConvertEnumMember(mBillingStartValue, MENU_PayBillsOptions, aValue, aType);
break;
case tag_jobcoststartfilter: // TCS 12/4/00
return ConvertEnumMember(mJobCostStartFilter, MENU_PayBillsOptions, aValue, aType);
break;
case tag_jobcoststartdetails: // TCS 12/4/00
return ConvertEnumMember(mJobCostStartDetails, MENU_PayBillsOptions, aValue, aType);
break;
case tag_depositstartfilter: // TCS 5/8/01
return ConvertEnumMember(mDepositStartFilter, MENU_PayBillsOptions, aValue, aType);
break;
case tag_depositbankclass: // TCS 5/7/01
return ConvertEnumMember(mDepositBankClass, MENU_AccountClasses, aValue, aType);
break;
case tag_payrollbankclass: // TCS 5/7/01
return ConvertEnumMember(mPayrollBankClass, MENU_AccountClasses, aValue, aType);
break;
case tag_paybillsbankclass: // TCS 5/7/01
return ConvertEnumMember(mPayBillsBankClass, MENU_AccountClasses, aValue, aType);
break;
case tag_payrollcheckbook: // TCS 5/7/01
return ConvertMember(&mPayrollCheckbook, type_enum, aValue, aType);
break;
case tag_paybillscheckbook: // TCS 5/7/01
return ConvertMember(&mPayBillsCheckbook, type_enum, aValue, aType);
break;
case tag_font: // TCS 10/18/02
return ConvertMember(&mDefaultFont, type_short, aValue, aType);
break;
case tag_reportfont: // TCS 10/29/02
return ConvertMember(&mDefaultReportFont, type_short, aValue, aType);
break;
case tag_depositbankaccount: // TCS 5/7/01
return ConvertMember(&mDepositBankAccount, type_long, aValue, aType);
break;
case tag_payrollbankaccount: // TCS 5/7/01
return ConvertMember(&mPayrollBankAccount, type_long, aValue, aType);
break;
case tag_paybillsbankaccount: // TCS 5/7/01
return ConvertMember(&mPayBillsBankAccount, type_long, aValue, aType);
break;
case tag_overduecutoff: // TCS 1/1/01
return ConvertMember(&mOverdueCutoff, type_long, aValue, aType);
break;
case tag_overduecutoff2: // TCS 1/1/01
return ConvertMember(&mOverdueCutoff2, type_long, aValue, aType);
break;
case tag_overduecutoff3: // TCS 1/1/01
return ConvertMember(&mOverdueCutoff3, type_long, aValue, aType);
break;
case tag_tableprintrows: // TCS 9/23/02
return ConvertMember(&mActionTablePrintRows, type_short, aValue, aType);
break;
/*case tag_defaultwindowheight: // TCS 4/11/01
return ConvertMember(&mDefaultWindowHeight, type_short, aValue, aType);
break;*/
/*case tag_defaultwindowwidth: // TCS 4/11/01
return ConvertMember(&mDefaultWindowWidth, type_short, aValue, aType);
break;*/
case tag_playsoundatsave: // TCS 12/18/00
return ConvertBitFieldMember(mPlaySounds, aValue, aType);
break;
case tag_printincolor: // TCS 12/18/00
return ConvertBitFieldMember(mPrintInColor, aValue, aType);
break;
case tag_showwatermark: // TCS 12/19/00
return ConvertBitFieldMember(mShowWatermark, aValue, aType);
break;
case tag_askbeforeaccountchange: // TCS 2/5/03
return ConvertBitFieldMember(mAskBeforeAccountChange, aValue, aType);
break;
case tag_askbeforetranschange:
return ConvertBitFieldMember(mAskBeforeTransChange, aValue, aType);
break;
case tag_opentoempty:
return ConvertBitFieldMember(mOpenToEmpty, aValue, aType);
break;
case tag_warnunfinished: // TCS 2/2/01
return ConvertBitFieldMember(mWarnOfUnfinished, aValue, aType);
break;
/*case tag_canleaveunfinished: // TCS 2/2/01
return ConvertBitFieldMember(mCanLeaveUnfinished, aValue, aType);
break;*/
case tag_showreminderalerts: // TCS 2/3/01
return ConvertBitFieldMember(mShowReminderAlerts, aValue, aType);
break;
case tag_userequiredfields: // TCS 4/12/01
return ConvertBitFieldMember(mUseRequiredFields, aValue, aType);
break;
case tag_startprojectbillschecked: // TCS 7/27/01
return ConvertBitFieldMember(mStartProjectBillsChecked, aValue, aType);
break;
case tag_startsalebillschecked: // TCS 7/27/01
return ConvertBitFieldMember(mStartSaleBillsChecked, aValue, aType);
break;
case tag_startpaybillschecked: // TCS 7/27/01
return ConvertBitFieldMember(mStartPayBillsChecked, aValue, aType);
break;
case tag_startpayrollchecked: // TCS 7/27/01
return ConvertBitFieldMember(mStartPayrollChecked, aValue, aType);
break;
case tag_warnlowmemory: // TCS 9/10/01
return ConvertBitFieldMember(mWarnOfLowMemory, aValue, aType);
break;
case tag_allowlistdelete: // TCS 6/26/02
return ConvertBitFieldMember(mAllowListDeletion, aValue, aType);
break;
case tag_warnmissingcalc: // TCS 10/28/02
return ConvertBitFieldMember(mWarnMissingCalculators, aValue, aType);
break;
case tag_showhelptext: // TCS 11/20/02
return ConvertBitFieldMember(mShowHelpText, aValue, aType);
break;
case tag_usecustomdimensions: // TCS 3/10/03
return ConvertBitFieldMember(mUseCustomDimensions, aValue, aType);
break;
case tag_sortcategorynames: // TCS 7/19/03
return ConvertBitFieldMember(mSortCategoryNames, aValue, aType);
break;
default:
return THE_SUPERCLASS::GetMemberValue(aTag, aType, aValue);
break;
}
}/*********************************************************************************
SetMemberValue
set the value of the member with the given tag
*********************************************************************************/
Boolean CInterfacePreferences::SetMemberValue(const TagType aTag, const TagType aType,
const void *aValue)
{
switch (aTag)
{
case tag_paybillstartfilter:
return ConvertMember(aValue, aType, &mBillingStartValue, type_enum);
break;
case tag_jobcoststartfilter: // TCS 12/4/00
return ConvertMember(aValue, aType, &mJobCostStartFilter, type_enum);
break;
case tag_depositstartfilter: // TCS 5/8/01
return ConvertMember(aValue, aType, &mDepositStartFilter, type_enum);
break;
case tag_jobcoststartdetails: // TCS 12/4/00
return ConvertMember(aValue, aType, &mJobCostStartDetails, type_enum);
break;
case tag_depositbankclass: // TCS 5/7/01
return ConvertMember(aValue, aType, &mDepositBankClass, type_enum);
break;
case tag_payrollbankclass: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayrollBankClass, type_enum);
break;
case tag_paybillsbankclass: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayBillsBankClass, type_enum);
break;
case tag_payrollcheckbook: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayrollCheckbook, type_enum);
break;
case tag_paybillscheckbook: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayBillsCheckbook, type_enum);
break;
case tag_font: // TCS 10/18/02
return ConvertMember(aValue, aType, &mDefaultFont, type_short);
break;
case tag_reportfont: // TCS 10/29/02
return ConvertMember(aValue, aType, &mDefaultReportFont, type_short);
break;
case tag_depositbankaccount: // TCS 5/7/01
return ConvertMember(aValue, aType, &mDepositBankAccount, type_long);
break;
case tag_payrollbankaccount: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayrollBankAccount, type_long);
break;
case tag_paybillsbankaccount: // TCS 5/7/01
return ConvertMember(aValue, aType, &mPayBillsBankAccount, type_long);
break;
case tag_overduecutoff: // TCS 1/1/01
return ConvertMember(aValue, aType, &mOverdueCutoff, type_long);
break;
case tag_overduecutoff2: // TCS 1/1/01
return ConvertMember(aValue, aType, &mOverdueCutoff2, type_long);
break;
case tag_overduecutoff3: // TCS 1/1/01
return ConvertMember(aValue, aType, &mOverdueCutoff3, type_long);
break;
case tag_tableprintrows: // TCS 9/23/02
return ConvertMember(aValue, aType, &mActionTablePrintRows, type_short);
break;
/*case tag_defaultwindowheight: // TCS 4/11/01
return ConvertMember(aValue, aType, &mDefaultWindowHeight, type_short);
break;*/
/*case tag_defaultwindowwidth: // TCS 4/11/01
return ConvertMember(aValue, aType, &mDefaultWindowWidth, type_short);
break;*/
case tag_playsoundatsave: // TCS 12/18/00
mPlaySounds = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_printincolor: // TCS 12/18/00
mPrintInColor = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_showwatermark: // TCS 12/19/00
mShowWatermark = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_askbeforeaccountchange: // TCS 2/5/03
mAskBeforeAccountChange = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_askbeforetranschange:
mAskBeforeTransChange = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_opentoempty:
mOpenToEmpty = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_warnunfinished: // TCS 2/2/01
mWarnOfUnfinished = ConvertDataToBitField(aValue, aType);
return true;
break;
/*case tag_canleaveunfinished: // TCS 2/2/01
mCanLeaveUnfinished = ConvertDataToBitField(aValue, aType);
return true;
break;*/
case tag_showreminderalerts: // TCS 2/3/01
mShowReminderAlerts = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_userequiredfields: // TCS 4/11/01
mUseRequiredFields = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_startprojectbillschecked: // TCS 7/27/01
mStartProjectBillsChecked = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_startsalebillschecked: // TCS 7/27/01
mStartSaleBillsChecked = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_startpaybillschecked: // TCS 7/27/01
mStartPayBillsChecked = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_startpayrollchecked: // TCS 7/27/01
mStartPayrollChecked = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_warnlowmemory: // TCS 9/10/01
mWarnOfLowMemory = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_allowlistdelete: // TCS 6/26/02
mAllowListDeletion = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_warnmissingcalc: // TCS 10/28/02
mWarnMissingCalculators = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_showhelptext: // TCS 11/20/02
mShowHelpText = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_usecustomdimensions: // TCS 3/10/03
mUseCustomDimensions = ConvertDataToBitField(aValue, aType);
return true;
break;
case tag_sortcategorynames: // TCS 7/19/03
mSortCategoryNames = ConvertDataToBitField(aValue, aType);
return true;
break;
default:
return THE_SUPERCLASS::SetMemberValue(aTag, aType, aValue);
break;
}
}/*********************************************************************************
ReadObject
read the persistent object's data in from a stream
*********************************************************************************/
void CInterfacePreferences::ReadObject(CNeoStream *aStream, const TagType aTag)
{
TCS_FailNILMsg(aStream, TCS_GetErrString(errID_BadStream));
CNeoDebugImport checker(aStream, this, cCheckTooSmall); // TCS 2/24/00
THE_SUPERCLASS::ReadObject(aStream, aTag);
if (!IsIOValid()) // TCS 2/5/02
return;
ReadLayoutArrayFromStream(aStream, mLayoutSettingsArray, cHasSafetyTag); // TCS 6/23/02
ReadTextFromStream(aStream, &mCreatorName);
ReadLongTextFromStream(aStream, &mValidationString);
/// aStream->ReadChunk(&mBillingStartValue, cFileLength);
mBillingStartValue = aStream->ReadChar(); // mfs_sa rev 20feb2k3
mJobCostStartFilter = aStream->ReadChar();
mJobCostStartDetails = aStream->ReadChar();
mDepositBankClass = aStream->ReadChar();
mPayrollBankClass = aStream->ReadChar();
mPayBillsBankClass = aStream->ReadChar();
mPayrollCheckbook = aStream->ReadChar();
mPayBillsCheckbook = aStream->ReadChar();
mDepositStartFilter = aStream->ReadChar();
mEnum10 = aStream->ReadChar();
mEnum11 = aStream->ReadChar();
mEnum12 = aStream->ReadChar();
mEnum13 = aStream->ReadChar();
mEnum14 = aStream->ReadChar();
mEnum15 = aStream->ReadChar();
mEnum16 = aStream->ReadChar();
mEnum17 = aStream->ReadChar();
mEnum18 = aStream->ReadChar();
mEnum19 = aStream->ReadChar();
*((UInt8*)&mEnum19 + sizeof(mEnum19)) = aStream->ReadBits(3); // --Bitfield
mActionTablePrintRows = aStream->ReadUShort();
mDefaultFont = aStream->ReadUShort();
mDefaultReportFont = aStream->ReadUShort();
mShort4 = aStream->ReadUShort();
mOverdueCutoff = aStream->ReadLong();
mOverdueCutoff2 = aStream->ReadLong();
mOverdueCutoff3 = aStream->ReadLong();
mDepositBankAccount = aStream->ReadLong();
mPayrollBankAccount = aStream->ReadLong();
mPayBillsBankAccount = aStream->ReadLong();
mLong7 = aStream->ReadLong();
mLong8 = aStream->ReadLong();
mLong9 = aStream->ReadLong();
mLong10 = aStream->ReadLong();
mLong11 = aStream->ReadLong();
mLong12 = aStream->ReadLong();
mLong13 = aStream->ReadLong();
mLong14 = aStream->ReadLong();
mLong15 = aStream->ReadLong();
mLong16 = aStream->ReadLong();
*((UInt8*)&mLong16 + sizeof(mLong16)) = aStream->ReadBits(8); // --Bitfield
*((UInt8*)&mLong16 + sizeof(mLong16) + 1) = aStream->ReadBits(7); // --Bitfield
mEndSafetyTag = aStream->ReadEndSafetyTag(this);
if (!IsValidEndTag(mEndSafetyTag)) // TCS 9/8/02
ReportDamagedObject(GetDBClassID(), GetDBID());
}/*********************************************************************************
WriteObject
write the persistent object's data to a stream
*********************************************************************************/
void CInterfacePreferences::WriteObject(CNeoStream *aStream, const TagType aTag)
{
TCS_FailNILMsg(aStream, TCS_GetErrString(errID_BadStream));
// make sure we have valid data to write TCS 9/8/02
if (!IsValidEndTag(mEndSafetyTag))
{
ReportDamagedObject(GetDBClassID(), GetDBID());
mEndSafetyTag = tag_endsafetytag; // TCS 11/26/02
}
CNeoDebugExport checker(aStream, this, cCheckTooSmall);
THE_SUPERCLASS::WriteObject(aStream, aTag);
WriteLayoutArrayToStream(aStream, mLayoutSettingsArray, cHasSafetyTag); // TCS 6/23/02
WriteTextToStream(aStream, mCreatorName, cMenuTextLen);
WriteLongTextToStream(aStream, mValidationString, cMaximumTextLen);
/// aStream->WriteChunk(&mBillingStartValue, cFileLength);
aStream->WriteChar(mBillingStartValue); // mfs_sa rev 20feb2k3
aStream->WriteChar(mJobCostStartFilter);
aStream->WriteChar(mJobCostStartDetails);
aStream->WriteChar(mDepositBankClass);
aStream->WriteChar(mPayrollBankClass);
aStream->WriteChar(mPayBillsBankClass);
aStream->WriteChar(mPayrollCheckbook);
aStream->WriteChar(mPayBillsCheckbook);
aStream->WriteChar(mDepositStartFilter);
aStream->WriteChar(mEnum10);
aStream->WriteChar(mEnum11);
aStream->WriteChar(mEnum12);
aStream->WriteChar(mEnum13);
aStream->WriteChar(mEnum14);
aStream->WriteChar(mEnum15);
aStream->WriteChar(mEnum16);
aStream->WriteChar(mEnum17);
aStream->WriteChar(mEnum18);
aStream->WriteChar(mEnum19);
aStream->WriteChar(*((UInt8*)&mEnum19 + sizeof(mEnum19))); // --Bitfield
aStream->WriteUShort(mActionTablePrintRows);
aStream->WriteUShort(mDefaultFont);
aStream->WriteUShort(mDefaultReportFont);
aStream->WriteUShort(mShort4);
aStream->WriteLong(mOverdueCutoff);
aStream->WriteLong(mOverdueCutoff2);
aStream->WriteLong(mOverdueCutoff3);
aStream->WriteLong(mDepositBankAccount);
aStream->WriteLong(mPayrollBankAccount);
aStream->WriteLong(mPayBillsBankAccount);
aStream->WriteLong(mLong7);
aStream->WriteLong(mLong8);
aStream->WriteLong(mLong9);
aStream->WriteLong(mLong10);
aStream->WriteLong(mLong11);
aStream->WriteLong(mLong12);
aStream->WriteLong(mLong13);
aStream->WriteLong(mLong14);
aStream->WriteLong(mLong15);
aStream->WriteLong(mLong16);
aStream->WriteChar(*((UInt8*)&mLong16 + sizeof(mLong16))); // --Bitfield
aStream->WriteChar(*((UInt8*)&mLong16 + sizeof(mLong16) + 1)); // --Bitfield
aStream->WriteEndSafetyTag(mEndSafetyTag, this);
}
#if CAN_USE_MARK
#pragma mark -
#endif
/*********************************************************************************
FinishNonViewerCreate TCS 9/8/02
set up after creation. Initialize the validation string
*********************************************************************************/
void CInterfacePreferences::FinishNonViewerCreate()
{
mValidationString.FillWithRandom(cPasswordBlockLen);
}
/*********************************************************************************
CanImportEnum TCS 10/29/02
is the given imported value OK? We override to check fonts for validity
*********************************************************************************/
Boolean CInterfacePreferences::CanImportEnum(const TagType tag, const SInt32 value) const
{
if (tag == tag_font || tag == tag_reportfont)
{
// is it a valid font?
if (!value)
return true; // we accept blanks
else
return TCS_IsValidFont(value); // we accept valid fonts
}
else
return THE_SUPERCLASS::CanImportEnum(tag, value);
}
#if CAN_USE_MARK
#pragma mark -
#endif
/*********************************************************************************
SaveLayoutSettings TCS 6/23/02
we store settings for each layout editor here. Call this to save to disk.
*********************************************************************************/
void CInterfacePreferences::SaveLayoutSettings(const DBid editorID, const DBid popupValue,
const DBid layoutID, const Boolean snapToGrid,
const Boolean drawTabs)
{
SLayoutSettingsInfo info;
SInt32 index = 0;
// check if we already have settings stored here
TLayoutSettingsArrayIterator iterator (mLayoutSettingsArray);
while (iterator.Next(info))
{
if (info.editorID == editorID)
{
index = iterator.GetCurrentIndex();
}
}
// fill in the struct
info.editorID = editorID;
info.popupValue = popupValue;
info.layoutID = layoutID;
info.expansion = 0;
info.snapToGrid = snapToGrid;
info.drawTabs = drawTabs;
info.filler = 0;
info.padding = 0;
DB_ObjectTempRemover remover (this); // TCS 8/26/03
if (remover.WasRemoved())
{
if (index)
mLayoutSettingsArray.AssignItemAt(index, info);
else
mLayoutSettingsArray.Append(info);
}
}/*********************************************************************************
FetchLayoutSettings TCS 6/23/02
return settings for a layout editor, if they have been stored here
*********************************************************************************/
Boolean CInterfacePreferences::FetchLayoutSettings(const DBid editorID, DBid &popupValue,
DBid &layoutID, Boolean &snapToGrid,
Boolean &drawTabs)
{
SLayoutSettingsInfo info;
SInt32 index = 0;
// check if we already have settings stored here
TLayoutSettingsArrayIterator iterator (mLayoutSettingsArray);
while (iterator.Next(info))
{
if (info.editorID == editorID)
{
popupValue = info.popupValue;
layoutID = info.layoutID;
snapToGrid = info.snapToGrid;
drawTabs = info.drawTabs;
// we have stored info, so fill it in.
return true;
}
}
// if we get this far, we don't store settings for this editor
return false;
}
/*********************************************************************************
FillDataReport TCS 9/7/02
fill in a diagnostic table that shows data field values.
*********************************************************************************/
void CInterfacePreferences::FillDataReport(CTCS_Table *table, CNeoStream *stream) const
{
TCS_FailNILMsg(table, TCS_GetErrString(errID_BadTable));
TCS_FailNILMsg(stream, TCS_GetErrString(errID_BadStream));
THE_SUPERCLASS::FillDataReport(table, stream);
FillFieldArrayRow(table, stream, "TLayoutSettingsArray", mLayoutSettingsArray);
FillFieldStringRow(table, stream, "mCreatorName", mCreatorName);
FillFieldStringRow(table, stream, "mDataString", mValidationString, true);
FillFieldEnumRow(table, stream, tag_paybillstartfilter, mBillingStartValue, MENU_PayBillsOptions);
FillFieldEnumRow(table, stream, tag_jobcoststartfilter, mJobCostStartFilter, MENU_PayBillsOptions);
FillFieldEnumRow(table, stream, tag_jobcoststartdetails, mJobCostStartDetails, MENU_PayBillsOptions);
FillFieldTableRow(table, stream, "mDepositBankClass", cCharSize, SInt32(mDepositBankClass));
FillFieldTableRow(table, stream, "mPayrollBankClass", cCharSize, SInt32(mPayrollBankClass));
FillFieldTableRow(table, stream, "mPayBillsBankClass", cCharSize, SInt32(mPayBillsBankClass));
FillFieldTableRow(table, stream, "mPayrollCheckbook", cCharSize, SInt32(mPayrollCheckbook));
FillFieldTableRow(table, stream, "mPayBillsCheckbook", cCharSize, SInt32(mPayBillsCheckbook));
FillFieldTableRow(table, stream, "mDepositStartFilter", cCharSize, SInt32(mDepositStartFilter));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum10));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum11));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum12));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum13));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum14));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum15));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum16));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum17));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum18));
FillFieldStockRow(table, stream, stockID_Expansion, cCharSize, SInt32(mEnum19));
FillFieldBitRow(table, stream, tag_warnmissingcalc, mWarnMissingCalculators, true);
FillFieldBitRow(table, stream, tag_askbeforeaccountchange, mAskBeforeAccountChange);
FillFieldBitRow(table, stream, tag_usecustomdimensions, mUseCustomDimensions);
FillFieldBitRow(table, stream, tag_sortcategorynames, mSortCategoryNames);
FillFieldStockRow(table, stream, stockID_Expansion, -4, SInt32(mEnum20));
FillFieldTagRow(table, stream, tag_tableprintrows, cShortSize, SInt32(mActionTablePrintRows));
FillFieldTagRow(table, stream, tag_font, cShortSize, SInt32(mDefaultFont));
FillFieldTagRow(table, stream, tag_font, cShortSize, SInt32(mDefaultReportFont));
FillFieldStockRow(table, stream, stockID_Expansion, cShortSize, SInt32(mShort4));
FillFieldTagRow(table, stream, tag_overduecutoff, cLongSize, mOverdueCutoff);
FillFieldTagRow(table, stream, tag_overduecutoff2, cLongSize, mOverdueCutoff2);
FillFieldTagRow(table, stream, tag_overduecutoff3, cLongSize, mOverdueCutoff3);
FillFieldTableRow(table, stream, "mDepositBankAccount", cLongSize, mDepositBankAccount);
FillFieldTableRow(table, stream, "mPayrollBankAccount", cLongSize, mPayrollBankAccount);
FillFieldTableRow(table, stream, "mPayBillsBankAccount", cLongSize, mPayBillsBankAccount);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong7);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong8);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong9);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong10);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong11);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong12);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong13);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong14);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong15);
FillFieldStockRow(table, stream, stockID_Expansion, cLongSize, mLong16);
FillFieldBitRow(table, stream, tag_printincolor, mPrintInColor, true);
FillFieldBitRow(table, stream, tag_askbeforetranschange, mAskBeforeTransChange);
FillFieldBitRow(table, stream, tag_opentoempty, mOpenToEmpty);
FillFieldBitRow(table, stream, tag_showreminderalerts, mShowReminderAlerts);
FillFieldBitRow(table, stream, tag_startprojectbillschecked, mStartProjectBillsChecked);
FillFieldBitRow(table, stream, tag_userequiredfields, mUseRequiredFields);
FillFieldBitRow(table, stream, tag_warnlowmemory, mWarnOfLowMemory);
FillFieldBitRow(table, stream, tag_allowlistdelete, mAllowListDeletion);
FillFieldBitRow(table, stream, tag_playsoundatsave, mPlaySounds, true);
FillFieldBitRow(table, stream, tag_showwatermark, mShowWatermark);
FillFieldBitRow(table, stream, tag_warnunfinished, mWarnOfUnfinished);
FillFieldBitRow(table, stream, tag_showhelptext, mShowHelpText);
FillFieldBitRow(table, stream, tag_startpaybillschecked, mStartPayBillsChecked);
FillFieldBitRow(table, stream, tag_startpayrollchecked, mStartPayrollChecked);
FillFieldBitRow(table, stream, tag_startsalebillschecked, mStartSaleBillsChecked);
FillFieldStockRow(table, stream, stockID_Expansion, -1, SInt32(mBoolean16));
FillEndSafetyTag(table, stream, mEndSafetyTag);
}
|